ReSharper 2023.2 Help

Quick-start tips

Look and feel

  • You can change colors for everything ReSharper brings into Visual Studio editor. Go to Tools | Options | Environment | Fonts and Colors and find items starting with ReSharper.

  • You can change ReSharper keyboard bindings for any action: go to Tools | Options | Environment | Keyboard and find items starting with ReSharper.

  • In Visual Studio 2012 and later, you can use the Quick Launch feature to search and execute ReSharper commands.

  • While in the editor, press Alt+Enter and then start typing the name of a ReSharper command that you want to execute (more...).

  • Trying to learn ReSharper shortcuts? First, decide which of the two default shortcut schemes is more convenient to you. Then, use the selector in the right-upper corner of this page to switch shortcuts in help; or download and print a PDF version Visual Studio scheme or IntelliJ IDEA scheme.

Code in the editor

  • As soon as you've typed a method signature, for example public void Foo(string input, press Control+Shift+Enter to insert all syntax elements that should follow and get in the position where you can continue typing (more...).

  • Do you want to surround some code with a try...catch? Select a logical code block with Control+W, press Alt+Enter and then choose a template under Surround with....

  • You can select a block of code and use Ctrl+Alt+Shift + Arrow keys to move this block around (more...).

  • You can view recent clipboard entries with Control+Shift+V and select the one you want to paste (more...).

  • If you open parameter info popup Control+P, you can use Control+P / Control+Alt+Shift+Space to jump to next/previous signature.

  • Enum completion will automatically insert the Enum type as the prefix. No need to spell it out!

  • Enums completion is CamelHumps-powered. Try typing StringComparison c = oic.

  • With String.Format, you can add a placeholder where the caret is. Just hit Alt+Enter and choose Insert format argument (more...).

  • If a string literal is too long, hit Enter and ReSharper will automatically put the part of it to the next line and insert the + sign. Delete the + and the string parts will be back together (more...).

  • Moving a property up 3 lines using cut/paste? There is a simpler way to do it: place your caret at the property, press Ctrl+Shift+Alt and use the up arrow key.

  • Check out other typing assistance features.

Analyze code

  • Using [NotNull] and [CanBeNull] attributes can help you find NullReferenceException even before running your code (more...).

  • Right-click a file, project, solution folder or entire solution in the Solution Explorer and select Find Code Issues to see errors, warnings, and suggestions for the selected item (more...).

  • Bothered with a highlighted code issue? Press Alt+Enter while you at the highlighted code and select Inspection [name of inspection], then you can choose to suppress the issue with comment or attribute or disable the corresponding code inspection.

  • You can suppress all inspections with a single comment — mark code with // ReSharper disable All and ReSharper will not complain about anything until it meets the corresponding // ReSharper restore All.

  • ReSharper's solution-wide analysis resolves visibility issues: you'll see if an internal member is used outside of its assembly and you'll never miss a single unused non-private member.

  • You can exclude files by masks from code analysis on the Code Inspection | Settings page of ReSharper options ( Alt+R, O ).

  • You can go to the next/previous code issue in the file by pressing F12 / Shift+F12.

  • To find all localizable strings in your solution, set Localizable=Yes and Localizable Inspector=Pessimistic for the relevant projects, then find any such string, which will be highlighted with curly underline. Press Alt+Enter on it and choose Inspection 'Element is localizable' | Find similar issues.... (more...).

