New Features in the Latest ReSharper 8 EAP

Good news everyone — we’ve got another EAP build ready and it should come as no surprise that we’ve got a few new features to talk about. So without further ado, here’s what we’ve got in store for you today.

Extension Manager or how to provide xUnit.net support

We sometimes get requests to provide certain features out of the box, functionality that is currently provided via plugins. xUnit.net support is one of these.

While doing this certainly has its benefits, it also has disadvantages. As such, we decided instead to take the opportunity to address the core problem, which is to simplify the discovery, installation and updating of ReSharper plugins.

We’re very pleased to introduce our NuGet based Extension Manager. It’s now very easy to add extensions and plugins to ReSharper, all from a user interface you’re very familiar with from NuGet. Simply open the Extension Manager from the ReSharper menu, and you’ll be able to browse and search for extensions from the “Online” category – make sure you select “Include Prerelease” in the drop down first – these are still EAP packages!

So to get xUnit.net test support, simply find the xunitcontrib package and hit Install.

That’s all there is to it! ReSharper now has support for running xUnit.net tests, and includes Live Templates and External Annotations to make your test code writing experience better.

We’ll be taking a more in-depth look at this feature very soon, but one important point to make right now is that because NuGet is a .NET4 library, the Extension Manager is only available in Visual Studio 2012 and 2010.

ToString() Format Completion

ReSharper already has a few features related to String.Format() usage, such as for example inspections and fixes related to format arguments being used in the format string. However, in this EAP we’re taking it a bit further by adding code completion for types which have well-known format specifiers (such as DateTime, TimeSpan, Guid, enumerations and many others):

Multi-File Templates

By popular demand, ReSharper’s support for file templates has been expanded to incorporate the possibility of creating several files from a single template. You start, as always, by creating a single file template. But then, ReSharper gives you controls to add additional files: you can either add a new file or a file from an existing template:

Choosing one of these options adds another editor into the template editor window. In this editor, you can specify the placement of the file (either a relative location or an ASP.NET code-behind file), the name of the folder to place the file into, and of course the name of the file. Then, just edit this template as you would any other — you can reuse the parameters you declared for the first template.

You can add as many files as you want and once you come to fire the template, all the necessary files (and folders, if they do not exist) will be automatically created in the right places.

Go To Generic Subsitutions

When you have the usage of a generic type such as List<Foo>, it’s easy enough to find all usages of List<T>, but what if you want to know the exact types that List<T> is being specialized with. To help with this, one of the new navigation options is to look for Generic Substitutions:

Once you fire up this navigation item, ReSharper will search for all the types that are used to substitute the generic parameter T and will show you a summary tree grouped by the type used to substitute the generic parameter. You can drill down into the tree to find out the exact locations where a particular type is used:

Blue Theme Support

Visual Studio 2012 Update 2 has been released with support for a Blue Theme, and we’ve made adjustments to ensure that ReSharper plays nice with it too:

We’ve got a lot more in store, and we’ll be blogging in the coming weeks about new features as well as giving in-depth overviews of the ones we’ve already mentioned. Meanwhile, please feel free to check out the EAP and let us know what you think!

This entry was posted in ReSharper Tips&Tricks and tagged , , . Bookmark the permalink.

