ASP.NET and ASP.NET MVC Tools

ReSharper helps your efficiently work with ASP.NET and ASP.NET MVC projects, including markup files, with a whole pack of code analysis, coding assistance, navigation, and code generation features. Some of them work in web applications exactly the way they do in C# or VB.NET projects; others are fine-tuned for specific requirements of web development.

Code Analysis and Assistance

ReSharper extends the majority of its code analysis and coding assistance features to ASP.NET and ASP.NET MVC projects and web applications.

Code Inspections and Quick-Fixes

Whenever you work with C# code used in ASP.NET markup and in code-behind files, you enjoy the complete ReSharper feature coverage, including the whole range of code inspections and quick-fixes. In addition, there are code inspections and quick-fixes that are ASP.NET-specific: for example, ReSharper detects unused import namespaces, unknown symbols and entities in aspx pages.

Marker Bar and Status Indicator are available in ASP.NET markup files as well, to help you navigate between code issues that ReSharper discovers.

Context Actions

ReSharper provides 25 context actions to help you in common ASP.NET markup scenarios. For example, ASP.NET context actions enable you to:

  • Replace, collapse or remove tags.
  • Convert HTML entities.
  • Create events and properties.
  • Insert table columns and rows.
  • Move HTML code to resource files.
  • Add code-behind files.
Syntax Highlighting

When you inline code render blocks in your aspx pages using C# or VB.NET, ReSharper's syntax highlighting helps you:

  • Easily spot action and controller names in ASP.NET MVC calls. (Read more about this and other ReSharper features for ASP.NET MVC.)
  • Take advantage of regular syntax highlighting for C# and VB.NET code.
Code Completion

Code Completion (including Smart Completion) works with tag names and attribute values.

Import Symbol Completion helps you reference non-imported user controls without registering them in advance: ReSharper will generate the Register directive automatically.

Auto-Import and Auto-Registering

Speaking of auto-registering, ReSharper will automatically register your user control as soon as you've used it...

... and automatically import any namespace as soon as you've used a type that belongs to it — just like it does in other types of projects:

Other Coding Assistants

ReSharper will auto-insert a matching closing tag as soon as you've entered an opening tag, or a closing quote after you've entered an opening quote for an attribute value. More than that, such matching delimiters are highlighted when you put the caret on either of them.

When you have a deeply nested tag hierarchy, rely on Extend/Shrink Selection to select it from a narrow scope to a wider scope, and vice versa. When you've made a selection, you can move it up/down (for tags), or left/right (for attributes).

Internationalization

If you have HTML markup in your aspx pages that needs to be localized, you can select it, press Alt+Enter, and move the string to a resource file. However, that's only a fraction of ReSharper's internationalization capabilities.

Navigation and Search

Much of ReSharper's navigation feature pack is available in ASP.NET.

For example, if you want to get an overview of markup items in your currently opened aspx file, press Ctrl+F11 to display the File Structure tool window. File Structure derivatives, such as Go to File Member, Go to Next/Previous Member, and Go to Containing Declaration, are at your disposal as well.

Go to Related Files (Ctrl+Shift+Alt+G) is a web-specific navigation action that takes you from a markup file to any files that it references, including code-behind files, master pages, user controls, images, JavaScript and CSS files, ASP.NET MVC views and controllers:

Other navigation actions that come handy in ASP.NET projects include Go to Declaration, which is especially useful for navigation to user controls and master pages from references, and Go to Usages of Symbol for navigation from ContentPlaceHolder tags to their Content counterparts, or from a master page reference to any web forms that use it:

Code Generation and Templates

ReSharper enables ASP.NET and ASP.NET MVC developers to generate web forms, tags, and attributes with a set of 20 bundled web-specific templates, and a new code generation feature.

Live templates (Ctrl+J) for ASP.NET speed up creating new controls, script blocks, tags, and attributes:

Surround templates (Ctrl+Alt+J) help wrap text or code with tags, links, or foreach blocks:

File templates (Ctrl+Alt+Ins) facilitate creating new web forms, user controls, and master pages:

In addition, ReSharper is able to generate Content tags in markup pages based on ContentPlaceHolder tags defined in a referenced master page. Press Alt+Ins in the text editor to invoke this generation feature:

ASP.NET MVC Support

In addition to general ASP.NET features described above, ASP.NET MVC developers get an additional pack of framework-specific functionality that includes — both for ASPX and Razor view engines:

Note:

All keyboard shortcuts provided in the "Features" section are taken from ReSharper 2.x / IDEA keyboard scheme. For details on ReSharper's two default keymaps, see Documentation and Demos.