Even if NR6Pack already brings more than 150 C# analyzers and refactorings from NRefactory to Visual Studio: There are still many more, which haven't been ported to Roslyn yet. Therefore we invite developers to "adopt" unported code issues and help us with extending NR6Pack with new cool features!
What do you need to participate?
- Have a look at our list of unported code actions and issues. Especially interesting items are marked in bold. If possible, please prefer one of these.
- Check if somebody has already created a GitHub issue for porting your chosen item. If no GitHub issue exists, please add one (something like "Port of <XYZ>Issue to Roslyn") and assign it to yourself. If it already exists, but has no assignee, feel free to take it over.
- Start porting :-)
Integration of analyzers has been described here. Unported code issues are already part of ICSharpCode.NRefactory6.CSharp.Refactoring project, but they still need to be linked into NR6Pack project additionally. Unported code issues always contain their old code (based on NRefactory 5) as comment. So porting means understanding that code and reimplementing it with Roslyn API. You can use other finished analyzers and refactorings as orientation.
- Don't forget to reactivate the appopriate unit test, too! Tests of inactive refactorings are currently marked as "Ignore". Unit tests are very helpful anyway for understanding how a refactoring should behave and for later testing of your work.
- Finally create a GitHub push request with your changes. We will review and merge it, if it's alright.
We're looking forward to your collaboration! And if you have more questions, please ask them in our forum or on GitHub.