There are a few choices in tools for ColdFusion development in a Windows environment. I have found the following set of tools to work well for me. Editor: Eclipse with CFEclipse Plugin
I have tried out a couple of editors – CFStudio, HomeSite, Dreamweaver then Eclipse. Dreamweaver is still number 1 for me for CSS development, but Eclipse has grown on me over the past couple of months for my ColdFusion development.
Source Control: Subversion with TorsoiseSVN
These can be downloaded as a bundle from SVN 1 Click Setup. A huge thanks to Brian Kohrs for getting that together – makes the whole installation and setup very easy.
If you are not currently using source control software then it is well worth investing some of your time understanding what it is and getting it up and running. Even if you are a solo developer, having a source control environment is absolutely essential.
Subversion on its own is a command line tool, so TortoiseSVN comes to the rescure and gives you a great GUI to work with that talks to the Subversion repository.
If you want to download the Windows Subversion installation files separately, they are a bit hard to find via an obscure link on their Subversion site. So to save you some time here is the link;
Download Subversion for Windows
Then download the highest release file named svn-x.x.x-setup.exe
Build Tool: Apache Ant
What is a build tool and why would you want one? Well, simply a build tool lets you regularly execute a bunch of commands such as deleting directories and files, creating directories, copying files, updating databases, getting files out of source control and running unit tests, plus lots and lots of other things. Creating software is hard enough, but then getting it ready to be deployed to a test server or production server is a whole other problem. If you ever find yourself performing the same steps over and over again such as clearing out database tables or copying files manually to a test server or deleting unnecessary files from production release code then a build tool will help you to automate that process.
If you have never used a build tool before then it is really worth investing some time in getting it set up in your environment. It saves an incredible amount of time in all sorts of repetitive tasks.
Unit Testing: CFCUnit
What is a Unit Test? Well, simply it is some code that checks some other code you have written to ensure it is working as expected. Is can be used to test even very simply code such as ensuring a function that adds a few numbers together is working correctly. Over time you could develop hundreds of unit tests for a project.
I have recently begun unit testing my code and find that is quite hard to know what to test and I do seem to be going a little more slowly than usual, but I am hoping the payback will be in the future when I make a change to one heavily shared section of code and my unit tests faithfully tell me how much of the system I have broken.
It can take some time to learn how to use all of these …
If you have not used some of these before they can take a bit of time to get to understand. I started out by getting to know these one at a time, first source control, then building then unit testing. Good luck!

4 Comments
Have you tried Subclipse?
- Jaime
Hi Jamie, no I haven’t tried Subclipse yet – I will have a look at it. Thanks.
Hi Kevan, have you got an update on your development tools? Maybe if you’ve started using subclipse and maybe have found the Aptana plugin useful?
Hi Sebastian, actually not too much of a change. Current tool set is:
IDE/Editor: Eclipse with CFEclipse with Aptana plugins. I have actually stopped using Dreamweaver alltogether (I guess since I discovered Aptana). I used Subclipse for quite a while on a large project with many many files and unfortunately Eclipse became extremely sluggish to use, so I disabled the Subclipse plugin. I do miss having a connector to Subversion from within Eclipse.
Source Control: Still Subverson with Tortoise SVN.
Build Tool: Still Ant.
Unit Testing: Still CFCUnit, but sadly not so much recently.
I would also like to comment on a design tool I have discovered recently: Violet UML ( http://horstmann.com/violet ). I am exploring doing designs before coding (yes, revolutionary, I know). I have found Violet to be absolutely fantastic. I was trying out ArgoUML before, but it didn’t really lend itself to CF typeless design and a bit tedious to work with. Violet showed up and is just perfect for what I need. It also has an Eclipse plugin that I have not tried yet ( http://alexdp.free.fr/violetumleditor/page.php ).