It's been a while since I last wrote about ReSharper future. That's because we are actively working on ReSharper 3.0, the upcoming new version of our intelligent Visual Studio add-in. Besides numerous bug fixes, improvements and greater performance, we are adding more functionality to our product. In the upcoming posts I'm going to reveal what is going to be included in ReSharper 3.0 in more detail. Now I'll just list the most important things we are planning for this release:
Visual Basic .NET
C# developers already know how fast one can work with source code when ReSharper is installed. Now we bring the same pleasure to VB.NET developers. Editor improvements, such as expand/collapse selection, navigate next/prev member, duplicate line, comment/uncomment block/line and other small features, make code editing more enjoyable. Completion brings Smart Completion and Type Completion flavors to VB.NET along with automatic Imports inserting and all other bells and whistles. Code generation with Alt-Ins provides a quick means for generating properties, constructors, overriding and implementing members and works with the same level of cleverness as it does in C#. Live Templates now understand VB.NET and have smart iteration and cast templates, such as For Each or TryCast. Of course, we have Refactoring support for VB.NET in this version, which includes the most important refactorings like Rename, Move and Copy Type, Change Signature, Introduct and Inline Variable, and many others.
If you are a VB.NET developer and if you've ever seen how fast ReSharper-powered C# developers work, you owe yourself to try our EAP versions of ReSharper 3.0.
We are adding a number of useful editor improvements to Visual Studio XML support. They include expand selection, navigate to next/previous tag, replace tags, and some others. Live Templates are now supported in XML files and have some useful macros. Type completion works in XML, so that you can write configuration files easier. You can also navigate to type from XML.
Being a language for user interface definition, it is still a compilation unit and it defines types and fields which are visible from other code. ReSharper is now capable of parsing XAML files, navigating, searching, and otherwise providing data for code exploration tools. We also plan to support smart completion and type completion in specific places, like event handlers, namespace aliases and tags/attributes where a control type is expected. Refactoring support in XAML will be limited in this version, but will allow renaming and moving types between namespaces without breaking code.
Besides all the languages support listed above, we are adding a number of useful tools and upgrading some existing tools. We've included To-do Explorer, which hunts for comments according to specified patterns and displays them in a dedicated tool window for quick access. We've improved Type Hierarchy to show members of selected type, either all or just polymorphic, and added some new hierarchy browsing capabilities. Unit Testing system is undergoing a major update to support multiple sessions, better support for various testing frameworks like mbUnit, VSTS and NSpecify, improved debugging usability and allow browsing solution for tests in dedicated Unit Test Explorer tool window. The "Go to by name" family of features, which already includes Go To Type, File or File member, is supplemented with Go To Symbol - your best friend when you remember a method's name, but not that util class it was seen in.
Improvements and bug fixes
I'm not going to give you a list of hundreds of bugs and exceptions fixed since previous release. I can't even remember all those small improvements here and there, which makes development with ReSharper even smoother and helps support development flow. Numerous context actions help craft code faster in many new use cases. New code analysis helps keep code clean and spot various problems as soon as you create them (accidentaly, of course). New quick fixes provide yet more automatic code corrections.
I'm going to blog in details about some of the new features in ReSharper 3.0 and show you some screen casts. I will probably break announced rules of this blog and start publishing tips and tricks, combos and advanced techniques in code generation, analysis and refactoring.