Dotnet logo

The .NET Tools Blog

Essential productivity kit for .NET developers


Introducing the ReSharper 8 EAP

In the world of technology, no-one can afford to stand still. As new frameworks and languages come out, ReSharper does its best to keep up. This is why we are happy to announce the opening of the ReSharper 8 Early Access Program. With the forthcoming release, we are proud to announce the following features, which will be part of ReSharper 8.

Go To Everything

In preparation for ReSharper 8, we’ve put in extra effort on streamlining certain operations. One of the areas where we felt improvement was needed was the unnecessary divergence caused by the various Go To menus. In an effort to simplify things, we have altered the main Go To Type command (Ctrl+T) so that now it navigates to either types, symbols or file names, all contained within the same listing.

By default, the menu shows a listing of recently opened files:

Searches for identifiers now yield both files, types, and file members:

Don’t worry – all the previous commands (e.g., Go To File) continue to work, and dynamically switching from one context to another is supported. The functioning of selectors is, of course, left intact, so you can write things like ClassName.MemberName to locate a particular member of a class, use combo navigation, wildcards and camel-humps. In addition, we added some new selectors – for example, typing public or private helps you narrow members down by visibility. Performance of this menu has been optimized so searches should be very quick.

Code Completion Improvements

This release comes with a substantial number of improvements in the way ReSharper offers code completion suggestions.

New Items in Automatic Code Completion

The first thing to point out is that, from now on, various aspects of smart completion and import symbol completion are now integrated into ordinary code completion, once again striving for a more streamlined experience.

For example, if you take a class and indicate that it implements INotify, you will be presented with the following menu:

The completion options will now show you all the possible ways of getting at a particular interface that begins with INotify, and using it will cause the appropriate using statement to be added to the top of the file.

In addition to the above improvements, ReSharper now offers several generative completion options, specifically offering to generate code on partial and override statements:

And finally, we’ve added some minor improvements to existing completion mechanisms. For example, the completion list for a collection member now includes the keyword new by default:

Other Code Completion Improvements

In addition, we’re introducing a new concept called Double Completion. For example, when you use ordinary completion by pressing Ctrl+Space, and you don’t get the member you’re looking for, you can press this shortcut again to try locate the element in all referenced assemblies. Double Completion also works with Smart Completion, so pressing Ctrl+Alt+Space more than once will offer you various chains of calls that will get you to the right member (possibly via extension methods).

Double Completion mechanisms are supplemented by quick-fixes, so if you use it to get at a symbol that is private, a quick-fix will quickly let you alter the visibility of a member to make it accessible.

New Code Inspections

As always, we’ve added new inspections as well as improved existing ones. Here’s a small sampling of some of them:

  • You can now disable all ReSharper warnings with a single comment — instead of defining separate inspections to suppress, you can now mark code with // ReSharper disable all and ReSharper will not complain about anything until it meets a corresponding // ReSharper restore all .

  • You can now switch between array initialization expressions and array creation expressions; ReSharper offers the appropriate inspection and context actions:

  • An ability to convert recursive calls to iterative ones:

  • If a method has an overload that supports cancellation (i.e., takes a CancellationToken), ReSharper will offer to use that overload, provided that there is a CancellationToken available in scope:

  • ReSharper also supports the idea of fallback color in CSS:

This is just a sampling of some of the inspections improvements that we’ve added. We’ll publish a blog post with more in-depth information soon.

CSS Improvements

To help developers ensure correct operation of their code, ReSharper introduces configurable support for CSS3 and earlier versions, as well as compatibility checks against popular browsers:

As a consequence of these compatibility checks, ReSharper will now provide detailed information about the availability of a feature for a particular browser:

We’re working on making ReSharper progressively smarter in recognizing CSS declarations, whatever shape they take, be it in JSON:

In string literals:

And even in anonymous type declarations:

Searching for a CSS attribute has got a lot smarter, too. For example, searching for the color Red will yield all locations in CSS, JavaScript and C# where this color is used, however it may be defined:

