My Developer’s Toolbox

All software developers have a myriad of tools they use to help them design, test, and develop code and applications. This is mine. It is by no means comprehensive; I learned long ago there are too many technologies and tools out there for any one person to use or experience. The tools you’ll find below are thus ones I (mostly) use routinely. Most are free. I’ve paid for the ones that aren’t; I’ve found them that useful. Besides, I like to help support my fellow developer, especially when they make my life easier.

Development

These are the core tools I use to get my development work or coding done.

Visual Studio

There’s probably not much I can say about Visual Studio that you don’t already know. It’s matured into one of the best IDE’s out there and is my main development environment. I use Visual Studio Team System 2008, Development Edition. Microsoft has a number of virtual labs available where you can try Visual Studio out, or go for one of the free, scaled down Express versions.

Visual Studio 2010 Add-On’s

  • Visual Studio Color Theme Editor
  • PowerCommands for Visual Studio 2010
  • Visual Studio 2010 Pro Power Tools
  • Code Compare

ReSharper

ReSharper is a wonderful productivity tool. It “provides solution-wide error highlighting on the fly, advanced code completion, superior unit testing tools, over 30 advanced code refactorings, multiple handy navigation and search utilities, single-click code formatting and cleanup, automatic code generation and templates, and a lot more productivity features for C#, VB.NET, ASP.NET, XML, and XAML.” Oh, it integrates with Visual Studio, too.

log4net

A great logging utility that fits into about any logging scenario.

FxCop

[ read my post VisualStudio Code Analysis vs. FxCop vs. StyleCop… what’sthe diff? ]

FxCop is an application that analyzes managed code assemblies and reports information about those assemblies, such as possible design, localization, performance, and security improvements.

The latest version of FxCop (1.36 as I type this) can be downloaded from here. Look to the Code Analysis and Code Metrics blog for future release information as well as other good info about FxCop.

StyleCop

[ read my post VisualStudio Code Analysis vs. FxCop vs. StyleCop… what’sthe diff? ]

StyleCop analyzes C# source code to enforce a set of style and consistency rules. It can be run from inside of Visual Studio or integrated into an MSBuild project. More information about StyleCop can be found at the Microsoft StyleCop blog.

StyleCop for ReSharper

Nice add-on to add real-time syntax highlighting of StyleCop rules violations. Read the my post about this tool.

Source Control

Visual SVN Server/Client

Visual SVN is one of the many SVN implementations. The client piece is free and has great integration with Visual Studio. The server piece is not free, but the price is fairly low. This is the source control system I use.

Tortoise SVN

A free SVN implementation that integrates well with Windows Explorer. If you install Visual SVN, they will recommend that you also install Tortoise SVN.

SVN Utility: Remove SVN Folders

A nice little shell utility to delete .svn folders. A huge time saver.

Debugging/Diagnostics

.NET Reflector

Great tool for breaking down your managed assemblies and inspecting the .NET libraries. You’ll likely find out more than ever wanted to know.

Depends/Dependency Walker

The must-have tool for sorting out your application’s dependencies.

Firebug

Great little Firefox add-on to help edit, debug, and monitor CSS, HTML, and JavaScript, live and in any web page. The ability to highlight any section of a web page and see the underlying make-up is invaluable

YSlow for Firefox/Firebug

Analyze the performance of your web site and get some tips on how to make it faster.

Internet Explorer Developer Toolbar

Analogous to Firebug, but for Internet Explorer. I find myself often using both, especially when faced with a cross-browser issue.

PageSpy

This one provides similar functionality to Firebug and the IE Dev Toolbar. It’s one I keep meaning to experiment with more. I thought I’d at least list it in case you want to check it out.

Fiddler

Fiddler is a tool that allows for network and HTTP monitoring. It’s one I haven’t played with too much, but adding it anyway since I think it’s a tool that potentially could provide value when you need its functionality.

ELMAH

[ read my post AddingELMAH to your ASP.NET Web Site ]

How did I ever live without this? Reprting for unhandled exception handling and other errors your site may encounter but which you probably don’t even know about.

Testing

NUnit

My default unit testing platform. I also use it for integration style testing prior to deployment.

TestDriven.NET

