Every developer has a collection of "must have" tools, things that you want to have around as part of your default development environment. Examples include emacs, vim, meld, ctags, eclipse, cygwin, firebug, etc. What's the most recent such tool you've discovered and cannot now live without?
Reflector [1] -- not a tool that I found the need for with C#, but when trying to figure out what it is that F# does when it spawns a mess of FxCop messages, it has become indispensable.
[1] http://www.red-gate.com/products/reflector/LINQPad [1] is my latest tool - very handy for C# developers (and not just if you are using LINQ, either). And, the basic version is free, too.
[1] http://www.linqpad.net/"LINQPad is also a great way to learn LINQ: it comes preloaded with 200 examples from the book, C# 3.0 in a Nutshell. There's no better way to experience the coolness of LINQ and functional programming.
And LINQPad is more than just a LINQ tool: it's a highly ergonomic code snippet IDE that instantly executes any C#/VB expression, statement block or program – the ultimate in dynamic development."
I always use the Rubular [1] regular expression editor/tester. It's indispensable for making sure my regexps cover a variety of test cases (in real time!)
[1] http://www.rubular.comI couldnt live without the Red Gate [1] selection of SQL apps in the SQL Toolbelt [2]
The one i use the most is there SQL Compare [3]... its save my life too many times to mention..
[1] http://www.red-gate.comMost recent? TestSwarm
Other tools I (have) use(d):
Windows 7!
Everything Vista should have been.
kkrunchy [1] and crinkler [2] are two executable packers for Windows. Indispensable if you're making 4k or 64k intros.
[1] http://www.farbrausch.de/~fg/kkrunchy/Expresso [1] - regex builder.
Sql Examiner Suite [2] - tools for diffing sql server structure and data between dbs.. It can even compare to a backup or a db script. I prefer it to Redgate tools.
Resharper [3] (obviously!)
GhostDoc [4] - autodocumenter for VS.
And lot's more that I'm sure I'll edit in when I remember :)
[1] http://www.ultrapico.com/Expresso.htmuncrustify and clang…
GVim = syntax highlighting for everything and integration with any OS in any way (GUI or Console). (wooa, zen :) ).
Netbeans = JSF, Scala, C++ and the lot. SVN, Collaboration, Platform independence (Thich n' slack)
Cooder pluging for Open office = syntax highlighting for a bunch of languages. Even stuff like Ocalm, which makes it perfect for academia (along with all the other features of open office).
Freemind = mindmaps! indispensable if you want to get an overview of your curriculum, your projects, goals and tasks (etc). Freemind ftw.!
Dropbox = access your files frenshly synchronized on both linux and windows boxes (slackilizious).
Cheers
I use Araxis Merge [1] nearly daily. For two-way diffs and three way merges, it's the best tool I've found. I also get lots of millage out of the recursive directory diffing.
[1] http://www.araxis.com/merge/Notepad++ [1] is the bees knees. It's TextFX module lets me trim whitespace, sort text uniquely/case sensitive/insensitive, delete blank lines, and more. A fantastic resource.
[1] http://notepad-plus.sourceforge.net/Virtualbox [1]
Now I can test things with a server that is installed on my workstation. No need to ask permission, no need to share, no worries about messing up the install because I have my own backup of the image. This makes it easier to do cross-platform development too.
[1] http://www.virtualbox.org/I started using Selenium [1] for functional testing about a year ago and it rocks. Also Emma [2] for code coverage when running unit tests has become a must have.
[1] http://seleniumhq.org/My tools:
Beyond Compare is da' bomb for file & folder comparisons! TextPad is my favorite text editor - though it has to be configured to have a reasonable UI TakeCommand is a massive improvement over the windows command shell
A browser with a StackOverflow tab.
Autohotkey. Assign global hotkeys to launch batch files. Good if you don't program with an IDE. Get an advantage in many games by making shortcuts.
AMQP, and RabbitMQ in particular, are my newest tool for which I'm constantly finding uses. It can move hundreds of thousands of messages a second, and makes asynchronous communication between machines a breeze. Messages are opaque, so you can send whatever data you want into a queue. The message queue handles all the nasty problems related to concurrent access, so as long as you can break work up into small chunks and run a worker daemon, it's pretty much ideal. It's got incredible performance, but it's easy enough to use and set up that it's actually pretty effective even on things for which it's obviously complete overkill.
For me it's git-svn. I have to work with subversion repositories at work and for a few open source projects, and git-svn makes a huge difference in my ability to use svn effectively.
"Icon Composer.app" that comes for free with Apple's Developer Tools.
I always knew that it is great to generate .icns files for Mac OS X apps but I recently figured out that it also creates really nice .ico files for Windows apps.
(Choose "File" -> "New ICO")
A couple not already mentioned:
SQL Examiner [1] that deploys database schema changes and keeps database schema under version control [2]
FastReports.Net [3] - perfect reporting solution
Visual Studio 2010
[1] http://www.sqlaccessories.com/SQL_Examiner/I'm late to the party, but SlickRun [1] has changed my life!
It's so nice to type Ctrl+R, stackoverflow to get to this site.
[1] http://www.fiddler2.com/SlickRun/Moin-Moin Wiki [1] sets up in seconds and is a great personal info organizer or team wiki.
[1] http://moinmo.in/MoinMoinDownload