Finally, ReSharper now supports refactorings such as the renaming of identifiers defined in CSS:

Assembly Explorer

Those of you who know dotPeek, our free decompiler, have already seen the Assembly Explorer – a window similar to the Solution Explorer that lets you explore decompiled assemblies. The great news is that now Assembly Explorer is part of ReSharper, too:

In addition to being able to load assemblies via its user interface, ReSharper also offers an option to Locate in Assembly Explorer, which will select the item currently being decompiled in the Assembly Explorer window:

The Assembly Explorer is a very powerful tool, capable of locating assemblies in various file formats (e.g., ZIP files). It’s also very extensible, a fact appreciated by dotPeek plugin writers. Its capabilities are now open for you to extend, right within ReSharper.

BAML Decompiler

While we’re on the subject of decompilation, ReSharper now supports BAML decompilation, so if you’ve got a compiled WPF app, you can easily look at its XAML UI definitions:

Note that the generated XAML above supports typical features such as navigation, Find Usages and other features one would expect from a XAML viewer.

Odds and Ends

Just a few more things that are worth mentioning.

We have made adjustments to the formatter and Code Cleanup in order to treat preprocessing directives such as #if and #region correctly. This means that constructs such as

will now correctly survive in case you execute the formatter or Code Cleanup on the file.

In addition to ReSharper as a plug-in, we are also providing a command-line tool that can be used to analyze an existing VS solution. This happens to be the tool that TeamCity uses to present ReSharper analyses. We are currently offering it as a separate, time-limited download and will be putting up new releases together with forthcoming EAP versions.

Finally, we are working hard on bringing you TypeScript support in ReSharper! It’s still too early to announce any features for it, but rest assured that it’s high in our priorities and we’ll let you know as soon as it’s ready.

Now that you’ve seen some of the features that ReSharper 8 will have, why not give them a go? Simply download the EAP and let us know what you think!

Comments below can no longer be edited.

