Tuesday, June 28, 2005

my list of tools - part two

Here's part two of my list, which contains some of my favorite development tools that I use often.

Developer Tools
  • Reflector - Every .NET developer will obviously list this as one of their favorite tools. When it comes right down to it, there just isn't another tool out there that comes close to being useful for a .NET programmer than this one.

  • TestDriven.NET - This handy tool integrates with Visual Studio .NET and allows you to run unit tests without leaving the IDE. You can also run ad hoc tests on just about any method you care to right-click on.

  • WinMerge - WinMerge is probably the best diff/merge tool I've been able to find. And I've tried a lot of them.

  • XML Marker - Easy to use XML tool that validates as you type. This is a good one to use if you just want to get down and dirty and crank out some handwritten XML.

  • CygWin - Installs a Linux-like environment onto your Windows machine. Lets you use a Linux command shell and run many utilities that just aren't available for Windows.

  • NAnt - This is Ant, only geared towards the .NET Framework. Great for scripting builds and automation.

  • CruiseControl.NET - Another port from the Java world, this is a wonderful build server automation tool. It will monitor your source code repositories and execute a build script when changes are detected. This lets you know immediately when a checkin has broken the build so that you don't have to hunt through two-month-old code that broke the build.

  • GhostDoc - This Visual Studio plugin lets you use a keyboard shortcut to auto-generate skeleton XML documentation for your C# code. Saves lots of typing.

  • Regions Addin - Yet another Visual Studio plugin that lets you easily create and add existing code to regions. Very useful for organizing code files.

  • TortoiseCVS and TortoiseSVN - These are the best clients for CVS and SVN that I've come across. They integrate exceptionally well with the Windows shell, allowing you to perform checkouts, updates, commits, etc. right from Windows Explorer.

  • NHibernate - A nice ORM (object-relational mapping) solution that has its roots in the Hibernate Java ORM. There are, of course, plenty of ORM solutions out for .NET, but this is my current favorite.

  • Boo - This is a new language for the CLI (Common Language Infrastructure) that a lot of people are talking about nowadays. What I've looked at looks extremely intriguing, and I'm hoping to be able to delve into it a bit more in the near future.

  • SharpDevelop - Can't afford an MSDN subscription? Can't stand Visual Studio? Then this is the IDE to use. It's not quite as full featured as VS, but still has plenty to help you write .NET code. This is an excellent tool for people wanting to get their feet wet writing code for .NET that don't want to invest huge sums of money to get Visual Studio. There's also a Linux version, MonoDevelop, available that lets you write code geared towards the new Mono framework.

  • ColorMania - This is great for web developers, but also for client developers. Lets you find out what color a particular pixel is, and even suggest complementary colors and offers options to tweak the color to your heart's content.

  • Snippet Compiler - Snippet Compiler lets you try out pieces of code in a quick, easy to use environment, saving you from having to wait an eternity and a day for Visual Studio to load a new project.

  • SQL Buddy - This one's great in a pinch. It's basically a replacement for Enterprise Manager. And guess what? If you double click on a table in the treeview, it opens the table as a grid!! What a novel idea!!

  • db4Objects - This is a database engine that allows you to store instances of classes directly, without the need to map them to a relational database. It seems to be quite good at what it does, and is currently the tool of choice for many Mono developers.

  • Mono - This is the open source, funtional equivalent of Microsoft's .NET Framework. It's pretty well striving for binary compatibility with the .NET Framework, but with the goal of getting that running under a number of platforms. There have already been several significant applications built with Mono, and seems like a very viable solution for anyone who wants to target both Windows and Linux.

No comments: