These are the tools that I’m currently using for website development. Nothing too complex in here – I haven’t felt the need to break out Eclipse or anything equivalent yet.
FireFTP: Since I’m developing on my home PC instead of remotely editing the WordPress install, I need to be able to transfer the files back and forth. There are a ton of FTP clients, but this Firefox plugin has worked well for me for the past several years.
XAMPP: I want to be able to run WordPress locally. Installing XAMPP – which is basically an Apache install bundled with MySQL, PHP and Perl – makes that easy. It’s simply a matter of installing WordPress into the xampp/htdocs directory.
Notepad++: GPL-licensed Notepad replacement/text editor. Decent support for source code, it’s something that I install on every computer that I have to use for more than a couple of hours.
Paint.NET: For the odd bit of picture manipulation that I have to attend to.
The general approach that I’m following: I’m writing all the posts and pages on the public web site. Any work that involves modifying the WordPress install – themes, functions, any of that sort of thing – is all done locally first and only uploaded to the public site once it’s been tested out properly.
There are things that I know I should be doing better. For one, I’m not using source control of any sort, and that can be chalked up to sheer laziness. That’s definitely something that I’m going to address before I start working on the various development projects that I’ve defined for myself.