Showing posts with label facts. Show all posts
Showing posts with label facts. Show all posts

12 March 2009

ReSharper 4.5 -- Looking in the Past

I didn't post anything for 4 months and I want to fix that. Where is my light bulb I wonder? Not that I had nothing to say, more like I was wearing developer's hat. Anyway, I thought I could explain what's been going on and what we've been doing for the upcoming release, ReSharper 4.5.

But before I start talking about the new release, I'd like to look back at ReSharper history.

2004, July: ReSharper 1.0
First release of JetBrains ReSharper, productivity add-in for Visual Studio 2003 and C# 1.1. Code analysis, quick fixes and context actions, refactorings and templates, all in JetBrains' intelligent style.

System.Console.Out.WriteLine("Hello .NET world");

2005, March: ReSharper 1.5
Added 8 new refactorings. Performance was significantly improved.

2006, May: ReSharper 2.0
With this new release, ReSharper makes a step up from a simple add-in to a real development environment. Support for Visual Studio 2005 and C# 2.0, more refactorings, ASP.NET support, Unit Testing, build script support, additional navigation commands and more.

2006, December: ReSharper 2.5
Focus on the performance improvements and usability to improve developers' experience. Of course we couldn't resist a few new features as well: null-reference analysis, Navigate from Here and Go to File Member.

2007, June: ReSharper 3.0
Major feature-loaded release, bringing many productivity enhancements to the table. Many of them are now perceived as if they've been there forever. Go to Symbol, find referenced and dependent code, automatic member reordering, rearranging statements and members, to-do browser. Code analysis got suggestions, VB got many of the features previously available only for C#, and XAML made it to the list of supported technologies.

2008, June: ReSharper 4.0
This release introduced support for Visual Studio 2008 and C# 3.0 with vars, extension methods, lambdas, LINQ, object & collection initializers, anonymous types, and partial methods. This alone would be sufficient for a new major release. However, we did more: Solution-Wide Analysis, Code Cleanup, Complete Statement, more refactorings, improved IntelliSense, recent edits and other tools to simplify everyday development tasks.

That is how ReSharper have been evolving in the past. What's next?

2009, March-April: ReSharper 4.5

To be continued...

22 November 2007

ReSharper and Visual Studio 2008

Since there is a lot of buzz about Visual Studio 2008 release, I thought I would stand and say about ReSharper in relation to this fact.

Released version

ReSharper 3 can be installed with Visual Studio 2008 and works fine, unless you are using C# 3.0 new features, like lambdas, LINQ, extension methods and such. This constructs are not parsed by ReSharper 3, which was developed to support C# 2.0 only. It is not only highlighting which doesn't support C# 3.0, it is all the core and code intelligence. For example, rename refactoring will not find usages of extension methods and will not update them.
There also could be some glitches, even if you don't use new C# 3.0 constructs. This is due to the fact that C# 3.0 compiler is always used in Visual Studio 2008 C# projects, regardless of target framework. It it is not widely discussed, but changes in language are wider than just several new features. There are differences in type inference in generics and candidates lookup for binding, to name few. If you happen to hit this special cases, ReSharper could behave incorrectly.

If you are really-really going to immediately jump C# 3.0 wagon, you can disable highlighting (Options / Code Inspection / Settings) and switch to Visual Studio native intellisense (Options / Environment / IntelliSense / General). This will help a bit, but still you cannot trust find usages results, refactorings and many other features.

There was also reported weird problem with Visual Studio 2008 and ReSharper installed on x64 computers - opening Visual Studio's Find dialog crashes. We are currently trying to reproduce this problem. If you experience this problem, please tell us!

Some people tend to ask for quick-and-dirty hack for ReSharper 3 so that it just parses the code and don't do anything intelligent with C# 3.0 code. It is not possible. Details are not important here and are pure technical.

Next version
ReSharper 4 is in very active development. Its main purpose is to support C# 3.0 in all of its beauty. This means not only parsing and code intelligence, but also new analysis, refactorings, context actions and quick fixes. We are concentrated on making your development experience with C# 3.0 as smooth and pleasant as possible.

Currently, we have support for implicity typed variables and arrays, extension methods, object and collection initializers and automatic properties. As soon as we complete support for lambdas, queries and anonymous types, we will open Early Access Program. We plan to achieve this goal in January, 2008.
From this point you will be able to download EAP or even nightly builds and try full power of ReSharper 4 with your new C# 3.0 code.

In regards of upgrade policy, we are currently in the process of deciding upgrade cost, who qualifies for free upgrade, or if we want to do something special about this release. I will post about it as soon as I can.

As for release plans, we are aiming at 2008'Q1, hopefully sometime soon after Visual Studio 2008 launch event in February. ReSharper 4 will be available to general public via Early Access Program at least for 2 months before release.

If you have any questions, do not hesitate to ask in comments.

25 June 2007

ReSharper Curious Facts - Unit Testing

ReSharper 3.0 was released after passing 8518 tests. It took the total of 1 hour 46 minutes to compile, run all tests, prepare help, build installation packages for all three editions, package sources and binaries for archiving -- all without user interaction, automatically by TeamCity.

21 June 2007

ReSharper Curious Facts - Ancient Request

Oldest request fixed in ReSharper 3.0 is number 2235, the one about intellisense in app.config files, originally filed on May 06, 2004. Interesting, it was me who submitted it when I was not working at JetBrains but already loved ReSharper and used it in my daily work.