One of the larger efforts in ReSharper 7 was support for Visual Studio 2012, in terms of integration, enhancements of the Visual Studio experience, as well as new technologies such as WinRT. In this post we’re going to go over some of these.
Visual Studio 2012 provides support for theming, and ships with default Light and Dark themes. We have added support for this by updating all our menus, icons etc. to make sure it looks pleasant on both light and dark themes.
Visual Studio also introduced monochrome icons. We received a lot of feedback from our users asking us to not follow the same style and convert all our icons to monochrome. At the same time we also had other users saying that the color icons do not comply with the new VS look. With taste being so subjective, we decided to leave it up to you, the user, to decide what you would like your icons to look like.
You can now choose how application icons appear such as those on refactoring menus, toolbar windows, etc. as well as source code symbol icons such as types, properties, etc. All of these are configurable via ReSharper | Options | General. In fact we’ve even given our own icons a face lift!
Asynchronous Solution Loading
Microsoft added support for Asynchronous Solution Loading in Visual Studio 2012, allowing projects to be loaded asynchronously when opening up a solution, which in turn helps us continue our work without having to wait for the entire operation to complete.
In ReSharper 7.0, despite some serious challenges that we faced with ASL and the API surface exposed, we have managed to provide 100% support for this feature, incrementing the startup time drastically, allowing you to benefit from ASL and all the ReSharper goodness.
Just so you get an idea of the performance gain, the same solution, consistent of 300+ projects, opened in Visual Studio 2010 using ReSharper 6 takes 5 minutes 12 seconds. In Visual Studio 2012 using ReSharper 7, it takes 1 minute 17 seconds!
With Visual Studio 2012, if you are not sure under what menu a certain action is located or how it is exactly named, you can use the Quick Launch options (Ctrl+Shift+Q) to find it. As a plug-in to Visual Studio, we had to facilitate providers for this quick launch in order for our actions to also be available. As such, typing something along the lines of Go To should display all the ReSharper | Go To options.
In a way, this is also a discoverability enhancer: If you want to discover things ReSharper offers you, just type ReSharper.
Visual Studio 2012 introduces what’s called the Preview Tab, which is a tab that opens on the far right side of the editor window when browsing a file. As soon as you start editing, it will then become a “normal” tab, placed alongside the rest of the open files, starting from the left side. If you’ve not seen this before, try it: navigate through the Solution Explorer and see how files magically appear and disappear in a tab on the right. As soon as you edit, they’ll move to the left:
ReSharper supports this functionality via any of its navigation features, including Go To Type, Member, File, Declaration as well as through Find Usages and other tool windows that deal with files.
Solution Explorer Awareness
In the Solution Explorer, you can now expand a file and get access to its members. We provide context sensitive menus on these items so you can invoke ReSharper actions such as refactoring, find usages, etc. directly from them using the context menu or any of the refactoring shortcuts:
In the Ultimate Edition of Visual Studio 2012, the Architecture Explorer allows a project view allowing drill-in to namespaces, types and members. Once again we provide context sensitive support here with options such as Navigate To and Refactor This:
As well as supporting the Architecture Explorer in Ultimate Edition, we also provide access to functionality in the Dependency Graph, again allowing for refactoring, navigation and other goodies:
We hope that some of these features make your coding experience more pleasurable in Visual Studio 2012. Since ReSharper support for the new Microsoft IDE is pretty wide and stable, we’re committed to sim-ship ReSharper 7 with Visual Studio 2012 RTM.
Stay tuned for more detailed information about framework support and other new features in ReSharper 7.