I can’t say enough about this Visual Studio add-in. TestDriven.NET gets used almost every day by me. It’s specialty is allowing you to run and debug into unit tests. I love it.

Silverlight Unit Testing Framework

This is one that’s on my radar, thus the listing here. I hope to investigate what it offers more as I get into development with Silverlight.

Documentation

NDoc

We use this one at work. It’s a nice tool for generating code-level documentation.

Continuous Integration

CruiseControl.NET

[ read my series on Settingup a Continuous Integration System ]

CruiseControl.NET is incredibly flexible, somewhat easy to configure, and should be part of any development shop’s build, test, and deploy process. It’s the crux of my continuous integration environment.

Setup

IExpress

A free utility that comes with Windows for creating self-extracting executables. You can read my post about it here.

Deployment

At work, I don’t do deployments. We have other groups dedicated to QA and subsequent deployment into our production environment. On the personal side, however, I perform the heavy chore of deploying (web site) files myself.

SmartFTP

This is FTP at its best. SmartFTP is quick, efficient, uses threaded uploads (so you can upload multiple files at the same time), has a real slick interface, and just works. It’s also regularly updated. Licensing is not free, but this one is worth the purchase.

Web Site Statistics

Google Analytics

View web site statistics galore with this one. Great for tracking content visitor hits over time.

Quantcast

Free, public web site statistics and demographic information. View stats for this site.

W3Counter

Similar to Analytics, but W3Counter provides real-time web traffic data. The “free” account, however, only includes monitoring one web site and has a daily limit on reported page views. Still, it’s become my web stats provider of choice. If you want to see it in action, take a look at the public stats for this site.

RSS

So these technically aren’t development tools, but you need some way to keep up the development community and that happens more often than not on blogs. These are my readers of choice.

RSSBandit

Great offline RSS reader. I switched to RSSBandit after we lost Internet connectivity for a day during a winter storm. It’s does a good job keeping up with my feeds and, one of the best things, it will automatically download attachments, so my podcasts are always there ready for a listen.

Google Reader

Though I mostly use RSSBandit, if I don’t have my laptop but still have Internet access through another machine I go with Google Reader. It’s browser-based, fast, and has a nice tagging system similar to Google Mail.

Blogging

Blogging facilitates better development. Here’s what I use when blogging.

Windows Live Writer

This is really the only blogging tool I’ve ever used. With add-in support, a slick editor, the ability to preview a blog entry and then publish that entry right to your blog, I haven’t had much need to try anything else. Get updates and more information about WLW at the WLW team blog, the Writer Zone.

Backup/Online Storage

Dropbox

Dropbox is my cloud storage provider of choice. You get 2GB of storage for free, it’s fast, secure, and is completely unobtrusive.

Utilities

These tools don’t fit into the above categories but they’re equally useful for different tasks. They might not be development specific, but they’re part of my overall suite of tools that I use to get things done.

Windows Sysinternals

I use a variety of tools from the Sysinternals suite: Process Explorer, FileMon, Process Monitor, and others. There’s a wide variety of tools contained therein; it’s the Swiss army knife of Windows utilities.

Beyond Compare

This is the best file comparison tool I’ve ever used. It’s not free, but well worth the (trivial) cost.

Winsnap

Winsnap knocked me off my feet when I started using it. I had to have it. A quick purchase later and I’ve been happy with it ever since. This is the best tool out there (that I’ve seen) for taking screenshots. It has a timed shot feature, and readily grabs the entire screen, an application window, or region. It’s what I use to take snapshots of most of the images on this blog.

Winkey

If you’re like me and can’t figure out how to map hot keys in Windows Vista, just download Winkey and don’t worry about it. It’s easy to use, works well with Vista, and saves you mouse clicks.

Launchy

The most excellent keyboard shortcut accelerator I’ve ever used. Alt-Space and go. Amazing.

CPU-Z

Everything you’d ever want to know about your machine’s CPU, motherboard, memory, graphics card, and more.

The Password Meter

Not really a development tool, but a neat online utility that tests the strength of your password and reports a breakdown of why it’s weak or strong.

Browser Add-on’s

IEView / IEView Lite (for Firefox)

Opens web pages in Internet Explorer from Firefox.

FirefoxView (for IE)

Opens web pages in Firefox from Internet Explorer.