How to Add New Refactoring
tip
See Contributing with agent skills and the add-refactoring skill in the roslynator repo.
Discuss the Idea
Start by opening an issue to describe your idea. Once maintainers approve it, you can begin implementation.
Add Metadata
Add refactoring metadata to Refactorings.xml. A template is available.
See the metadata reference for details.
Generate Code
Run tools/generate_code.ps1, or open the CodeGenerator project in Visual Studio.
Implement Refactoring
Go to class RefactoringContext and find a class where new refactoring can be added (or add a new class).
Add Tests
- Add new file to a folder Refactorings.Tests. Convention is to name the file
[Id][Identifier]Tests.cs.
tip
In test code, [| and |] mark the start and end of the selected text.
Update Changelog
CHANGELOG.md
### Added
- Add refactoring "REFACTORING_TITLE" ([REFACTORING_ID](https://josefpihrt.github.io/docs/roslynator/refactorings/REFACTORING_ID)) ([#PR_ID](https://github.com/dotnet/roslynator/pull/PR_ID))
- Add some description if necessary ...