33 Responses to New Features in the Latest ReSharper 8 EAP

  1. Alexey says:

    This is awesome, but the main feature i’m waiting for is TypeScript support!
    Hope you’ll add it to release version.

  2. Jeremy Morton says:

    Thank you for adding ToString() Format Completion, this is one thing that always has me hitting F1 [the other being the modifiers used for String.Format(), etc.].

  3. Eyal Shilony says:

    Wow! this is great, now R#8 starting to look interesting. :)

  4. Egor Pavlikhin says:

    These are the kind of updates that make you go “Wow!”. Thank you.

  5. Pieter says:

    The Format feature looks over impressive. Will this also work in String.Format, including the rest of the options like number of decimal?

    Also, has a decision been made on new licenses that get a free upgrade to 8? I’m planning to buy a few new licenses in the foreseeable future.

  6. @Pieter
    Can you please cite a code example using String.Format where you’d expect this feature to work?

    Also, currently sold licenses don’t qualify for a free upgrade to v8. There’s a notable exception of commercial licenses with 1-year upgrade subscription that do include an upgrade to v8 and in general to everything that comes out during the first 1 year from the date of purchase.

  7. Dmitri Nesteruk says:

    @Pieter this the kind of completion you can expect in a string.Format() statement for a float:

  8. John says:

    Please can you clarify ” in general to everything that comes out during the first 1 year from the date of purchase.”? Does this mean if I have a personal license and it’s within one year of purchase that I do get the upgrade free? Or was this only in relation to the commercial licenses?

  9. Mark says:

    Love the Extensions manager. And the Format completions. Very cool.

    But… TypeScript! I can’t use any of this awesome until that’s in.

  10. @Eyal I think from the way Egor commented, it feels that he does appreciate the additions.

    @Mark We’re working on TS support. Even if we don’t make it for 8.0, it should definitely be available in one of forthcoming minor releases within the 8.x cycle.

    @John This only currently applies to commercial licenses with 1-year upgrade subscriptions, not personal licenses. If you buy a personal license right now, you’re only eligible for 7.x, not for the upcoming 8.x

  11. webdev says:

    No typescript support in 8.0? That’s bad. :-(
    I think it would be really a benefit.

  12. luedi says:

    The extension manager is cool. Cooler it will be if you are able to integrate in into the VS extension manager. The advantage of this is that you have a single location to manage all extensions.

    Regards
    Klaus

  13. Matt says:

    Please say the issue where your recent files list gets blatted after a debug session (http://youtrack.jetbrains.com/issue/RSRP-330474) will be fixed. Pretty please.

  14. @Eyal Not fun calling your fellow commenter an imbecile. One more case like this and you’re banned. Please behave.

  15. @Matt From what I see in the bug report the team can’t reproduce this right now.
    Is this bug reproducible in 8.0 EAP? Is it happening only in VS2012? What kind of solution are you working on, or is it reproducible in all kinds of solutions? We’d appreciate if you add a comment with all these details under the bug report.
    If knowing all details we still can’t reproduce this, we might need to set up a remote debugging session to find out what’s going on. Would you be able to help us with that?
    Thanks!

  16. Rogier Versluis says:

    Is it already possible to add string in HTML files to resource files?

  17. Ashraf says:

    When will be the final release ??

  18. @Rogier Yes you can do that since v6 if I recall correctly.

    @Ashraf We’re aiming to make the final release available in July.

  19. Eyal Shilony says:

    I really hope that you will add some more TDD love :)

  20. Alcaeus says:

    Hi – I need help porting a resharper TDD plugin from R#7 to R#8 (testcop.codeplex.com).

    A number of the api’s have been completely been replaced – do you have a migration guide?

    Thanks.

  21. ulu says:

    @Eyal that comment wasn’t mocking yours, it was a sincere statement regarding the product. I bet he didn’t see your comment at all before posting his.

  22. Dmitri Nesteruk says:

    @Alcaeus the migration guide can be found here, but it doesn’t have anything test-related yet. If you need assistance, it’s best to contact Matt Ellis (@citizenmatt) or me (@dnesteruk) directly with any queries you might have.

  23. Jens says:

    @jura

    “”"We’re working on TS support. Even if we don’t make it for 8.0, it should definitely be available in one of forthcoming minor releases within the 8.x cycle.”"”

    If not, could you make sure to completely disable any integration that hits the .ts files, because right now it actually seems to “break” the existing typescript editor from MS. (Or web essentials maybe?, dunno)

  24. @Jens We’d appreciate a more detailed report on how ReSharper breaks the TS editor with steps to reproduce. If you can help us with that, please submit a report to ReSharper bug tracker. Thanks

  25. Jens says:

    @Jura I actually did that through another channel at some point (some EAP feedback page)… But sure I will see to it that I submit my findings in the bug tracker instead.

  26. Odin says:

    I have Resharper 7.1 installed after v8 installs it fails to show up as installed in either vs2010 or vs2012. I went to look for the Resharper directory under the Extension folders but they are not there. Any ideas?

  27. @Jens Thanks for the great reports!
    When you say that ReSharper seems to break the existing TS editor from MS, do you only refer to these three bugs, or is there something else?
    The false positives in ReSharper inspections are definitely wrong and need to be fixed but usually when we talk about ReSharper “breaking” VS in some aspect, this means making it impossible to work with a file or solution – for example, preventing compilation or causing the editor to freeze. I just want to make sure that nothing like that is happening to you.
    Thanks!

  28. Eyal Shilony says:

    @Jura, thank you.

  29. Jens says:

    @jura – It might be the sheer amount of false-positives that causes the editor to seem like it gets “grooky” (slow, laggy and unable to present intelisense)… but the latest EAP doesn’t seem to suffer from that…

    That said, the editor still becomes quite useless from a “usage” standpoint, again due to the amount of errors reported. But nothing to do with the deeper functions like compiling etc…

    The “unreachable” one is properly the most annoying and the one that makes it really impossible to write with… (so I have to install/uninstall ReSharper 8 everytiime you have a question :P)…

  30. Thanks Jens. We’re hoping to fix the false positive for unreachable code for 8.0.

  31. Richard Haber says:

    When you speak of support for xUnit in R# 8, is this different from the support in R# 7? Is there a visual runner and results viewer as there are for nUnit?

  32. Cliff says:

    The ToString() Format Completion is great, but for DateTime all the options seem to be in America culture, eg month/ day /year, being in Australia this is not very useful is there any way you can chnage the default completion options so that day/month/year and day-month-year could be added or replace the current list of formats,

    If not how can I turn off the datetime toString code completion ?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">