Every developer has a tool chest of favorite tools that make their work easier. These tools vary from developer to developer and of course, are based on the type of development being done. For web development though, I’ve found a handful of tools that I simply cannot do without. None of these are new or unknown, but I wanted to aggregate them into a single handy list.
Vim or Vi Improved is the standard text editor for Unix and many Linux systems. I learned HTML on Vim before we had WYSIWYG editors for web pages. This is my favorite text editor and I still use it today. At some jobs, I’ve had to do my development on Windows machines. Fortunately, there is a version of Vim available for Windows which makes text editing a breeze. Vim for Windows understands both Unix and Windows formatting so it makes it easy to download text files from a server and edit them locally. Additionally, it provides color syntax highlighting for a number of languages.
Remember how I said I often have to develop on Windows machines? WinSCP is an absolute live saver. A number of the servers I need to upload to only support the secure copy protocol or scp. WinSCP provides a Windows explorer style interface to scp for uploading files similar to older graphic ftp clients for Windows.
Revision control is an important feature of development. Even if you’re not working collaboratively, I’ve found the ability to roll back to an earlier version has often encouraged me to experiment with my code and try new things. Subversion is my revision control system of choice. It solves a lot of the issues of CVS such as reorganizing directories. Subversion provides easy methods for moving and renaming folders in a project. There is a Windows version of the server. There are also numerous versions of the subversion client for just about every operating system. TortoiseSVN is a Windows Subversion client that neatly integrates into Windows explorer.
Bluefish is an open source code editor for most major operating systems. Bluefish is very fast and lightweight but provides many features of a fully developed IDE. Bluefish has syntactical highlighting for numerous languages such as Python, PHP, PERL, HTML, CSS, C, C++ and Java. It also features a WYSWYG editor and the ability to create projects with folder and file hierarchies. With an integrated ftp and scp client, Bluefish can even fetch and upload files from and to a remote server. This is my favorite code editor for bigger projects where Vim just isn’t enough.
Aardvark is actually a Firefox plugin but if you do any web development, you need it. When activated, Aardvark will highlight the various CSS block elements on a page and show the HTML tag, ID and class attributes. There are keyboard shortcuts to widen or narrow the focus so you can easily examine embedded DIVs. This is a great tool for figuring out how a site you love is structured or debugging your own CSS.