Showing posts with label about. Show all posts
Showing posts with label about. 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...

03 October 2008

ReSharper Guidelines -- First Time Users

Harry L. wrote in review of ReSharper on Visual Studio Gallery:
... I have found that I used the features of Resharper almost without knowing it. What amazed me was how many features I use without going up a long learning curve...

Indeed, most important ReSharper features can be instantly learned right from the code editor without reading any documentation. However, I thought that having some guidelines about where to look and how to improve own productivity would be nice anyway. So I'm going to write several posts about how to use ReSharper in a form of guidelines.

Shortcuts are given for Visual Studio keyboard scheme, but you can easily find shortcuts for your configuration in ReSharper menu.

First Time Users guidelines:


  1. DO open your real project in Visual Studio with ReSharper enabled. Playing with the productivity tool in a sandbox doesn't really give you understanding about its effect. It can take some time for ReSharper to analyze your solution for the first time, but it will be much faster during subsequent runs.

  2. DO NOT run away from your Visual Studio when you first open your source code with ReSharper :) You will see colored identifiers, a lot of squiggles indicating warnings and suggestions, redundant code painted in gray -- your code most likely will be overhighlighted. You will clean it up pretty fast with ReSharper. You can switch Color Identifiers off if you wish (ReSharper / Options / Code Inspection / Settings).

  3. DO configure your naming (ReSharper / Options / Languages / Common / Naming Style) and formatting preferences (ReSharper / Options / Languages / C# / Formatting Style). ReSharper uses these settings when guessing on identifiers, while updating the code and doing other automatic code generation and transformation for you.

  4. DO learn 4 keyboard shortcuts to use in code editor:

    • Alt-Enter - opens code transformation menu with Quick Fixes and Context Actions. Try it whenever you see light bulb to the left of your code, and see what you can do with it.
    • Alt-` (Navigate from Here) to open menu with actions to navigate from currently selected symbol, like "Go to base", "Go to derived" and "Go to usages"
    • Alt-Ins (Generate) -- generates type members, like properties, constructors, overrides and implementations, Equals, GetHashCode and ToString methods.
    • Ctrl-Shift-R (Refactor This) -- opens menu with all refactorings available at current caret position (or current selection in any ReSharper tool window).

  5. DO NOT use Solution Explorer to find code, use "Go to Type" (Ctrl-T), "Go to File" (Ctrl-Shift-T), "Recent Files" (Ctrl-,) and other commands from ReSharper / Go To menu. This will help you navigate much faster.


After you familiarize yourself with these basic actions, download and print key map and start exploring other commands.

18 February 2008

Better Development Tools -- Building Together

Dear early adopters!

We thank you kindly for your participation in ReSharper 4 early access program. It is going to be wonderful release for everyone, because of you. This time we receive the best response ever, and we are so excited about it!

Many brave developers, who are trying ReSharper 4 early builds with Visual Studio 2008, registered in our issue tracker and provided us with detailed, specific and very important information. This is really great, because we were able to reproduce many issues that were lurking around our code base for some time now. It is very important that you registered and provide us with non-anonymous feedback: bidirectional communication is at least 16 times more effective than one way exception submitting. One sample solution which manifests the problem is 256 times better than 1024 exceptions without a comment. And it is invaluable when you submit instructions to reproduce the problem (well, at least var value = int.MaxValue).

Thank you very much, we really appreciate your effort! With that kind of feedback we receive today, I believe we can build the best release of ReSharper, ever. Everybody wants better tools, right? ;)

Sincerely Yours, Ilya.

12 July 2007

ReSharper 3.0.2 Early Access Program

We opened ReSharper 3.0.2 Early Access Program and now you can download nightly builds of the next bugfix update for ReSharper 3.0.

What is EAP and why do you want to participate?
There are two major benefits in using early builds and participating in the program:

  • You get the cutting edge technologies, new features, productivity improvements and bug fixes as soon as they are implemented. You don't have to wait for release, you can start working more effective immediately.

  • You can influence product development and make sure it works right for you, in your environment, for your development style.
Of course, participating in early access program has its disadvantages, mainly no guarantee that particular nightly or EAP build will work for your project (is there any software currently on the market which does guarantee anything?). However, we install nightly builds every day and rarely have fatal problems preventing us from using Visual Studio and ReSharper.

Why do we need EAP?
We need EAPers for the one simple reason - we can't setup that many test environments people have around the world. Various technologies, libraries, plugins, regional and cultural differences, operation systems and more and more. We can't cover it all. We also can't learn all that styles people do development in. With EAP we can listen to you, and listen early.

How to get most from EAP?
  • Be proactive. If you see something you don't like - tell us. If you feel something works slow - tell us. If you miss a feature, if you think ReSharper should be smarter in particular case, if you find a typo - file a request in our JIRA database.

  • Communicate. It doesn't work in a "fire and forget" style. Don't be anonymous, answer the questions team may ask. Explain why the feature is important and how it should work, give code examples to reproduce a bug, make screenshot when you think you see something wrong.

  • Update and share. I know, it takes some time to download and install new build. I wouldn't suggest to update daily, but if you are interested in taking most from EAP you'd update at least weekly. Tell us and other EAPers how the build is going. Discuss improvements and degradations. Share your experience.

Do you want to join today?

Start EAPing with pleasure! :)