Developer and Power User Software List for Windows

13 June 2013 - Software

For quite a while I've been planning on posting a list of my favourite software, apps, plugins, etc. I'm quite a heavily user of software tools to aid productivity, and would like to share what's in my toolbox.

I was re-motivated to write this post when I saw Scott Hanselman's post containing his list. There's a lot of overlap between his list and mine, but hopefully not enough to make my list not useful. Any overlap is due to the greatness of the software - not because of any list copying! ;) Scott certainly has a lot more in his list - which makes me wonder how long his system installations take! Anyway, I decided to copy his layout of a big long list, rather than separating the categories into different posts. It makes it easier for me to maintain, and also provides a one-stop list in one web page.

I'll keep this post updated as I find new gems. Please feel free to add comments with your suggestions and thoughts! Note that I'm a Windows user, so this list is very Windows specific.

Windows System Enhancements

Launchy - Program launcher. Infact, it's much more than a program launcher - it can also launch files, websites, do custom web searches, perform calculations, etc. Press alt-space and type the first few letters of what you want to run. It intelligently trys to work out what you're trying to launch within the first few keypresses. You can also set up custom commands. This program alone saves me a lot of time per day, as I use it for launching all my applications and common documents.

Ditto Clipboard Manager - A clipboard manager. Use Winkey+v instead of the usual ctrl+v and you'll get a context menu displaying your recent clipboard entries. Also supports sticky entries, groups, paste as plain text, plus much more. I use this all the time, and could never go back to a one entry only clipboard.

KDE Mover-Sizer - Hold down alt and left-drag windows to move them by clicking anywhere within that Window (rather than having to use the usual titlebar). Hold down alt and right-drag windows to resize them. Depending on which quarter of the window you right-click in, depends on where the anchor point of the resize is. This very quickly becomes very intuitive and second nature, and you'll hate using Windows without it!

Xplorer2 - A Windows Explorer replacement that has so many features that I still don't know them all and find new gems all the time in it. It's dual-pane, but there are shortcuts to quickly toggle or minimise the other panel.

Greenshot - Screenshot utility. Take a screenshot of the whole desktop, the current focused window, or draw a marquee around what you want to screenshot. Then you're presented with a lightweight editor where you can add text, highlights, arrows, etc before saving to a file or the clipboard. Very fast and lightweight. You can also send the results of the screenshot to other apps, eg. Outlook.

Chocolately - Think apt-get for Windows. Lets you install software and keep them up to date from the command line.

Console2 - This is a much better command prompt. You still use the same shell(s) - eg. cmd.exe, Cygwin, Powershell, etc - but the window interface has been seriously overhauled. With tab support, much better clipboard handling, various visual tweaks (including translucency).

Dexpot - Very impressive virtual desktop manager. I used to use VirtuaWin, but this feels much faster and has a nicer user interface.

LockHunter - For those times when a file is locked by something, but you don't know what it is.

Windows Software

Evernote - I must say, that I love Evernote, dispite a few past annoyances. I've tried various forms of note taking (ranging from code snippets to to-lists), and Evernote is by far the closest I've come to something that pretty handles everything.

ManicTime - This is a fantastic time tracking program. I use it both at work, and for stuff I do at home. Automatically tracks time spend in different document, applications. You can also add custom tagged entries, which is what I used primarily for my time tracking. There are global shortcuts to start and stop recording of tagged time. Some of the most useful features are actually only available in the paid version, but it's definitely worth the money if you need to keep track of your time.

XnView - There are many image viewers out there, but for me the choice came between this and Irfanview. I'm afraid that the ugliness alone of the Irfanview icon was enough to put me off. Every associated image file had that horrible icon - no thanks. I've used XnView for quite a few years now, and it just works. Very lightweight, with tons of options.

Gimp - The closest free alternative there is to Photoshop. For quite a long time the Windows interface had completely separate window for each document and toolbar, which a lot of people found annoying. The more recent versions have a much nicer MDI interface. The main things I miss from Photoshop are the layered text effect, but as Gimp is free, I can't really complain!

Paint.NET - Another Photoshop alternative. I tend to lean towards Gimp, but I know a lot of people that prefer Paint.NET, so I thought I'd include it for completeness. I've used both, and to be honest, whilst Gimp is my go to editing tool, I'd be happy using either.

Putty - Very lightweight Telnet / SSH client. Probably by far the most popular client.

WinScp - I've tried quite a few FTP clients, and swapped and changed quite a bit over the years. I think I've fairly setted on WinScp now though. It has a more light-weight feel than most, and has very powerful scripting support.

7zip - File compression utility. Handles most compression formats. Personally, I use 7zip's own 7z format - however, it works just as well with the more common zip format if I need to send files to others.

TrueCrypt - Disk encryption. Lets you create encrypted virtual drives, partitions, or entire drives (including usb storage).

Programming Tools

SourceTree - Git client originally for the Mac, which now also has a Windows version. I used to use SmartGit (see below), but have now moved to SourceTree, and love it! Amazing that this is completely free even for commercial use!

SmartGit - Another great Git client - this was my favourite until I discovered SourceTree. Still, definitely worth checking out. There's a free version for non-commercial use.

