When I get a vanilla Windows system, there's a bunch of stuff I change to make it more developer-friendly.

Some of it I remember every time, other stuff I only do as and when.


  • Show extensions of all file types
  • Make hidden and system file visible
  • Turn off Windows Defender

I seem to remember a blog post from Jeff on this topic, but can't locate it!

What else do you do, and do you have any tools that automate this process?

+1  A: 

I install all of the shell extensions I normally use (TortoiseSVN and CommandHere for example).

Also, one of the first things I do after I reimage a machine is make sure it's hooked to all of my network shares properly. Few things derail my work as quickly as having to fight with the network to get a file at an inopportune time.

+11  A: 

Using the Add\Remove Windows Components in Control Panel, I always remove...

  • Games
  • Document Templates
  • MSN Explorer
  • Outlook Express

For the look and feel I...

  • Revert to the classic start menu; however, if it's Vista, I leave it as is because I like the indexed search feature.
  • Revert to a classic desktop with large icons and make sure that My Computer is the first icon (versus My Documents)
  • I also perform the things you mentioned above

Before installing any software I...

  • Install any outstanding Windows updates
  • Run a Disk Clean Up
  • Run Disk Defrag
  • Setup scheduled tasks for Clean Up, Defrag, and other personal tools

For tools (outside of my IDEs and other necessary development tools), I install..

  • TweakUI
  • IE6, IE7, Safari, Chrome, Opera, and Firefox
  • Install the set of Firefox plug-ins I always use for development
  • 'Open Command Prompt Here' shell extension
  • Install Consolas and set it as the default font for my editors (IDEs, Notepad++, etc)
If you remove games, how do you play minesweeper when you're compiling?
Jon B
Compile Time is synonymous for one of two things: (1) catch up on my RSS reader, (2) browse SO =)
Im glad SOMEONE made a minesweeper joke :D
FYI the vista start menu search is available in the classic menu, but I still leave aero enabled since I like the screen shots when I alt+tab.
Eric Haskins
We just play with swords and rolley chairs...
Redbeard 0x0A
+2  A: 

I install some set of *nix command utilities and process explorer at a bare minimum.

Also, on XP systems I disable any theming and use the windows classic coloration. Vista just doesn't look or work right without the Aero theme so I can't do that on Vista without going almost completely nuts.

Also forgot, I install Chrome. (Used to be Firefox but Chrome is nicer out of the box)

What's great with Process Explorer is that you can replace the regular Task Manager with it. (Options > Replace Task Manager)
I always do that. Task Manager is useless in comparison.

I download and install Cygwin and Xming.

Scottie T
+25  A: 

Indeed I do the above, plus deactivating Zip support (regsvr32 /u zipfldr.dll), activating the underscore on Alt shortcuts (Advanced Appearance), replacing Courier New by Andale Mono (replace with your favorite font) in all program settings (after installing it, of course), installing my favorite utilities (UnxUtils, Sysinternals', SciTE, FileMenu Tools which has Command line here and lot of other goodies, etc.) and so on.
Oh, and indeed also deactivate dual keyboard support (French/English), deactivate task grouping, install VirtuaWin (4 desktops), CLCL (clipboard manager), AutoHotkey and my favorite macros, and lot of other freewares, more or less must have.

No automation, alas.

"deactivating ZIP support": Why? I quite like it...
1) I don't like it, I prefer to use specialized programs (7-Zip, IZArc) for all my archive needs. Orthogonality...2) When you search a folder with lot of zips, you feel the pain...3) I find showing zips as folders just clutter the Explorer tree display. For me, zips are plain files, not folders.
+1 for the info on disabling zip folders
Thanks for the zip info, windows' just doesn't cut it.
On newer versions of Windows you can hold down shift while opening a folder's context menu to get the "Open command window here..." option.
Alex Barrett
+18  A: 

I install Cygwin to have *nix command line tools and Xemacs to have a useful editor.

I used this for a data structures course recently, and I loved it
I install Cygwin and vi(m) to have a useful editor. :P
+4  A: 

