Rename refactoring
Ctrl+R, R
This refactoring allows you to change name of any symbol defined in your solution. All references to and usages of the symbol are updated automatically.
Using the refactoring for different C# entities
Here is the list of C# entities that you can rename with this refactoring:
- Namespace
You can also change its nesting level of the namespace. For example, you can rename namespaceA.B.C
toA.D
. - Type
If the renamed type is located in file with the same name, Rider renames the file, too.
If the renamed type is a part of a hierarchy of types with similar names, e.g.class Foo : IFoo
, you will be able to choose whether to rename the related types. - Method
If the method is a part of inheritance/implementation hierarchy, the related methods are renamed as well.
If the method has overloads, you will be able to choose whether to rename the overloads. - Field
If the field is used in a property with a matching name, you will be able to choose whether to rename the property. - Property
If the property has a backing field with a matching name, you will be able to rename the field as well. - Parameter
If the method is a part of inheritance/implementation hierarchy, or has overloads with a parameter of the same name and type, you will be able to rename parameters in the related methods, too. - Local variable
Rider renames local variables without the dialog: - Event
- Delegate
Invoking the refactoring with a command
To rename a symbol and update all references and usages
- Select a symbol in one of the following ways:
- In the editor, set the caret at the name of a symbol.
- Select a symbol in the Structure window.
- Do one of the following: The Rename dialog will open.
- Type a new name for the symbol or use one of the suggested names.
- Rider can provide the list of related symbols in comments and string literals and rename them on demand. If you need it, select the Search in comments and string literals.
- Click Next. If there are nothing related to the renamed symbol, Rider applies the refactoring. Otherwise, the wizard displays additional steps:
- If there are related symbols with similar names, they are listed on the following step: Select related symbols that you want to rename along with the selected symbol - you can accept the suggested names or specify new names in the New Name column.
- If you have previously selected Search in comments and string literals and occurrences of the symbol name is found, they are listed on the following step: Select textual occurrences that you want Rider to rename.
- If no conflicts are found, Rider performs the refactoring immediately. Otherwise, it prompts you to resolve conflicts.
Performing the refactoring in-place
You can rename a symbol by modifying its declaration right in the editor and then applying a quick-fix to invoke the solution-wide refactoring.
As soon as you change symbol's name at its declaration, a grey border appears around the name, notifying you that the refactoring is available. You can press Alt+Enter to find the refactoring in the action list: