Rider Help

Safe Delete refactoring

Ctrl+R, D

If you are going to delete any other symbol or a project/assembly reference use this refactoring to ensure that the solution will compile after the deletion. If there are no references to the deleted item, or if all references are safely collapsible, the item will be deleted right away. Otherwise, Rider will show you all the references that are not safe to delete, allowing you to edit the corresponding code. If there are any empty files left after removing the symbol, the refactoring can also remove these files.

In this topic:

To safely delete a symbol

  1. 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.
  2. Do one of the following:
    • Press Ctrl+R, D.
    • Press Ctrl+Shift+R and then choose Safe Delete
    • Choose Refactor | Safe Delete in the main menu.
    The Safe Delete dialog will open.
  3. If the symbol has base symbols or inheritors or both, Rider prompts you to specify which symbols should be removed.
    In case of a type, you can delete the type and all its inheritors.
    In case of a polymorphic method or property, you can delete the base members as well by choosing one of the following options:
    • Remove the whole hierarchy: the selected member, all bases symbols and all its inheritors
    • Remove the selected member and all its inheritors
    • Remove the single member of the hierarchy, i.e. the selected member
    Rider. Safe Delete refactoring
  4. To apply the refactoring, click Next.
  5. If no usages are found, the symbol is deleted immediately. Otherwise, the detected conflicts are shown in the next steep of the refactoring wizard and you will need to resolve the conflicts manually.

To safely delete project/assembly references

  1. In the Solution Explorer, select one or more references you want to delete.
  2. Do one of the following:
    • Press Ctrl+R, D.
    • Press Ctrl+Shift+R and then choose Safe Delete
    • Choose Refactor | Safe Delete in the main menu.
  3. If only unused references are selected, the refactoring is performed immediately. Otherwise, the Safe Delete Assembly Reference dialog appears with all usages of symbols from the projects/assemblies being deleted. You can click on each usage to navigate to the source code and see if you can delete it. The list of usages in the dialog is updated automatically as you change the code.
  4. As soon as there are no more usages in the dialog, you can click Next to complete the deletion.
  5. If you want to delete the selected assembly references and get rid of the usages later, clear the Remove only unused references anc click Next.

There are two more ways of cleaning project and assembly references.

  • You can invoke the Optimize References command, which will let you analyze all references and remove unused ones.
  • You can invoke the Remove Unused References command on the project or on the References node in the Solution Explorer.
Last modified: 11 October 2017

See Also