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.