Auto-implemented properties (also known auto-properties) allow declaring type properties that do not have additional logic in a simpler way. By default, ReSharper encourages using of auto-properties when possible, but this behavior is configurable.
If you do not want ReSharper to suggest this, you can disable the code inspection that detects it (Convert property to auto-property). In this case, properties with backing fields are not highlighted and quick-fixes are not suggested, but you can still apply the conversion with the context action or with the corresponding refactoring:
The reverse functionality of converting existing auto-properties to properties with backing field is also available with the corresponding context action. You can also generate default bodies for property accessors using the To compound property context action:
Another option to convert properties to auto-properties in a bulk mode is code cleanup. You can either run code cleanup with the default profile Default: Full Cleanup or run the cleanup with a custom profile solely targeted at your specific task as described below.
To convert properties to auto-properties with custom code cleanup profile
- Select in the main menu.
- Go to the Code Cleanup settings page: .
- Create a new profile as described in the Code Cleanup section. In the Selected profile settings section for the new profile, tick the Use auto-property, if possible check box. Optionally, you can enable other code cleanup tasks in this profile.
- Click Save to apply the modifications and let ReSharper choose where to save them, or save the modifications to a specific settings layer using the Save To drop-down list. For more information, see managing and sharing resharper settings.
- Select the scope where you want to use auto-properties:
- Set the caret anywhere in the file to use auto-properties to the file.
- Select one or more items in the Solution Explorer to use auto-properties in the files under these nodes and their child items.
- Do one of the following:
- Press Ctrl+Alt+F or choose from the main menu.
- Right-click anywhere in the text editor or right-click the selection and choose Cleanup Code in the context menu.
- In the Code Cleanup dialog that opens, select the newly created profile.
- Click Run. ReSharper will use auto-properties in the selected scope.
If you want to convert properties to auto-properties without opening the Code Cleanup dialog, you can bind the created profile to the silent cleanup and run it simply by pressing Ctrl+Shift+Alt+F. You can also create a custom cleanup profile that would combine converting to auto-properties with other code style tasks.
This feature is supported in the following languages and technologies:
- Naming Style
- Managing and Applying Code Formatting Rules
- File and Type Layout
- File Header Style
- Code Syntax Style: Namespace Imports
- Code Syntax Style: Implicit/Explicit Typing ('var' Keyword)
- Using Auto-Properties
- Making Fields Readonly
- Code Syntax Style: Multiple Attributes
- Code Syntax Style: Modifiers
- Code Syntax Style: Optional Member Qualifiers
- Reformatting XML Doc Comments
- Removing Code Redundancies