Is Your IDE Hot or Not?
Scott Hanselman recently brought up the topic of IDE font and color schemes again. I've been in search of the ideal programming font and the ideal syntax colorization scheme for a while now. Here's my current take on it.
As you can see, I've finally given in to the inevitability of ClearType. Someone pointed out the zenburn vim color scheme in the comments. I think it's a nice dark background yin to my light background yang. So I set it up as an alternative for the dark background enthusiasts.
Try these IDE color schemes yourself. Download the exported Visual Studio 2005 Fonts and Colors settings files:
- Download Jeff's scheme (2kb)
- Download "Zenburn" scheme (2kb) (now with HTML, XML, and CSS properties by Geraldo Medrano)
- Download more schemes, and contribute your own, at the Studio Styles site.
To import, use the Tools | Import and Export Settings menu in Visual Studio 2005. But be sure you have the necessary fonts installed first – Consolas for the main font and Dina for the output console font.
Here's how to export your own IDE font and color settings:
- Tools | Import and Export Settings...
- Select Export
- Click the All Settings node to unselect everything in the tree
- Expand the tree to "All Settings, Options , Environment"
- Click the "Fonts and Colors" node
- Click next, name the file appropriately, and Finish.
What we really need is for some enterprising coder to create a "Hot or Not" site for IDE color schemes, where we can post screenshots and downloadable *.settings files for our preferred IDE color and font schemes. Update: Someone set up Studio Styles.
If we're posting comparative screenshots, it might be a good idea to use the same code sample in each one. Here's the code sample I used in the above screenshot, which highlights some potential programming-specific font legibility issues (O vs. 0, I vs. l, etcetera).
#region codinghorror.com class Program : Object { static int _I = 1; /// <summary> /// The quick brown fox jumps over the lazy dog /// THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG /// </summary> static void Main(string[] args) { Uri Illegal1Uri = new Uri("http://packmyboxwith/jugs.html?q=five-dozen&t=liquor"); Regex OperatorRegex = new Regex(@"S#$", RegexOptions.IgnorePatternWhitespace); for (int O = 0; O < 123456789; O++) { _I += (O % 3) * ((O / 1) ^ 2) - 5; if (!OperatorRegex.IsMatch(Illegal1Uri.ToString())) { Console.WriteLine(Illegal1Uri); } } } } #endregion
If you're formulating your own ideal font and color scheme, the only specific advice I have for you is to avoid too much contrast – don't use pure white on pure black, or vice versa. That's why my background is a light grey and not white.