JavaScript and TypeScript support enhancements including full support for TypeScript 1.5 and ECMAScript 6 and support for regular expressions.
Going further in supporting new language versions, ReSharper 9.2 is already aware of such TypeScript 1.6 features as local types, abstract classes, type predicates, async functions and methods and the await operator. Moreover, Go to type of symbol navigation option is now available from the Navigate to menu:
Stay tuned for more details on how ReSharper 9.2 enhances JavaScript and TypeScript support.

Run configurations. This is a brand new feature that allows you to create, manage, and execute multiple run configurations in a single solution. A run configuration lets you run, profile or debug a project, a static method or any executable file. For static methods, a run configuration can be quickly created right in the editor:
You can create multiple run configurations depending on your needs and preferences. To run or debug the active configuration, press Ctrl+F5 or F5. By default, the solution will be rebuilt, but you can also execute the active configuration without rebuilding. If you have dotTrace installed and integrated in Visual Studio, you can launch profiling from the same pop-up menu:

A reworked Go to Usages navigation pop-up (which is a non-modal version of Find Usages). The Go to Usages pop-up now shows the context of discovered usages, as well as a progress bar, which can be very handy when looking at heavily used symbols.

ReSharper C++ 1.1

ReSharper C++ 1.1 comes with a variety of updates, such as:

Google Test support. ReSharper C++ 1.1 introduces a unit test runner for Google Test that lets you invoke tests and test cases contextually from the editor. Similar to the mainline ReSharper, it comes with Unit Test Explorer and Unit Test Sessions tool windows to view, group, filter and run unit tests, as well as to create and manage unit test sessions. You can also add individual tests to sessions right from the text editor, via the Alt+Enter contextual menu.
Please note that profiling and code coverage options are not applicable to Google Test sessions.

New live template macros for specifying expected types, expected variable names and the current namespace in new live templates that you create for your code bases.

Two new refactorings: Introduce namespace alias and Introduce field. Introduce namespace alias refactoring is available via Refactor this menu and can be applied to the initial occurrence or to all occurrences by selection:Introduce field refactoring allows to create a new field based on a selected expression, initialize it with the expression or from the constructor, and replace occurrences:

New code inspections to detect not implemented inline functions, redundant inline specifiers on a function definition and functions that can be const, as well as quick-fixes for these inspections. Automatic import now works with macros as well.

A set of performance improvements, most notably ensuring that quick-fixes are immediately available on solution load.

Watch this short video for an overview of what is new in ReSharper C++ 1.1:

The other tools in ReSharper Ultimate have received the following improvements:

With dotTrace 6.2 you can:

Analyze incoming HTTP requests of your web applications by means of a new filter in Timeline mode. You can get the exact data on how a particular HTTP request is processed.

Create and profile ReSharper’s predefined run configurations with different run parameters for your startup project.

Instantly profile any static method in your code. Simply place the cursor on the method, press Alt+Enter, and in the action list select Debug | Profile ([profiling_type]).

Browse performance snapshots right in Visual Studio to delete or keep particular data for further analysis.

dotMemory 4.4 allows you to:

Automate the process of getting snapshots. Just set a particular condition and snapshots will be collected automatically after condition is met, such as significantly increased memory consumption or exact period of time.

Enjoy recently released Sunburst diagram even more with improved navigation and performance.

dotMemory Unit framework 2.0 receives a stand-alone runner for continuous integration, and extends the list of supported out-of-the-box unit testing frameworks to XUnit, MBUnit, csUnit, MSTest, and NUnit. The latter two can also be run from Visual Studio with ReSharper.

dotCover 3.2

Adds integration with ReSharper 9.2 and a set of bug fixes. Check the release notes for more details.

Please note: Currently, MSTest coverage in Windows 10 applications developed in Visual Studio 2015 using the latest Windows 10 tools is not supported, this is scheduled for the next update.

Download them all

Licensing and upgrade options

In terms of licensing and upgrades, here are the options available:

ReSharper 9.2 is a free upgrade for you if you have a valid ReSharper upgrade subscription or a per-major-version license to ReSharper 9. Updates to ReSharper C++, dotMemory, dotTrace and dotCover are free if you have a valid upgrade subscription to the respective product or to ReSharper Ultimate.

In my understanding, “full typescript support” means your product at least understands typescript at the same level as its native compiler. However, using the default inspection severity options yields lots of R# false errors and even more false warnings (you learn to ignore them though).

I’m sorry for being harsh. But the problem I’m having with your blog posts and announcements is that you’re asserting how up-to-date with modern tools your product is, where in reality I think you are currently at the state of having limited basic support for certain things like web languages.

I’m not even talking about performance here. Again, web tools aren’t usable with R# enabled — I have to suspend R# so that pasting into .ascx won’t hang VS for half a minute. Removed a semicolon in a typescript file? 3 cores spinning for 5 seconds. Ever tried R#-renaming stuff on a 1 MLOC project? Compiling the entire thing and finding out what’s broken takes less time than that.

Where are the improvements, guys? Why Roslyn can run in a separate process and support both C# and TS, but R# cannot? I have 20 gigabytes of memory to spare, take up all memory just run faster. Why CodeLens runs in a separate process and able to analyze 5 years of git history in a matter of seconds, but it takes 10 minutes of UI thread block for R# to find code dependent on module? Why don’t you properly support unloading projects? Why don’t you stop chewing whitespace when doing refactorings? Why don’t you ever test R# with non-default navigation settings? Why structural search and custom patterns is something from the 90s — did you ever try to use it yourself?

Seriously though. I like what JetBrains is doing. I believe it’s JetBrains that made Microsoft push Roslyn so hard to release. I like the ideas behind R# and most of its features. But the implementation is terrible. Your QA is doing the worst job you could ever imagine.