I add Wordpad to the Send To context menu. Instructions for XP here. Works in Vista, as well.

Scottie T
You should probably find a decent text editor....
Often times, I'm not allowed to install additional software on a machine, and Wordpad is preferable to Notepad.
Scottie T
+9  A: 
  • Install Consolas font and turn on (and tune) ClearType.
  • Install ZoomIt to magnify display during presentations.
  • Install FireFox/Firebug
  • Install XYplorer Win Explorer alternative (can't live without it!)
  • Install DeskPins to be able to make any Window temporarily topmost.
  • Make sure OneNote got installed with Office.
  • Install Visio.
  • Install favorite editor (whatever it is at the time, currently SCiTE).
  • Install 7Zip.
  • Fix Windows colors to suit me and put picture of RatPack (Dean's my hero) as wallpaper.
Thank you, Raven!
+4  A: 

Someone gave me a 'Delete all SVN folders' registry script - that is a must have for me, now (it's somewhere on this thread).

I leave UAC on - last thing I want is to write code that works with UAC off, but fails miserably with it on. Before I started to use Virtual PC to set up test environments for my code, I tried to leave my desktop as 'vanilla' as possible - I wanted to test under conditions reasonably similar to an everyday non-developer user.

All of the above is for my home development system. I try to do the same at work, within reason. Except for the SVN stuff, because we use TFS at my office.

+4  A: 

I always install the following to make it easier to manage and interact with windows

  • Taskix - Reorder buttons in your Windows taskbar
  • KatMouse - scroll the window directly beneath the mouse cursor
  • WinSplit Revolution - organize your windows by tiling, resizing and positioning them
  • allSnap - windows automatically snap to window edges and (optionally) the edges of other windows
Sam Hasler
Thanks for the tip on WinSplit Revolution... Very handy for using my new wide-screen monitor more effectively.
+16  A: 
Gavin Miller
Yay Launchy! That tool saves me so much time...
Andrew Flanagan
me too, one of the most useful little apps ever.
Jason Miesionczek
Notepad++ and +1
Eric Haskins
+1 Launchy (I like Launchbar on OS X)
Redbeard 0x0A
From what I've heard the Mac OS X "equivalent" to Launchy is Quicksilver:
Gavin Miller
+1 Launchy! I can never go back.

Wow, this is a really good thread... I'm going to have to go through all the suggestions and see what I'm mission out on :)

Off the bat, I install:

  • Google Chrome
  • Visual Studio 2008
  • aShampoo CD Burning suite (or whatever my current favorite burning suite is)
  • IZArc (or whatever my current favorite is)
  • RocketDock - I use it to replace Quick Launch.
  • Songbird

When I used XP (I'm on Vista now) I'd always install Tweak UI and tweak everything to my liking. Like listing My Computer before My Documents. I remove the Help icon from the start menu. I make it so Network Neighborhood was displayed in the start menu. I have it show file extensions and show hidden files/folders.

Is that supposed to mean "missing out"?

First thing I do is making sure everything is updated and all superfluous junk in the background turned off. I hadn't done a fresh install of Windows for years until very recently, so I forgot how painful this step was (4-5 hours...)

One of the first things I do is download the ClearType Tuner from the PowerToys page. I find the OS's default settings give the text very visible colour fringes no matter which LCD I use it on, and it ends up causing eyestrain after a while. Sometimes I'll just turn it off entirely.

After that I install the usual stuff; Firefox, gVim, Command Prompt powertoy, 7-Zip, ...

Ant P.
+7  A: 

Command line scripts

For storing scripts that I use from the command line I create a Command Line Scripts directory under Program Files and add it to the PATH environment variable. I use the following batch file for listing and editing those scripts:

@echo off

set UTILPATH=C:\Program Files\System Tools\Command Line Utilities

if not "x%1"=="x" (

start "" "notepad" "%UTILPATH%\%1.bat"

) else (

dir /b "%UTILPATH%" | grep -v com.bat | grep -P "(exe|bat|cmd)" | sed "s/\.\(exe\|bat\|cmd\)//"


(note that the filtering of the directory listing depends on some unix commands I have installed via Cygwin)

I give it the name com.bat, (short for command) then I can:

  • list the scripts in that directory by typing com at the command prompt
  • edit any script in the list by typing com script-name at the command prompt*, similarly:
  • create new scripts in that directory by typeing com new-script-name at the command prompt*
  • and if I ever need to edit com.bat I just type com com

* As I'm running Vista I have to use an elevated command prompt as directories under Program Files are protected. For a quick way to launch an elevated command prompt, simply press the Win key; type cmd; press Ctrl+Shift+Enter; and then hit Alt+C to confirm the elevation prompt. Six keystrokes to an elevated command prompt! ([via][4])

Startup Script

One of the scripts I store in my Command Line Scripts directory is a script that is run when I log in to windows (via the Task Scheduler, type Task in the Vista start menu). I use that script to set up several virtual drives using the subst command to directories I access frequently or want a quick way to access on the command prompt or for shortening path names in compiler warnings, logs or debug output.

My Startup script looks something like this:

@set _MYDOCS_=%USERPROFILE%\Documents

@REM Note: first delete the drives so I can run script again
@REM       to fix drives that failed to get mapped

subst /d W:
subst /d T:
subst /d S:
subst /d R:
subst /d N:
subst /d L:
subst /d H:
subst W: "%_MYDOCS_%\Work\SVN Working Copy\Website\trunk\www"
subst T: "%_MYDOCS_%\Work\SVN Working Copy\project 1\trunk"
subst S: "%_MYDOCS_%\Work\SVN Working Copy"
subst R: "%_MYDOCS_%\Work\SVN Working Copy\project 2\branches\12.50"
subst N: "%_MYDOCS_%\Work\SVN Working Copy\project 2\trunk"
subst L: "%_MYDOCS_%\Work\"
subst H: "%_MYDOCS_%\My Projects\\Working Copy"

Note that subst can be a little temperamental and occasionally the drives don't get created and I have to run the startup script again manually.

Sam Hasler
subst is a nice, nice little command, when everything goes okay. :)
Robert P
+9  A: 

Disable shortcuts to FilterKeys, StickyKeys, and ToggleKeys - nothing frustrates me more than having to deal with that cruddy feature because I push the shift key down several times while I'm thinking or hold it down for eight seconds (again, while thinking) before I start typing!

Change the default action for Folder to explore instead of open.

+1 on disabling the *Keys.
Never understood why the *Keys are ON by default... I guess most normal users know what they're about to type.
They're probably on by default because if you *need* them to be on, it's difficult to turn them on.
Graeme Perrow
+5  A: 


  • Show extensions of all file types
  • Make hidden and system file visible

I don't like making hidden files visible all the time (it makes two desktop.ini visible on my windows Vista desktop for starters) so I use an explorer extension to make it easy to toggle this on and off. There's also a corresponding one for file extensions:

Sam Hasler
Yeah, the two desktop.ini thing is a pain - thanks for the tip!
+3  A: 

I like to:

  • Make the taskbar larger so that it can hold two rows of applications
  • Disable personalized menus in the start menu
  • Disable grouping of similar taskbar items

I also randomly open a lot of PuTTY sessions to various machines, so I like to create a "bin" directory in my home folder, add it to the PATH, and then create a shortcut to PuTTY in it named "p" (among other shortcuts). I can then easily Windows-R (run) and type p [putty-session-name] to open the session. This has saved me tons of time / mouse clicks.

Rob Hruska
+2  A: 
  • Install the full IIS.
  • Set the resolution high enough.
  • Set the background to Grey.
  • Show hidden and system files.
  • Toolbar 2 or 3 high (I run one monitor sideways).
  • Always show file extentions.
+3  A: 

Turn off Autorun so that I'm not accidentally installing malware or crapware.

Here's a couple of links, out of many:;txt

Mark Ransom
A good tip. Installing VMware does take care of it though, so I don't usually do it manually myself.
+1  A: 

Install emacs + a selection of gnuwin32 packages.

Also proexp to replace task manager.


Install dev tools (take your pick). Source Control, DB, IDE, Unit testing tools, etc.

Assumption: I have full rights over the box.

Install latest drivers, Windows updates, Firefox, Evernote, Live Mesh, 7-zip, Digsby (for IM & social networks), Zune (for music & podcasts)

+4  A: 

I follow the extensive recipe for making a Windows system useful built and maintained by Simon Peyton Jones.

Norman Ramsey
Thanks, that's a great list, even if a little quaint in places. (reading mac floppies! when did you last see one of those?)
+8  A: 

I wipe it and install Linux. Everyone is always amazed by how productive I can be. It's because I don't spend half my time fighting with the machine.

excuse me,,, eh huh, cause on linux there are no bugs, neither annoyances, oh I see
fighting with the machine means, that you didn't find all the features of the OS you need. Do you really think Windows doesn't everything Linux has usability wise?
+15  A: 

The first thing I do is open a command prompt and then open the properties for it:

  • Switch on Quick Edit. Why the hell is this off by default?
  • Increase the window size. Why the hell limit it to the size of a postage stamp?
  • Increase the vertical buffer to the maximum possible. Why the hell limit it to a few hundred lines?
  • Change the foreground colour to white instead of grey. Why the hell make it less readable than it could be?

In summary: why the hell?

Daniel Earwicker
Personally, I've switched over to Console2 ( for tabbed console windows
I hate Quick Edit. If I click in a prompt window and hold the mouse button down slightly too long, it thinks I'm selecting something and the window freezes until I notice what's happening. Drives me crazy.
Graeme Perrow
Earwicker: it's all for compatibility reasons. For a detailed reason why quick edit is off by default, see:
Robert P
  • vim (the windows port is quite good)
  • mssoffice
  • cygwin (The cygwin setup is a pain in the ass, however I found it the easiest way to get gcc running)
  • visual studio
  • FF or Chrome
  • Adobe Reader :D
  • There is also [1] a driver for ext2/3 if you have a Linux installation, or just ext2/3 formated disks or flash drives.

I guess that's not all, just everything which came in my mind.


+2  A: 

Couple of things no-one else mentioned

  • Install Console2 for tabbed cmd windows
  • Install Powershell
  • Completely replace Notepad with Notepad2
+2  A: 

I use nLite to prepare the windows installation disk in order to have some typical settings already set right after the installation.

For example:

  • Explorer-Associate additional file types with Notepad
  • Explorer-Classic Control Panel
  • Explorer-Disable Beep on errors
  • Explorer-Disable Prefix: Shortcut to
  • Explorer-Show extensions of known file-types
  • Explorer-Show hidden files and folders
  • Explorer-Show the full path in the Title Bar
  • Performance-Disable Info Tips on Files and Folders
  • Performance-Disable Last accessed Timestamp on files
  • Taskbar-Disable Group similar Taskbar buttons
  • Taskbar-Disable Language-Bar
  • Taskbar-Lock the Taskbar-Yes

You can also remove useless parts of the system:

  • Accessibility Options
  • Briefcase
  • ClipBook Viewer

Edi Weitz has a nice writeup of his customizations: Making Windows usable for old Linux farts

+5  A: 

Step 1: Fix windows

  • Turn off System Restore
  • Turn off Windows Defender
  • Uninstall any OEM-supplied antivirus or other crapware if it's an OEM box
  • Get SysInternals AutoRuns and lay the smackdown to all the 8000 useless startup items and services vista inflicts upon you, including the slow and useless vista search indexing service.

Step 2: Install stuff.

Now that my shiny new Core 2 Duo PC isn't bogged down with useless crap running like a 386, I can build it up again

  • Install Firefox
  • Install FlashPlayer firefox plugin (why oh why isn't this bundled with FF?)
  • Run windows update and let it do it's download/reboot cycle 50 times until it's happy
    • While this is happening I can use firefox to browse stackoverflow and read reddit :-)
  • Get UnixUtils and either unzip them to system32, or otherwise make sure they are in the path.
    • This is neccessary because I can't stand cygwin, yet my muscle memory keeps typing ls when I try to type dir, and windows still hasn't heard of grep yet
  • Install Droid Sans Mono and Monaco fonts for programming
  • Install E-TextEditor
  • If I'm installing visual studio, do that. If not install the .NET framework runtime instead
  • Install Firefox addons (firebug, fission, web developer, adblock)
Orion Edwards

As an alternative to cygwin I use ch it's a free unixshell + utils and is a 'c' interpreter.
Their website is a bit nephew-art but the product is excellent.

Martin Beckett
+1  A: 
  1. Switch to classic menu
  2. Increase the taskbar hight to have more shortcuts & lock the taskbar
  3. Performance options -> Adjust for best performance
  4. Copy all the backed up shortcuts files to Favorites folder
  5. Install necessary software (JDK, DBMS stuff, Editplus, MS Office etc.)
  6. Driver for soundcard
  7. New network connection for Broadband ...
+7  A: 

over the years i have arrived to the decision that i do as little customization as possible since workplaces change and computers change (both at home and at work).

i used to do all kinds of crazy tweaks with litestep, setting up partitions, etc. these days i pare it down to the basics, and it does not take me long to setup a machine and have a familiar environment.

in addition to the usual "win32dev" setup (classic scheme, optimized for performance, no special effects, show all files, details in explorer views, blue background, etc) i have the following stack:

  • cygwin (gcc, vim, curl, wget, perl/ruby/python, svn, git, ssh, netcat, etc; rxvt for terminal)
  • ffox + adblock + dev plugins
  • clipx for simple stack-like clipboard with previews
  • textpad + a few basics syntax highlighters
  • virtuawin - the only minimal window manager that does all i need and nothing more
  • autoHotKey for basic app shortcuts
  • procexp to replace task manager
  • all other sysinternals tools
  • tortoise svn
  • putty + agent + keys
  • 7zip
  • keepass
  • wireshark

everything i install by hand goes into c:\programs (for easy no-space, lowercase paths).

+1 for the top 3 :)

I wonder how many of you use nLite/vLite to create a custom installer for Windows???

My development tools get installed:

  • Virtualbox
  • Firefox plugins (WebDeveloper, FireBug, etc)

Plus many more...

Redbeard 0x0A

Mainly : Visual Studio , SQL Server and some extensions for them such as Rock Scroll etc.

Being a web developer I install 4 other browsers (along IE) : Opera, Firefox, Chrome and Safari.

Also :

  • SysInternals Process Explorer Altova
  • Altova XML Spy
  • Winamp
  • Office 2007
  • Altova Diff Dog
  • Paint.NET
  • Yahoo Messenger
  • Skype
  • Reflector
  • ViewState Decoder
  • Oracle SQL Developer
  • FastStone Image Viewer
  • TextPad
  • DC++
  • FeedReader
  • .NET Memory Profiler (SciTech)
  • HttpLook
  • NetBeans
  • SQLDigger
  • Winamp
  • Workrave
  • Manic Time
  • MySQL (including alpha such as 6.0)
Andrei Rinea
  1. Install latest service pack. Usually, I slipstream it anyway.

  2. Prevent applications from stealing focus.

  3. Copy my command line apps (basic unix commands) and SysInternals apps.

  4. Windows Updates

  5. Install developer tools like Visual Studio, Eclipse, VirtualBox, etc.

I'm leaning more towards having service based applications like SQL Server be installed on a base lined Virtual Machine and run from there. That way I only have it running when I need to and I can extend the performance life of my Windows install.

Jeremy Edwards
  1. Install wipfw (and a decent ruleset) before hooking the box to the Internet.
  2. Install Far Manager + some plugins.
  3. Install vim.
  4. Install gkrellm.

All this used to happen in the past. Nowadays I'm using Linux exclusively and I'm happy with it. I'm not a fanboy, neither I'm a zealot. Linux just does the job for me so I stick to it.

+4  A: 

I'm surprised nobody has mentioned ClipX. I find that I can't develop without this clipboard history tool.

Mladen Mihajlovic
thanks dude, the most wanted tool for me.