Cross-Language Functionality

Navigation and Search

In ReSharper all navigation and search actions take code in all languages into account, including C#, VB.NET, ASP.NET (Web Forms or MVC), JavaScript, TypeScript, HTML, CSS, XML, XAML and Build Scripts.


ReSharper automated code refactorings are designed to take into account all code in all languages. Whenever new source code must be generated in the process of refactoring cross-language code, refactorings work 100%.

The only thing that, naturally, cannot be done, is recreating code written in one language in another language (for instance, when you use the Move Static Method refactoring to move a method from its VB implementation to C# or vice versa). In such cases a warning is displayed, letting you know about the conflict (but you can go ahead with the refactoring and then recreate the cross-language code manually).

Code Completion & Assistance

Unlike Visual Studio's IntelliSense, ReSharper doesn't require projects in other languages to be compiled before symbols are available for code completion, quick documentation lookup, and parameter info. (Code generation and other ReSharper features work in the same compile-independent way.)

To-do Items

To-do items are collected from all supported languages.

Naming Conventions

With common language settings in the ReSharper Options dialog box, you can define common naming conventions and file headers for all languages.

Unit Testing

Unit testing is available and equally useful for unit tests written in either C# or VB.NET. JavaScript unit testing is also supported through frameworks such as QUnit and Jasmine.

Learn more about how ReSharper combines its C# and ASP.NET/ASP.NET MVC functionality in ASP.NET and ASP.NET MVC Tools.

Note on shortcuts

All keyboard shortcuts provided in this page are available in ReSharper's default "Visual Studio" keymap. For details on ReSharper's two keymaps, see ReSharper Documentation.