You really need to step up your game, or in a year you won’t be able to compete with Roslyn. Apart from lacking some features, it’s already way better than R# at what it can do.

Not touching upon metaphysics and downright bashing in your comment, here’s a few questions:

1. When you say “web tools aren’t usable”, are you referring to Web Essentials or something else?

2. Can we take a look at a few performance snapshots that represent what’s going on when removing semicolons, when pasting into .ascx and when renaming stuff in the project? Unless VS freezes indefinitely, this should be easy to do from ReSharper > Help > Profile Visual Studio.

3. The solution that you’re referring to, is it by chance Open Source and thus available for us to take a look? If it’s not, are any of your performance problems on display in any of the OS projects you’re contributing to?

1. No I’m talking about VS integrated JS/TS/SCSS/CSS/HTML/AS*X etc support.
2. I will when I have opportunity.
3. I spent an hour today trying to consistently repro project reloading problem on ILSpy, but failed in the end. Will probably try again on a bigger project next time.

> Why Roslyn can run in a separate process and support both C# and TS, but R# cannot?

This is not true. Roslyn runs both inside VS process (and adds enormous pressure to managed heap) to provide VS with C#/VB language service and also out of process for compilation only (VBCSCompiler.exe). You can’t run VS language service outside of VS process, simply because there is so much interaction between language service and COM APIs like VS project model, you have to follow COM threading rules and etc. If you make language service out-of-process, you have to do serialization of all the communication, somehow maintain and synchronize shared state and so on. This is exactly the reason R# can’t be implemented out-of-process easily with all of VS interaction we do. Running things out-of-process introduces all the kind of distributed application problems you can’t easily solve.

+ Roslyn is not “supporting” both C# and TypeScript, TS language service simply reuses the Roslyn’s managed VS language service implementation. That’s simply the thin layer above COM APIs for every VS langage service, so Roslyn itself is unable to do parsing and semantic analysis of TS code.

Hi, Alexander, if this is about RSRP-446102 (issue with for-of and ES5 target), we’ll fix it for the first 9.2 bugfix. Thanks a lot for reporting.

I cannot see other TypeScript-1.5-specific issues created by you in our issue tracker. If you experience some other problems in TS 1.5 support, it’s better to create YouTrack tickets for them or to contact our support team. Thanks!

I would say that if R# would have better support forums (or ticketing system), there would be more happy customers and team would be able to focus on what is really important.

Right now it is a pain to report a bug or ask for a feature, there are many duplicates, not clear what goes to what version, etc. I’ve tried to report several times bugs, but that was not pleasant experience.

I personally like user voice – one clear list, where everyone can see what is important, may be it is not so convenient for jetbrains qa to track everything, but user is the king, not qa, right?

Also, I’ve noticed that R# team does not follow stackoverflow, there are many user questions with lots of upvotes how to do this or that in R# couple years old and R# still does not support that, even if that is trivial – like questions with most votes are kind of what does this R# warning mean, is it useful – so add option for full explanation mode or smth like that.

TBH I don’t understand how reporting a bug per se is problematic and I’d appreciate if you elaborate. YouTrack (the system used for issue tracking in JetBrains products) suggests issues already reported that are similar to the one you’re trying to report. It doesn’t work in all cases but seems to provide initial assistance. If you’ve found an existing issue in this way or via search, you can vote it up.

There are however problems with the way reported issues are handled, that’s true. Some of the problems include duplicating issues (we’ve just had a round of merging duplicates btw), maintaining realistic estimates as to fix versions, and actually marking issues as fixed when they’re resolved.

Managing 15K unresolved issues (a testament to ReSharper’s very large product scope more than anything else) in ReSharper issue tracker is hard but I agree that the process can be improved, and there are initiatives in place to do this. No guarantees but there’s hope it can be improved.

Reg. StackOverflow, we have a couple of people tracking new questions there. I’d appreciate links to specific questions that you feel are unhandled.

Great, now I can upgrade and all my extensions will probably not work again. I wish there was a way to do upgrades and not break the extensions. I can upgrade Visual Studio with a service release and my extensions still work. Why can’t you guys do the same?

That’s true, extensions are not usually updated immediately but most of them are brought up to date within a couple of weeks.

I’m not aware of the details but AFAIK right now incrementing the second digit in a version number (i.e. 9.1>9.2) requires re-building all extensions even if API hasn’t changed. (However, the API usually changes between such releases, too.) This is suboptimal and can be improved but I guess it takes non-trivial effort to change.

I have the same issue. VS2012. I can get rid of the problem if I click on the “loading symbols” thing on the lower right as soon as it pops up. this will open a window where the progress is shown. If I don’t do this VS2012 will stop working.

I have the same issue. VS2012. I can get rid of the problem if I click on the “loading symbols” thing on the lower right as soon as it pops up. this will open a window where the progress is shown. If I don’t do this VS2012 will stop working…

Yup, i do,
Says: Properly licensed (green checkmark)
Resharper 9.2 (has a red x though not sure why? i tried to log out use it as trial subscription and it still had the red x and the menus were still all disabled) but beside it says licesed to xxxx Maintenance sub until 2016-02-17

using my JB account to login.
I have a license for 9. I’m guessing that applied to 9.2

For some reason, my account for the JetBrains website can only log on there and not on the forums, but I am seeing most local variables and parameters [C#, VS 2013] saying they are never used with 9.2. In the below, accounts is greyed out and says it is never used:
var accounts = GetAccounts(count);

Hi, I want to know when ASP.NET 5 Project can be fully supported by Resharper, the current 9.2 version still cannot generate Intellisence list for tag-helpers, and the relative path detection is also not correct when for files under wwwroot folder.