WinMerge - I don't think I've met a Windows programmer yet who doesn't use this as their quick go-to diff program, and there's a good reason for that. For basic 2-way diffs, I've found no better.

P4Merge - When a 3-way merge is required, then this is my tool of choice. It's a free tool created by Perforce, but you don't have to use Perforce as your source control to use it. Most source control clients will let you use custom diff/merge tools. I always setup mine to use WinMerge for diffs and P4Merge for resolving merge conflicts.

BeyondCompare3 - I use this diff tool when I want to compare large directory structures. It handles syncing between a remote server and your local code very well, so is ideal when you want to sync your local dev work with that on an FTP server.

Fiddler - Amazing web debugging tool. It acts as a web proxy and allows you to both view and modify web requests and responses to help debug and visualise the traffic coming from your browser or application.

HXD - Lightweight hex editor. Nice clean interface. The only thing I really miss is having data inspectors.

Log Parser Lizard - Frontend to Microsoft's Log Parser, which you can use SQL style queries to query various types of logs (eg. IIS logs, event logs, AD, etc).

Web Apps

Pocket - Whilst I've put this in the webapp section - my browser is actually the last place I use this. It's basically a "read it later" service (it even used to be called ReadItLater!). You can send articles to it, and they'll get queued in your account for reading later. The service will try to strip out all the fluff from the webpage and only include the article's text (and images). There are smartphone apps so you can read your list at your leisure on your phone or tablet. I tend to use this service from Twitter, were I send any interesting looking links directly from my phone's twitter client (Plume) to Pocket, and then can read the articles later on my tablet.

Remember The Milk - A very popular (for good reason) to-do list app. There's a web interface and smartphone app. I've used this for years, and have never had syncing issues. The web interface is very keyboard-shortcut friendly too.

Feedly - With the demise of Google Reader, I spent time reviewing various alternatives. Feedly was by far the best in my opinion.

IFTTT - Automate the internet! This service connects to many different accounts and lets you set up rules (or recipes as they call them). For example, if you star an email in Google Mail, then automatically add that email to Evernote. This connects to so many different accounts, that the possibilities are endless. There are many pre-made 'recipes' that the community have uploaded to give you ideas. The only negative I've found with ifttt, is that whilst it supports Dropbox, it only supports the public folder. It would be SO useful if it could connect to private folders. I know the Dropbox API does support this, as [I've used it myself][CustomBlogEngine].

Chrome Extensions

Edit This Cookie - Does what it says on the tin. Edit/add/delete cookies.

LastPass - One of the most popular password managers. The browser extension automatically generates and stores your passwords for you, so you have a different password for different sites. You can very quickly register on a new site, by letting LastPass automatically fill in the registration form for you, generate a random password - then next time you want to log onto the site, it'll automatically fill in the username and password fields for you. There's plenty of other functionality - for example, secure notes, credit card management, etc.

Visual Event - Toggles labels to display javascript events on a webpage. You can then click on an element and view the Javascript event handler code.

Checker Plus for GMail - Really nice GMail checker for Chrome. Supports many features, including multiple accounts.

Gestures for Chrome(TM) - Hold down the right mouse button, and draw different shapes to perform different actions. For example, I have an upward line to open a new tab, a downward line to close the existing tab, a left-to-right line to refresh the current page, left-then-right mouse button goes forward in the browser history, right-then-left mouse button goes backwards.

Tabs to the Front! - I can't believe this isn't supported as stock, but this extension allows new tabs to be opened in the foreground rather than the background.

Visual Studio Addons

ReSharper - Well this really should go without saying if you're a .NET developer. I would really hate to use Visual Studio without it. There are so many powerful features from greatly speeding up code navigation and refactoring, to very impressive unit testing integration. It also adds code analysis and suggestions so you can quickly see errors and ways you can improve your code as you type. I love Resharper so much, that I'm planning on writing a separate post specifically about it. I'll add a link here when it's published.

VsVim - As anyone that knows me will know - I'm a huge fan of Vi(m). See my related Vi posts. However, as most of my development is in .NET, I don't want to sacrifice using Visual Studio as my IDE. So the open source VsVim addon allows me to keep with my Vi roots in Visual Studio.

ViEmu - The does the same as VsVim, except that it supports more than just Visual Studio (but it's not free/open source). I use this for SSMS.

Indent Lines - This just does what it says on the tin. Adds visual vertical lines where your code is indented. Sounds a trivial thing, but it does make a huge difference - especially when you're dealing with code that has many nest levels.

Editors

Vim - I'm a huge fan of Vi, but be warned it takes years to become half way fluent. So I would only recommend this as an editor if you're willing to put in the time. I'm glad I did.

Programmers Notepad - A notepad replacement with lots of programming functionality built in.

Notepad++ - Very similar to Programmer's Notepad, and probably slightly more popular. I find Programmer's Notepad a bit more lightweight however.

MarkdownPad - I'm a big fan of the Markdown format, so much so that I wrote a blog engine so that I can write my blog posts in markdown using this MarkdownPad editor and have it sync with my blog via Dropbox. MarkdownPad is a really clean lightweight editor that supports a dual-pane view displaying a preview pane on the right which updates as you type.