Jacob Lewallen

Sponsors

The Lounge

Advertisement

Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
Good Tools and ReSharper 4 EAP Thoughts

One idea I've been thinking about lately is that good tools get out of your way. I started thinking about this after reading an article about photography and fancy equipment. A few days later I was upgrading my ReSharper to the latest EAP and started thinking about how the same principal applies to my tools in software development.

I've been a huge fan of ReSharper for a long time. It and ViEmu are an absolute necessity for me when doing any kind of work with C#. After we first installed it at work we would joke that it just knows what you want to do. When I use a new tool I usually don't see the value right away and to help others see the value faster I'm going to give a short list of the features I personally use constantly. Here is my list for ReSharper:

  1. Error Highlighting: Anything that saves me from a failed build saves me tons of time.
  2. Quick-Fix (Alt-Enter): Import Type and Initialize field from constructor(s) parameter. I use one of these every minute it seems. I also like that I can disable things. For example, I disable "Redundant this qualifier", that's how I roll.
  3. Generate (Alt-Ins): I usually generate properties and constructors with field initializers.
  4. Refactor: Move Type to File, Rename
  5. Ctrl-Alt-Space: Complete Type Name from any namespace, imported or not.
  6. Find Usages: I like that it keeps a history of past searches and that I can group things by project/namespace. It crosses usages out when I change things too, which is helpful.

It can do a lot more than this. What's particularly important is that I never know I'm using another tool. I rarely see dialogs popup and break my flow, that sort of thing. It gets out of my way. I'm always looking at my code. That's important because it's what I'm doing. Do your favorite tools get out of your way? While I have an audience I'm going to ask for a couple of things:

  1. I would love to be able to set my IntelliSense to default to Ctrl-Alt-Space mode when completing a type name. I'm trying to avoid having to go into that mode manually.
  2. When generating code (properties, constructors, etc...) there's a second dialog now that lets you set properties on the generated members. I would like to disable this second dialog, I'll never use it. It's much faster for me to manually tweak the generated code using my Vim-Fu.

Are either of these things possible already? Also, before you go, I think it's good to know which specific things people find particularly useful about their tools. If you have any features of any tool that you use several times a day, I'd love to hear what they are. Maybe I'm missing out on something.

Also, I'll be in Seattle for ALT.NET so come up and shake my hand!


Posted Wed, Apr 16 2008 4:41 PM by jlewallen
Filed under: ,

[Advertisement]

Comments

dbettes wrote re: Good Tools and ReSharper 4 EAP Thoughts
on Wed, Apr 16 2008 9:09 PM

Along with <a href="www.jetbrains.com/.../a>, I make good use of Red Gate's <a href="www.red-gate.com/.../index.htm">SQL Compare</a> every day.  It really helps in our development team where several people have their own test and dev database.  Now I can push changes to the other members of my team and keep them up-to-date.  Other tools include <a href="www.llblgen.com/.../a> as our O/R mapper and <a href="www.eworldui.net/.../">Unleash It!</a> (which always sounds like you're cussing when you say it) to push applications to production servers.  LLBLGen has a pretty steep learning curve for some but is well worth it and it can only get better with the next version that will make use of LINQ.

DeeJay Bettes wrote re: Good Tools and ReSharper 4 EAP Thoughts
on Wed, Apr 16 2008 9:28 PM

Man, I do not know how to post a comment!

The tools I listed are:

- Resharper

- SQL Compare

- LLBLGen

- Unleash It!

Sorry Jacob, for the horrible-looking post.

Dew Drop - April 17, 2008 | Alvin Ashcraft's Morning Dew wrote Dew Drop - April 17, 2008 | Alvin Ashcraft's Morning Dew
on Thu, Apr 17 2008 8:24 AM

Pingback from  Dew Drop - April 17, 2008 | Alvin Ashcraft's Morning Dew

Eric Swann wrote re: Good Tools and ReSharper 4 EAP Thoughts
on Thu, Apr 17 2008 10:11 AM

One of my favorite features is the built in unit test runner.  Although the one in 3.1 didn't support at leas tone of the new NUnit attributes I was using.  Haven't been using R# in a while because of frustrations when using LINQ and other C# 3.0 features and I've sorely missed it.  The 3.1 build for VS 2008 also kept crashing on me and slowing down VS (which is already slow IMO).  

What is your impression on the quality of the EAP?  Is it worth it to do a pull of 4.0 yet?

Jura Gorohovsky wrote re: Good Tools and ReSharper 4 EAP Thoughts
on Thu, Apr 17 2008 10:26 AM

Hi Jacob,

1) There's currently no such setting in ReSharper that would allow you to use Import Symbol Completion as the default completion technique. However, you're welcome to create a new feature request in <a href="www.jetbrains.net/.../a> if you feel that's really important to you. Please set forth your reasons clearly - the more convincing your request is, the higher is the chance to see it implemented :)

2) As for the Generate wizard, we're planning to improve it considerably by the time R# 4.0 is released, and if you stay tuned for new EAP builds, chances are you're going to be able to take advantage of these improvements even sooner.

Happy coding!

Jacob wrote re: Good Tools and ReSharper 4 EAP Thoughts
on Thu, Apr 17 2008 12:21 PM

DeeJay: I'll have to look into Unleash It! Our deployment is done with msbuild+robocopy+TeamCity and I'd like to see what other options we have, especially with multiple web servers, etc...

Eric: My EAP has been pretty stable. I do see an occasional exception though, but it doesn't get in my way.

Jura: Great to hear on the Generate wizard and I will add that as a feature request. Thanks...

Martijn Burgers wrote re: Good Tools and ReSharper 4 EAP Thoughts
on Fri, Apr 18 2008 4:27 AM

@Eric Swann : I have exactly the same annoyances with the unittest runner 3.1 build for VS 2008. The main difference with the unit test runner for VS 2003 (i can only compare with vs 2003) is that the devenv.exe process uses far more cpu time while in VS 2003 this is almost idle. This results in my case in out of memory exceptions and slow gui response.

This is problem occurs probably due to the output a test creates. ReSharper renders the test output to an html control while the tests run and this can take significant amount of CPU time if there's a lot of output. In my case i have turned on the the 'Track Running Test' option and this improves the run slightly.

I've reported this to jetbrains and they will improve this in 4.0. They are planning to disable output at all when the

Output panel is hidden in the future versions, so that it will speed up the test runner more.

Laters,

Martijn