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.
Development Tools
Version Control
Subversion
Great SCM tool that is probably the most popular open source SCM around.
http://subversion.apache.org/
Mercurial
A distributed version control system (DVCS) that is gaining popularity.
http://mercurial.selenic.com/
Git
Currently, the most popular open source Distributed Version Control System (DVCS).
http://git-scm.com/
AnkhSVN
Open Source Subversion plugin for Visual Studio.
http://ankhsvn.open.collab.net/
GitExtensions
Windows explorer extensions for Git.
http://code.google.com/p/gitextensions/
GitEtensions Visual Studio Plugin
Visual Studio Plugin to manage git.
http://github.com/spdr870/gitextensions
TortoiseSVN
Windows Explorer extensions for SubVersion.
http://tortoisesvn.tigris.org/
TortoiseGit
Windows Explorer extensions for Git, functions similar to TortoiseSVN.
http://code.google.com/p/tortoisegit/
Testing
RhinoMocks
Great Mocking Framework for .NET.
http://www.ayende.com/projects/rhino-mocks.aspx
Gallio
Test runner that can run NUnit, MSTest, MBUnit, etc, all in one. Really simplifies Continuous Integration when dealing with multiple test frameworks.
http://www.gallio.org/
TestDriven.NET
Visual Studio plugin that really simplifies running tests. Its the fastest test runner I have used.
http://testdriven.net/
NUnit
The standard Unit Testing framework for .NET
http://www.nunit.org/
SpecUnit
Extension to NUnit to help promote BDD (Behaviour Driven Development)-style tests.
http://code.google.com/p/specunit-net/
Machine.Specifications (MSpec)
Testing framework for .NET that promotes BDD style tests, but also seeks to minimize test size by the smart use of lambdas.
http://github.com/machine/machine.specifications
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.
http://github.com/ChrisEdwards/FluentObjectBuilder
Data Access
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.
http://www.ssmstoolspack.com/
NHibernate
The most popular ORM for the .NET platform.
http://nhforge.org/
FluentNHibernate
.NET library that exposes fluent intefaces to configure NHibernate and define mappings.
http://fluentnhibernate.org/
NHProf
Profiler for NHibernate written by Ayende Rahien. An absolute must-have for serious NHibernate development.
http://nhprof.com/
Coding Support
Power Commands
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
ReSharper
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.
http://www.jetbrains.com/resharper/
dotTrace
.NET Profiler by the folks that brought us ReSharper. Will pinpoint hotspots in your code that are bottlenecks in performance.
http://www.jetbrains.com/profiler/
GhostDoc
Generates documentation comments in .NET from your method and variable names.
http://submain.com/products/ghostdoc.aspx
CodeKana
Excellent tool to help improve code readability within Visual Studio. Augments syntax highlighting. This is a commercial tool.
http://www.codekana.com/
AutoHotKey
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.
AutoHotKey: http://www.autohotkey.com/
JPBoodhoo AutoHotKey Test Naming Script: http://blog.jpboodhoo.com/BDDAutoHotKeyScriptUpdateTake2.aspx
StyleCop
A source code analysis tool from Microsoft. Very similar to FXCop, but focused more on the readability. Works great paired with ReSharper.
http://code.msdn.microsoft.com/sourceanalysis
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.
http://stylecopforresharper.codeplex.com/
T4Toolbox
Library that simplifies developent of T4 code generation templates.
T4Toolbox: http://t4toolbox.codeplex.com/
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.
http://t4-editor.tangible-engineering.com/T4-Editor-Visual-T4-Editing.html
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.
http://code.google.com/p/resharper-tdd-productivity-plugin/
Other
Sparx Systems: Enterprise Architect
The best UML modeling tool I have been able to find.
http://www.sparxsystems.com/
dotCover
Code coverage too by JetBrains. Finally, a good alternative to NCover!
http://www.jetbrains.com/dotcover/
NDepend
A very comprehensive code analyzer that generates many code metrics reports.
http://www.ndepend.com/
NCover
.NET code coverage tool. There is a free version, but support is lacking.
http://www.ncover.com/
.NET Reflector
Formerly "Lutz Roeder’s .NET Reflector". Disassembles .NET code so you can view the source of dlls. Has now been purchased by RedGate.
http://www.red-gate.com/products/reflector/
DiffMerge
Excellent diff viewer and 3-way merge tool. Beats the pants off TortoiseMerge. Free for personal use.
http://www.sourcegear.com/diffmerge/
MsBuild
Microsoft’s build tool. Works well for automating builds and test runs. All things CI. Similar to NAnt.
http://msdn.microsoft.com/en-us/library/0k6kkbsd.aspx
MsBuild Community Tools
A collection of community-created tasks for MsBuild. Contains utilities to process zip files, execute sql, and much much more.
http://msbuildtasks.tigris.org/
MSBuild Extension Pack
Another set of tasks for MsBuild.
http://www.msbuildextensionpack.com/
Continuous Integration
TeamCity
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!
http://www.jetbrains.com/teamcity/
CruiseControl.NET
The de-facto standard CI server for the last several years. Works great, but can be difficult to configure.
http://ccnet.thoughtworks.com
Hudson
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.
http://hudson-ci.org/
Blogging
LiveWriter
This is what I use to write blog entries. Haven’t found another tool that compares yet.
http://explore.live.com/windows-live-writer
Syntax Highlighter 2.0
This used to be called the "Google Syntax Highlighter" and is a Javascript-based syntax highlighter. It has a wordpress plugin as well.
http://alexgorbatchev.com/wiki/SyntaxHighlighter
Screencasting & Presenting
TipCam
Free, full-featured screencast recording software.
http://www.utipu.com/app/download
Camtasia
Most popular commercial screencasting tool around.
http://www.techsmith.com/camtasia.asp
Zoomit
Allows you to dynamically zoom in to portions of your screen. Works great to point out code details during presentations.
http://technet.microsoft.com/en-us/sysinternals/bb897434.aspx
Keyboard Jedi
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.
http://weblogs.asp.net/rosherove/archive/2007/06/03/train-to-be-a-keyboard-master-with-keyboard-jedi.aspx
Utilities
Process Explorer
Really nice tool to replace Task Manager. Shows much more detail.
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
RDTabs
A remote desktop client that supports tabs across to top for simultaneous connections, and scaling to view higher resolutions on a lower resolution screen.
http://www.avianwaves.com/tech/tools/rdtabs/
VNC
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.
http://www.realvnc.com
Screenshot Captor
Free utility to capture full screenshots or portions of the screen. Very similar to SnagIt.
http://www.donationcoder.com/Software/Mouser/screenshotcaptor/
MultiMon Taskbar
Extends your taskbar to your second monitor in XP or Vista.
http://www.mediachance.com/free/multimon.htm
MyDefrag
Windows defrag utility that optimizes boot and often-accessed files to the outer edges of the spindle so they have faster access.
http://www.mydefrag.com/
MiniClip
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.
http://www.mediachance.com/free/miniclip.htm
WizMouse
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.
http://antibody-software.com/web/software/software/wizmouse-makes-your-mouse-wheel-work-on-the-window-under-the-mouse/
Synergy
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!
http://synergy2.sourceforge.net/
SynergyKM (for Mac OSX)
Mac OSX version of Synergy. Much easier than trying to get the standard command line build to work.
http://sourceforge.net/projects/synergykm/
Social
Twhirl
Nice twitter app. They even have a version for Windows Mobile.
http://www.twhirl.org/
TweetDeck
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).
http://www.tweetdeck.com/
GoogleTalk
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).
http://www.google.com/talk/
Skype
Voice chat online. Great for remote pairing.
http://www.skype.com/
Snackr
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.
http://snackr.net/
Documents & Notes
E Text Editor
TextMate for Windows….need I say more?
http://www.e-texteditor.com/
FreeMind
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.
http://freemind.sourceforge.net
GraphViz
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.
http://www.graphviz.org/
Mac Gui (+ iPhone): http://www.pixelglow.com/graphviz/
TextPad
Simple, solid text editor that allows you to specify your own syntax highlighting (to a certain degree).
http://www.textpad.com/
Video Training Sites
I found the following sites very useful when trying to learn new technologies quickly.
TekPub
Very reasonably priced, high quality training videos on new development topics.
http://www.tekpub.com/
Dimecasts
Free, 10-minute training screencasts on new .NET technolgies. Perfect for the ADD inflicted developer like myself.
http://www.dimecasts.net/
5 Comments