We've all got them, that core set of tools that seem to get put on every computer we set up. After asking around and combining the results from several software developers, here's a list of the most common and must-have free Windows tools for software developers.
I've left off the obvious things like version control, compilers, and IDEs. This is a list of utilities that with either help a developer be more productive or aid a developer when writing and debugging software. If I've left off your favorite tool, please share it to the world by dropping us a comment.
Almost every developer I talked to uses Launchy, and after you've used it for a while, it's hard to live without it. Launchy indexes pretty much everything you need and provides access to them with a quick keystroke.
Do you have one of those repetitive tasks you do over and over again? If so, then AutoHotkey is the perfect application for you. It provides a dead-simple scripting languages that even non-programmers can pick up that lets you control pretty much any aspect of your computer. If you've never used AutoHotkey, we've got a couple of tutorials here that should get you started.
This one is a no-brainer. If you write software for a living, you pretty much need Notepad++. It's small, lightweight, tabbed, and syntax highlights almost every language you'd run into. It's the perfect application for those times when you need to quickly inspect the contents of a file. I like it so much I've even written a Subversion plugin for it.
I know, we're software developers so we're not supposed to be messing with graphics, but there are times when it's unavoidable. If you don't happen to have a copy of Photoshop lying around, Paint.NET is the perfect application for those minor tweaks. And even though I do have Photoshop, I still use Paint.NET from time-to-time because of its fast load times.
Process Explorer gives you way more information than task manager provides. There are too many features to even attempt to list them all, but suffice it to say, it will be a life-saver on more than one occasion. Process Explorer is part of a larger set of SysInternal tools provided by Microsoft. Process Explorer is the most commonly used, however I would recommend checking out all of them.
Working with propriety file formats or trying to reverse engineer one? Then XVI32 is something you'll probably want to look into. This is a very light-weight hex editor that has come in handy on several occasions.
This is a handy little tool provided by Microsoft that has pretty much every feature you'd need to quickly edit an XML document. My favorite two are intellisense and instant schema validation. I typically use this application to find errors in my XML since it provides nice error messages when a file fails to parse.
Do you not have 7-Zip? You should drop everything and go get it. I have not found a better zip utility than 7-Zip. It can extract pretty much every type of archive and everything is accessible through a convenient right-click menu in Windows Explorer. If you've ever suffered through Window's unbelievably slow extraction times, you'll definitely love 7-Zip.
This tool is pretty much the end-all for right-click menu additions. Almost anything you'd ever want to do with a file can be added to the menu.
Are you making networked software? If you are, you'll definitely want to grab a copy of Wireshark. This tool gives you unprecedented visibility into the network traffic coming and going from your computer. It's helped me hunt down bugs on numerous occasions.
Don't you hate it when this happens? You go to delete a file and you get that unbelievable helpful error stating an application somewhere has access to it. Fortunately, in Windows 7 they've seemed to have helped a little by telling you what application has it locked, but we're stuck in the stone ages with Windows Vista. That's where File & Folder Unlocker comes in. This tool will actually tell you what process has it locked and even gives you the ability to unlock it.
12. Foxit Reader
As software developers, we're looking at PDFs all the time - interface specs, hardware specs, communication specs, etc. Simply put, we don't have time to sit around and wait for Adobe Reader to launch every time. This is where Foxit comes in. It supports pretty much everything that Adobe Reader does, but takes a fraction of the time to initialize.
WinSCP is my FTP and SFTP client of choice. I like it because it's simple, light-weight, and supports everything I'd ever need in an FTP client. It's got drag-and-drop, folder synchronization, and a nice explorer-like user interface.
KDiff is a full-featured diff and merge utility that provides a lot of power and control over your merging and conflict resolution needs. I know a lot of developers using Subversion that have replaced the diff utility built into Tortoise with KDiff.
Don't you wish they'd just build virtual desktop support into Windows already? If you've ever used them in the Linux world, you'll know how much they can help increase productivity. VirtuaWin is a highly configurable, light-weight, tool that brings the virtual desktop feature to Windows.
Everyone I know has Putty. Everyone. It's the SSH client of choice. There are no alternatives. It's incredibly light-weight and incredibly powerful. If you don't have it, get it, even if you don't need it.
17. Daemon Tools
As developers, we need to access CD and DVD images every once and a while. Microsoft distributes a lot of there tools as .iso files. Instead of burning the image to an actual disk, why not just mount the image using a virtual CD/DVD drive? That's what Daemon tools is for. This little tool sites in the task bar and provides a quick and easy way to mount several different image formats.
Have you recently inherited a large amount of undocumented code? Why don't you let Doxygen help make some sense out of it. This tool will rip through your code and build inheritance trees, create documentation, and output everything in an easy-to-read format. Better yet, if you start a project with Doxygen in mind, you can format your comments and have the tool generate perfect documentation automatically.
This is kind of specific for .NET developers, but it's such a useful tool I've added it anyway. If you've got an assembly and you have no idea what it's doing, Reflector will let you look inside and help you figure it out. With the introduction of WPF and styles, Reflector has been unbelievably helpful in determining how WPF controls are built and how to apply those styles to get your desired look.
VNC is pretty much the de facto standard in remote control. Most of the time, Microsoft's remote desktop tool will get the job done, but there are times when it just isn't an option - like if don't want to lock the computer by controlling it, or if you want to cross operating systems. In those cases, TightVNC is your answer.
Well there you have. With this collection of tools on your belt, you should be able to write and debug software faster than ever before. And again, if you know of or use a different application, throw a link in the comments so we can all check it out.