Traverse code

  • You can press Control+N to quickly locate a type, method, or basically everything, while Shift+Control+N lets you locate files without other suggestions.

  • Place your caret at a using (or import if you work with VB.NET) directive and press Alt+F7. ReSharper will show where exactly this namespace is used (Find Usages of Symbols).

  • Forgot where you were editing just now? Go to last edit location with Shift+Control+Backspace.

  • Want to locate where the current symbol is declared real fast? Press Control+B or just right-click the symbol.

  • Go to containing declaration (Control+[) can be used with Shift to select the whole declaration

  • When locating CustomerServicesTest using Control+N or any other navigation command, you don't need to type the whole thing. Just use CamelHumps and type cst.

  • Control+U takes you to the base type and Alt+Control+B takes you to inheritors of the current type.

  • Do you want to move to the next member in a class? Alt+ArrowDown will take you there; Alt+ArrowUp will bring you back (more...).

  • Search for anything (usages, implementations, code external to scope and so on) fetches to the Find Results window. Use it then to navigate between search results with F8/Shift+F8 (more...).

  • In source code, Alt+Shift+L selects the current file in the Solution Explorer; in decompiled sources, it opens the Assembly Explorer window focused on the current type (more...).

  • To explore the stack trace that is currently in your clipboard, just press Control+Shift+E.

  • Start typing in any ReSharper tool window and the content will narrow down to matching items. CamelHumps matching works there as well.

  • Use Go To File Shift+Control+N to locate specific project in the Solution Explorer - just select a .csproj file.

  • When locating a type with Control+N, you can use wildcards. Want all ViewModels? Type *ViewModel (more...).

Transform code

  • You can define what context actions you want available in ReSharper | Options | Code Editing | [Language] | Context Actions.

  • Do you have multiple classes in the same file? Fix it fast. Press Control+Shift+R on the file in the Solution Explorer and choose Move Types Into Matching Files (more...).

  • Rename anything, anytime, anywhere with F2. You can do it even in fewer steps - just type in a new name and hit Alt+Enter.

  • You can extract a method from a section of code using Control+Alt+M.

  • Want to move a string literal to a resource file? Press Control+Shift+R anywhere on the string and select Move To Resource (more...).

  • Type in new method signature (change the number or type of parameters, change the return type) and while the signature is highlighted with a grey frame, hit Alt+Enter to apply the Change Signature refactoring.

  • Placing the caret at a property, you can press Alt+Enter to change it from auto-property to a property with a backing field and vice-versa (more...).

  • Press Control+F6 to change the signature of a method and see a preview before applying it. ReSharper will do the rest!

  • Think your code needs a good wash? Use Control+Alt+F and run the Full Cleanup profile (more...).

Generate code

  • Generate various class members in seconds using the Generate command Alt+Insert.

  • You can add a copyright header to all files via ReSharper | Options | Code Editing | File header text and then run code cleanup for the whole solution (more...).

  • Alt+Insert in the Solution Explorer can create files from your file templates.. and folders too.

  • Type class and hit TAB. Want it public or internal by default? Change the corresponding live template (more...).

  • You can bind any member generation command to its own shortcut. Go to Tools | Options | Environment | Keyboard and look for commands starting with ReSharper_Generate.

  • Create event subscriptions in XAML/ASP.NET WebForms/VB.NET using Alt+Insert and choosing Generate event subscriptions.

  • If you place your caret at a parameter in the constructor and hit Alt+Enter, ReSharper can create a field or property and initialize it for you.

  • Type foreach and hit TAB. ReSharper will start a live template for smart loop generation with type and name suggestions (more...) .

Unit testing

  • Use Control+T, L to run all unit tests in the solution (more...).

  • Want to run some particular tests? Select them in editor, right-click and choose Run Unit Tests Run Unit Tests Control+T, R (more...).

  • Start typing in the Unit Test Explorer window to filter your tests by name.

  • Filter to failed tests while running them in the Unit Test Sessions window to see them pleasantly disappearing as they pass (more...).

ASP.NET and ASP.NET MVC

  • In ASP.NET MVC applications, type return View(" and press Control+Space. IntelliSense will list all available views.

  • Type rta and press TAB. Fill in controller, then action arguments. Now it should be in correct order with IntelliSense!

  • Want to check for missing Views in ASP.NET MVC? Turn on solution-wide analysis. View("Login") will show as red if the Login.aspx is not there.

  • You can use the Go to File Member command in ASPX/Config files too. Press Control+F12 and look it up!

  • In ASPX pages, navigate to related files (CSS, JavaScript, User Controls, and so on) with Control+Alt+Shift+G.

Help and support

Last modified: 05 September 2023