Refactorings for CSS
Refactorings for CSS styles help you you quickly move CSS styles to and between stylesheets or create a new stylesheet on the fly and move the styles there. You can also rename CSS classes and their usages in a few clicks.
ReSharper provides the following refactorings for CSS:
To perform a refactoring
- Set your caret at a symbol, select a code fragment that you want to refactor, or select an item in a tool window.
Do one of the following:
- On the main menu, choose , and then select a desired refactoring.
- In the editor, File Structure Window, or other ReSharper window, right-click the item you want to transform, choose Refactor from the context menu, and then select the required refactoring.
- On the main menu, choose Refactor This in the context menu of a selection. , or press Ctrl+Shift+R to display the list of applicable refactorings, and select one of them. You can also choose
- If a refactoring could fix a code issue that ReSharper detects and highlights in the editor, the corresponding action indicator appears to the left of the code issue. You can click on this indicator or press Alt+Enter to check the suggested refactoring and apply if if necessary.
- Use default keyboard shortcuts assigned to specific refactorings, or assign custom shortcuts to your favorite refactorings.
If the selected refactoring requires user input,
the refactoring wizard opens. Note that the wizard's dialog boxes are not modal,
so you can edit the code while the wizard is open.
To roll back refactoring actions, the wizard provides the option To enable Undo, open all files with changes for editing. If you select this option, ReSharper opens all modified files in new editor tabs and enables you to roll the refactoring back. In this case, you will need to save the changes yourself. If this option is not selected, ReSharper saves modified files automatically, without opening them.
- If a refactoring operation would cause code conflicts (such as duplicate names, visibility conflicts, etc.), the wizard displays the list of conflicts on the last step, before you apply the refactoring. For some conflicts, the wizard can also suggest quick-fixes. For more information, see Resolving Conflicts in Refactorings.
Some refactorings are available immediately after you modify code in the editor. For more information, see Inplace Refactorings
To create a new style rule based on the existing one, use the Extract style refactoring. In the Extract style dialog specify selector(s) and select properties to be extracted. After applying the refactoring, a new style rule is created and inserted exactly after the original rule.
If you reorganise the structure of CSS files and want to move some style rules to other files, use the Move refactoring. Choose a style rule you want to move, place the caret at a selector or within the declaration block, then invoke the refactoring. The Move dialog opens. Use Target file drop-down list to specify the file where the chosen style rule should be moved. If there is no such file, click Create to create a new style sheet. Then click Next.
ReSharper provides the Rename refactoring for CSS. It allows you to rename a class selector or an ID selector. No matter where you invoke the refactoring, at a declaration or a usage, in a css file or a markup file. The name of the selector will be changed everywhere by default or where you specify. As usual ReSharper prudently informs you about all occurrences and prompts you to choose the usages that should be changed.