05 Jun 2013 - Tomi Junnila

I’m giving myself an easy start by describing some development tools I use at the moment. As I am currently developing for Windows, I’m using Visual Studio 2012 with a number of extensions.

NCrunch

I found NCrunch about a month ago and immediately fell in love with it. NCrunch is a continuous testing tool for VS, and automatically runs my unit tests as I write them, making the red-green-refactor cycle a lot faster. I hadn’t really liked to do TDD before I started using NCrunch, but I now see exactly what the idea there is.

It was extremely useful for me when I was trying to both learn ANTLR and use it to write an interpreter for a particular domain-specific language, as I could simply make test cases of individual statements in that language, decide how they should get parsed, and I’d immediately get feedback when my ANTLR grammar was sufficient.

(As an aside, I did have some problems in getting NCrunch to work with ANTLR, which uses a somewhat peculiar build process, but I’ll leave that as a subject for a later blog post.)

Telerik JustCode

My opinion is a bit divided on this one (currently using version 2013.1.404.2). Its primary features for me are:

JustCode has more extensive refactoring tools than Visual Studio itself; to tell the truth though, I only use a handful, most of which probably are already available in VS, but I prefer the UI offered by JustCode more.

It checks my code in the background, as I type. However, I find that JustCode shows a lot of false positives (especially with Kendo UI which is a Telerik product as well, and other very common Javascript libraries such as jQuery), and after I choose to ignore them, JustCode often shows the same ones again after I edit some code elsewhere in the same file.

JustCode can format my code, both when saving each file, and when I complete statements with a semicolon or closing brace. Here, too, I have a few mostly minor things that annoy me:

  • Indentation in Razor files often gets confused, indenting some lines much more than the context should suggest (VS itself does this as well, so I’m not sure JC is to blame here). In some C# code (mostly unit tests that initialize a bunch of stuff), JC sometimes starts outdenting code strangely.
  • Some formatting options that are possible in Visual Studio natively aren’t available in JustCode.
  • JC (or VS) won’t remove trailing whitespace from lines.

Others

I have a couple of other extensions/tools I use:

  • I use Entity Framework Power Tools to generate views for the one project I have that uses EF. I really wish this were automatic and handled the build process (hmm, I seem to recall some discussion of just that somewhere), but it hasn’t been a very big issue for me so far.
  • Telerik JustTrace is Telerik’s memory and performance profiler. I’ve tried it a couple of times to try to debug a couple of performance issues, but – most likely because I haven’t really studied how to use the tool yet – didn’t manage to find anything useful then.
  • I’m partway between version control systems at the moment. For the past several years, I’ve been using Mercurial, but it seems that git is winning a lot more hearts and minds, so I’ve been transitioning a bit as well. I use HgSccPackage for Mercurial, and the Visual Studio Tools for Git from Microsoft(!) to use git.
  • I also use the Telerik RadControls libraries for WPF and Windows Phone plus Kendo UI for the web, but I don’t think this post is the perfect place to describe them — maybe in a later blog post.