58 Responses to Introducing the ReSharper 8 EAP

  1. Avatar

    Abdu says:

    March 7, 2013

    If these are most of the features of a new major version, I feel underwhelmed. They look more like enhancements to existing features than anything groundbreaking. However I guess anything new is better than nothing new.

  2. Avatar

    Mohamed Radwan says:

    March 7, 2013


  3. Avatar

    Agile Hobo says:

    March 7, 2013

    Just installed R# 8 EAP, Go to Type is Ctrl + N, not Ctrl + T. What I need to do to apply changes?

  4. Avatar

    Dmitri Nesteruk says:

    March 7, 2013

    @Agile Hobo: most likely you are using the IDEA keyboard layout instead of the VS one. You can pick which one you prefer by going to ReSharper|Options and choosing the keyboard scheme on the Environment|Keyboards & Menus panel.

  5. Avatar

    Mark Rainey says:

    March 7, 2013

    Navigate to Type is one of my most used functions and this change will make it slower as I will have to select the type among all the other stuff. Something that is simple will now need an extra step to work out which one of the 10 entries I now need.

    Adding files to the menu is potentially useful but adding all the “fluff” of symbols will not streamline the operation but slow things down.

    If I want to go to a file I will use the Navigate To File and if I want to go to a symbol I will Navigate to Symbol. Why clutter a perfectly useful option rather than just add the new one as an addition?

  6. Avatar

    Julien Lebosquain says:

    March 7, 2013

    Nice, going to try that EAP immediately!

    However, why did you transform Go To Type rather than Go To Symbol, which was already reporting everything except files? I liked having a “type only” search, it was particularly useful to navigate to assembly types. Well, the system seems to prefer types which should be fine, and is much faster than before which is great.

  7. Avatar

    resharpuser says:

    March 7, 2013

    Good job guys!

    It would be nice if you also add support for CSS LESS.

  8. Avatar

    Andy Tacker says:

    March 7, 2013

    Wgere can i get any documentation about command line tools usage?

  9. Avatar

    Carsten says:

    March 7, 2013

    Will the “Goto-Everything” work with F# files/Types as the name indicates?

    If not this will be a major-version I will not be willing to pay for – sorry.

  10. Avatar

    coox says:

    March 7, 2013

    Julien, we actually merged all Goto type/ symbol/ file into one action and Ctrl+T (Ctrl+N) is just the shortest keybinding amoung them. But the decision on the feature is not final (personally, I like it a lot and don’t use other shortcuts) and we will adjust it depending on the feedback received during EAP.

  11. Avatar

    coox says:

    March 7, 2013

    Abdu, we will be adding new features as they are ready.

  12. Avatar

    tobi says:

    March 7, 2013

    Many of the “streamlining” features are features that I always wanted without knowing. Well done and keep them coming!

  13. Avatar

    Gary says:

    March 7, 2013

    Will Test Explorer have support for running VS2012.2’s new Windows Phone unit tests?

  14. Avatar

    David Hanson says:

    March 7, 2013

    Where is the typescript support guys?

  15. Avatar

    arjuns says:

    March 7, 2013

    Typescript support still missing :(.

  16. Avatar

    Carel Lotz says:

    March 7, 2013

    Any changes on the licencing model? I’m disappointed that we still need to fork out quite a bit of money every year for a R# licence as you guys seem to release a major upgrade every year. The above mentioned feature set doesn’t feel like a major upgrade and even though I love R# the monetary aspect is a concern.

    Why not change into a subscription model with discounts for your loyal customers. This make it easier to do upfront budget planning instead of trying to reactively get the money to buy the whole team licences it a major upgrade should appear within the budget cycle.

    Your thoughts?

  17. Avatar

    Graeme Miller says:

    March 8, 2013

    Is there anyway to get ReSharper to locate implementations of interfaces with a generic type e.g. ICommandHandler and Resharper could provide a list of implementations? Currently all I can do is find all implementations of the IComamndHandler without taking into account the actual generic. So you just get all CommandHandlers (Which in our solution is a lot). It would be great to click on ICommandHandler and go to the concrete implementation.

    Also inbuilt support for detecting whether an implemeantion of interface is being called using DI (like Agent Mulder does) would be handy. Currently Resharper just says the class is not being used.

  18. Avatar

    Nicolas says:

    March 8, 2013

    what about continuous testing? (a-la NCrunch)?
    is it going to be part of R#8?

  19. Avatar

    Oisin G. says:

    March 8, 2013

    TypeScript, TypeScript, TypeScript 😉

  20. Avatar

    Bryan Migliorisi says:

    March 8, 2013

    As as RubyMine user.. I was reeaalllyyy hoping for better support for CoffeeScript, SASS, LESS, etc in ReSharper

  21. Avatar

    Carlos says:

    March 11, 2013

    A bit sad not to see any ground breaking features as accustomed by your other 7 releases.

  22. Avatar

    webdev says:

    March 11, 2013

    Please support TypeScript.

  23. Avatar

    Dmitri Nesteruk says:

    March 12, 2013

    @all: TypeScript support will be present in ReSharper 8, however it is unlikely that any high-level services will be available for it. Rest assured, we’re working on it, TypeScript is our priority.

  24. Avatar

    Richard says:

    March 12, 2013

    Oh great. We bought R# 7 in February, and now we’ve got to pay again for the upgrade?!

    What happened to giving free upgrades to anyone who purchased a license within six months of a new release?

  25. Avatar

    Barry says:

    March 12, 2013

    Can’t see a reason to upgrade… R#7 meets all my needs. As others say, upgrade costs are prohibitive in this climate. Couldn’t, and wouldn’t want to, program without resharper, but, as I say, can’t see a reason to upgrade.

  26. Avatar

    Domenic says:

    March 12, 2013

    This is not encouraging…TypeScript support will be present in ReSharper 8, however it is unlikely that any high-level services will be available for it…If you brought half of what you do in C# to TypeScript, then you would be an indispensable tool for JavaScript web applications and you would have the first mover advantage. I don’t think you should take your support for TypeScript lightly. I have already started creating a library in TypeScript using the .NET framework as an my guide to give me that same productivity of developing Web Application GUIs as with WinForms minus that nice drag and drop functionality. I am trying to Strongly Type the Web Stack using TypeScript, which means that I and others may write JavaScript code without writing any “strings” in our code. I have confidence that others are working on this as well and those that are will be able to write TypeScript applications that are as impressive, reusable, and maintainable as their C# counterparts. Especially with things like “signalR” which when used with TypeScript Interfaces allow easy parallel team development of the server and client side code all with complete intellisense and error checking. I really believe that TypeScript and whatever succeeds it will be what drives critical adoption of the web as an OS. The technology already exists, WebGL, WebRTC, signalR/WebSockets, etc…

  27. Avatar

    Jeff L. says:

    March 12, 2013

    Don’t worry about how frequent the updates are, the more, the better. You can remain on a prior version if you choose.

    SPEED is the #1 improvement I’d want to see.

  28. Avatar

    JamesN says:

    March 12, 2013

    More of a licensing question, but I’m sure I won’t be the only one to ask.

    I’ve been considering upgrading my version 6 to version 7. I know there is a free upgrade from 6–>7 if you bought 6 after a certain date. Will there be such a program for 7–>8 and if so, what will the cutoff point be?

  29. Avatar

    Eyal Shilony says:

    March 12, 2013

    To be honest I’m pretty disappointed, I’d really want to see improvements to performance, refactoring and to the Cleanup code feature.

    I really hope you’re going to fix this issue in this release

  30. Avatar

    Sal DiStefano says:

    March 12, 2013

    Do you have a release date for v8?

  31. Avatar

    Andrii says:

    March 12, 2013

    Ctrl+T combination displays file names first in the list. That is not what I’m expecting. I used to have Types list, so maybe If Types will appear first it will make more sense. Not sure what order for other elements (i.e. methods, properties) should be, but Types should definitely go first.

  32. Avatar

    Filias says:

    March 13, 2013

    Yep, LESS would be nice.

  33. Avatar

    Søren Reinke says:

    March 13, 2013

    When will there be good refactoring for Javascript or even better Typescript?

  34. Avatar

    Urs says:

    March 14, 2013

    What I’m waiting for a long time already, and I hope to finally see it in R# 8: Apply multiple refactorings at once. E.g. Mark a newly written code block which contains fields not yet present, Press Alt+Enter, select “Create all fields”. Currently I have to go to every individual new field, Alt+Enter, and select “Create field XY” individually.

    This would be a reason to fork out money for version 8 (and not a redesigned Ctrl+N which already works perfectly for me).

  35. Avatar

    Brett says:

    March 14, 2013

    Any way to include an html-style report with the commandline tool? The XML report generated does not appear to have any style info.

  36. Avatar

    Alex says:

    March 15, 2013

    Go To Type became much worse. Please allow to switch to the old behavior in options, or make this “search everywhere” an independent “Go To” item.

  37. Avatar

    Eyal Shilony says:

    March 16, 2013

    @Urs yeah me too. 🙂

  38. Avatar

    Eyal Shilony says:

    March 16, 2013

    I’d love to have the ability to refactor my code, all in a single click, this is very useful in TDD scenarios.

  39. Avatar

    Dmitri Nesteruk says:

    March 18, 2013

    @Søren: ReSharper already has some JS refactorings already, and will have more. As for TypeScript, we’re working on it 😉

    @Brett: I’m afraid right now your best bet is to make an XSLT file. Feel free to put up a request on our bug tracker for us to include a default one.

    @Alex: we’re currently discussing Go To Type internally. It’s possible that there will be a configurable behavior or an alternative shortcut for it.

  40. Avatar

    Jens says:

    March 18, 2013

    @Dmitri Nesteruk

    On the whole typescript thing, I am like… right now… Just adding your collapsible blocks from pure JavaScript would be something that would save my day >.<…

    Anyways, I don’t know what your plans are for TypeScript and how it may or may not interfere with other Plugins, like WebEssentials as an example:

    The “split view” is sort of a nice feature and at the same time sometimes intolerably in the way.

  41. Avatar

    Robert says:

    March 19, 2013

    As a R# client i’m a bit dubious about the tendancy to want to include css, js, typescript and all that other stuff.

    Up to today it would have been nice to have an early support for things like less, cs, js etc ..but the fact is Microsoft is already well underways to implementing all this natively inside VS (Web Essentials / Web Tools).

    So why waste time duplicating the work instead of focusing on other things ?


  42. Avatar

    Robert says:

    March 19, 2013

    I’m also a paid client of Web Workbench ..which out of the above reasons i recently deleted from my pc will not be renewing my license.

  43. Avatar

    Brian says:

    March 19, 2013

    search is fast enough but results are cluttered please make new behavior override goto symbol instead of goto type. Another possibility would be to have a goto function that would return types + filenames for non-class files (again please don’t remove default goto type: make it a new item).

  44. Avatar

    Chris M says:

    March 20, 2013

    The Go-To-Type option is mental, your saving me pressing shift to go to files by making me suffocate in noise. Which ever UX fool came up with that needs to be put back in their box, fine-grained control vs search-all-things

  45. Avatar

    Etienne says:

    March 22, 2013

    As a Front-End dev, CSS improvements are nice but I would not use them because I write my code in SASS.

    So a big +1 to start supporting SASS & Less.

  46. Avatar

    Jens says:

    April 1, 2013


    That is quite simple really… Visual Studio also natively support Refactoring, Code Generation etc… many of the things that ReSharper brings to C#… So why do you use ReSharper at all?…

    Because ReSharper does it thousands times better. Hopefully ReSharper will also do a much better job at all those requested things.

  47. Avatar

    jshea says:

    April 4, 2013

    Coffescript support would be great!!!

  48. Avatar

    jshea says:

    April 4, 2013

    coffeescript support would be great!!!

  49. Avatar

    Martin Andersen says:

    April 11, 2013

    Really like the new ctrl + T.

    But please don’t try to compete with “Web Essentials 2012” the already got support for Less, Javascript, CoffeScript, TypeScript and everthing I ever need in a css editor.

    What I would like to see is a way to turn off R# for some file types like less, css and Javascript. PLEASE

  50. Avatar

    doug says:

    April 14, 2013

    Would be nice is your brought forward the Unit Test Wizard that was in VS2010 then lost in VS2012, saves having to pay $18k for the ultimate edition for what you had for free in professional edition, which most devs would have, if each dev is licenced. At worst you could use an open source alternative to Fakes.
    One of the biggest complaints against R# is how much it slows down VS, so to be able switch it off for some file types, park it in a different core, or have more async/seprate thread operations or park it on a GPU :).

  51. Avatar

    Zymara says:

    May 14, 2013

    +1 for SASS support, not fond of seeing a whole screen of red squiggly lines in my .scss files… :^(

  52. Avatar

    Chris says:

    June 11, 2013

    +1 for SASS

  53. Avatar

    f0rmat1k says:

    June 11, 2013

    PlZZzzZZZZ add less/sass support

  54. Avatar

    shawn says:

    June 28, 2013

    Another vote for SASS/SCSS support in Resharper! Is there somewhere we can actually vote for it as a feature request?

  55. Avatar

    Jura Gorohovsky says:

    June 28, 2013

    @shawn (and also @f0rmat1k, @Chris, @Zymara, @Etienne)
    Sure. The feature request that you can vote for is here

  56. Avatar

    Alexey says:

    September 5, 2013

    Coffeescript support would be appreciated.

  57. Avatar

    James says:

    October 20, 2013

    Wow, $89 for the “upgrade” pricing is, uh, pretty steep. Four times higher than before.
    For the first time, I’m considering giving it a miss.

  58. Avatar

    Jura Gorohovsky says:

    October 21, 2013

    James, C#/VB.NET Edition personal license upgrades (I’m assuming that’s what you’re referring to) have been priced at $89 for at least 6 years.

Discover more