Over the last year, I have been compiling a list of all the tools I use on a regular basis. I was amazed how many there are. Below are the tools I find useful to do my job as a .NET developer. I hope you find them useful as well.
Great SCM tool that is probably the most popular open source SCM around.
A distributed version control system (DVCS) that is gaining popularity.
Currently, the most popular open source Distributed Version Control System (DVCS).
Open Source Subversion plugin for Visual Studio.
Windows explorer extensions for Git.
GitEtensions Visual Studio Plugin
Visual Studio Plugin to manage git.
Windows Explorer extensions for SubVersion.
Windows Explorer extensions for Git, functions similar to TortoiseSVN.
Great Mocking Framework for .NET.
Test runner that can run NUnit, MSTest, MBUnit, etc, all in one. Really simplifies Continuous Integration when dealing with multiple test frameworks.
Visual Studio plugin that really simplifies running tests. Its the fastest test runner I have used.
The standard Unit Testing framework for .NET
Extension to NUnit to help promote BDD (Behaviour Driven Development)-style tests.
Testing framework for .NET that promotes BDD style tests, but also seeks to minimize test size by the smart use of lambdas.
Fluency (previously called FluentObjectBuilder)
C# library I wrote to help create Fluent interfaces (DSLs) in C#. Works well to build configurations or dynamically build objects for testing. I’ll be adding blog posts detailing its use soon.
SSMS Tools Pack
Plugin for SSMS that adds a good deal of functionality. Includes the ability to script out data, see versions of scripts that have run, etc.
The most popular ORM for the .NET platform.
.NET library that exposes fluent intefaces to configure NHibernate and define mappings.
Profiler for NHibernate written by Ayende Rahien. An absolute must-have for serious NHibernate development.
Plugin for Visual Studio that allows you to collapse to projects and many other functions.
For Visual Studio 2010: http://visualstudiogallery.msdn.microsoft.com/en-us/e5f41ad9-4edc-4912-bca3-91147db95b99
For Visual Studio 2008: http://visualstudiogallery.msdn.microsoft.com/en-us/df3f0c30-3d37-4e06-9ef8-3bff3508be31
The absolute MUST HAVE tool for any C# developer. If you haven’t used it, you really are missing out. I refuse to work without it.
.NET Profiler by the folks that brought us ReSharper. Will pinpoint hotspots in your code that are bottlenecks in performance.
Generates documentation comments in .NET from your method and variable names.
Excellent tool to help improve code readability within Visual Studio. Augments syntax highlighting. This is a commercial tool.
Windows utility that allows custom macros to be used. I use JP Boodhoo’s script to automatically add underscores when I press space while typing test names in Visual Studio.
JPBoodhoo AutoHotKey Test Naming Script: http://blog.jpboodhoo.com/BDDAutoHotKeyScriptUpdateTake2.aspx
A source code analysis tool from Microsoft. Very similar to FXCop, but focused more on the readability. Works great paired with ReSharper.
StyleCop for ReSharper
Visual Studio plugin to show StyleCop violations inline in the editor. Integrates with ReSharper such that pressing alt-enter will fix many issues automatically.
Library that simplifies developent of T4 code generation templates.
Oleg Sych’s blog (has many T4 Tutorials):http://www.olegsych.com/2009/10/t4-toolbox-support-for-visual-studio-2010/
Tangible T4 Editor
Visual Studio Plugin to allow editing of T4 templates with full syntax coloring.
Jimmy Bogard’s ReSharper TDD Productivity Plugin
This plugin allows you to jump from code, the the tests that cover it. However it is only supported thru ReSharper 4.5.
Sparx Systems: Enterprise Architect
The best UML modeling tool I have been able to find.
Code coverage too by JetBrains. Finally, a good alternative to NCover!
A very comprehensive code analyzer that generates many code metrics reports.
.NET code coverage tool. There is a free version, but support is lacking.
Formerly "Lutz Roeder’s .NET Reflector". Disassembles .NET code so you can view the source of dlls. Has now been purchased by RedGate.
Excellent diff viewer and 3-way merge tool. Beats the pants off TortoiseMerge. Free for personal use.
Microsoft’s build tool. Works well for automating builds and test runs. All things CI. Similar to NAnt.
MsBuild Community Tools
A collection of community-created tasks for MsBuild. Contains utilities to process zip files, execute sql, and much much more.
MSBuild Extension Pack
Another set of tasks for MsBuild.
Excellent CI server. I have used CCNet and Hudson, and really like TeamCity better than both. Allows full configuration of the build without editing tedious XML configuration files. Its free (with some limitations) and is from JetBrains. Great tool!
The de-facto standard CI server for the last several years. Works great, but can be difficult to configure.
Java-based CI server that is so easy to install, it is almost unbelievable. Like TeamCity, it allows full configuration of the build without editing tedious XML configuration files.
This is what I use to write blog entries. Haven’t found another tool that compares yet.
Syntax Highlighter 2.0
Screencasting & Presenting
Free, full-featured screencast recording software.
Most popular commercial screencasting tool around.
Allows you to dynamically zoom in to portions of your screen. Works great to point out code details during presentations.
Tool to show hotkey combinations as you type them. Great to use during screencasts or presentations so the users can learn from seeing what keys you are pressing.
Really nice tool to replace Task Manager. Shows much more detail.
A remote desktop client that supports tabs across to top for simultaneous connections, and scaling to view higher resolutions on a lower resolution screen.
Screen sharing software that works well in remote pairing. I use a dual monitor system with one monitor being mine, and the other, the monitor of the person I am pairing with. Works really well.
Free utility to capture full screenshots or portions of the screen. Very similar to SnagIt.
Extends your taskbar to your second monitor in XP or Vista.
Windows defrag utility that optimizes boot and often-accessed files to the outer edges of the spindle so they have faster access.
A windows clipboard tool that remembers the last several thousand snippets that were in your clipboard and maked them available to you via a simple dropdown menu.
Great utility that allows you to scroll a window using your mouse wheel when the mouse is over it, without having to give the window the focus. Once you use it, you will wonder how you ever did without it.
Control another computer’s mouse and keyboard simply by moving your mouse from your screen onto the adjacent computer’s screen. Makes two computers (or 3 or 4 or…) feel like one. I use it across 2 Windows boxes and my MacBook. The clipboard is shared and all!
SynergyKM (for Mac OSX)
Mac OSX version of Synergy. Much easier than trying to get the standard command line build to work.
Nice twitter app. They even have a version for Windows Mobile.
I used Twhirl until I found TweetDeck. Very nice application takes it to the next level. Integrates Twitter, Facebook, and now Google Buzz. It also has an iPhone app (which is great for me since I recently switched to an iPhone).
Great chat client, but also has high quality voice chat built in. I use this and VNC when pairing remotely. (I have used skype as well).
Voice chat online. Great for remote pairing.
Nice scrolling ticker for your RSS feeds. Automatically syncs with Google Reader and works on Mac and Windows. I keep this and TweetDeck running on my MacBook at work to keep me plugged in to the collective knowledge of the development community.
Documents & Notes
E Text Editor
TextMate for Windows….need I say more?
Open source, cross platform mind-mapping tool. If you haven’t tried a mind mapping tool before, please do. It takes note-taking and idea organization to a whole new level.
Visualization of directed graphs. Describe the graph in simple text, and generate the graphics from it. Simple, but powerful. Great for visualizing code dependencies and relationships programmatically.
Mac Gui (+ iPhone): http://www.pixelglow.com/graphviz/
Simple, solid text editor that allows you to specify your own syntax highlighting (to a certain degree).
Video Training Sites
I found the following sites very useful when trying to learn new technologies quickly.
Very reasonably priced, high quality training videos on new development topics.
Free, 10-minute training screencasts on new .NET technolgies. Perfect for the ADD inflicted developer like myself.
- JetBrains dotCover code coverage tool for .NET now in early access
- Video: Padawan to Jedi – A Developer Jump-Start (my presentation at Austin Code Camp 2011)
- A Streaming Message Writer & Reader in C# & Json.NET
- Why does IIS fail when I reference a .NET 3.5 assembly in ASP.NET?
- Improving the Developer Culture at Your Workplace