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.

This is a companion discussion topic for the original blog entry at:

I really like the green on green output window. Nice.

I’m using jEdit. One day, I tried different color scheme. One of them was in inverted color : dark gray background with light gray text. And I never changed : it is more relaxing and less agressive for my eyes :slight_smile:

I’m with FlorentG on the dark background / lighter text. That’s one of the few mods I’ve made to my VisualStudio settings, and one of the first I make to my Emacs settings.

Jeff - I just imported your settings and I think that they’re fantastic and a huge improvement over what I was previously using.

I don’t get it. Radioactive green highlighting with an extra uglified font for easier reading?

I use good ol’ vim for editing.

My syntax highlighting colorscheme is ‘zenburn’ which is freely downloadable off the 'net, and my font is bitstream vera sans mono 7.

Clean, low-contrast, and easy to work on.

IBM3270 is similar to Consolas and Proggy Clean. Found it accidentally on IBM laptop and has been using it ever since. The file name is pcsansi.fon.

Zenburn is pretty cool, thanks for posting a pointer to that. Screenshot here:

An excellent example of not too much contrast in action!

Can you explain your color choices, please, Jeff?

  • I like black on white, so I start with that
  • I’ve always used dark blue for keywords and dark red for identifiers
  • Beyond that, I was shooting for a “highligher” effect, using traditional blue, yellow, and green highlight markers.
  • I believe numbers (blue) and strings (yellow) should have fairly strong highlighting, because they’re unusually significant in code. I like a background color for strings so I can see whitespace better.
  • I like traditional green on black for my console output windows, and it also breaks it apart from the black on white code editing window.

I’m not saying these rules should apply to anyone else but me, but FWIW and since you asked. :wink:

just Visual SlickEdit in vim mode. and i really, really never had any use for multiple background colors. makes an editor look like a video game; although not so much as your garden variety IDE does. i don’t like video games either; well except FreeCell. to which i return for normal programming.

I compared some sans-serif non-monospace fonts, because it seems I’m the only person in the whole world that actually uses them for coding :stuck_out_tongue:

Of course, if anyone else does, I want to hear from them to find out what they use :slight_smile:

Someone at my favorite forum ( started a thread comparing 18 monospaced programming fonts. Others responded with even more screenshots, and websites. I won’t repeat them all here.

If you are interested:

I’ve always used an off-white for backgrounds, just because when you’re staring at something for hours, the cooler it is (white and yellow are the hottest) the easier on your eyes. Pale lavendar or mint usually. I’ve gone through phases of wanting everything to be the same hue, though; pretty, if rather painful.

Oh, and although the eye might be better at picking up greens, monitors seem to be better at displaying a wider range of discernable blues. Maybe it’s just because of greater sensitivity, but monitor greens seem to quickly go from murky to neon without much in between.

Here’s my IDE (Eclipse) – I guess I like my coding cheerful.

And here’s one of Edit+, my text editor (dark):

I’ve been using roughly the same color set for Windows programming since I got my first programming job (an internship back in college). I saw someone coding with bright colors on a black background and fell in love. Most of my programming has been in Visual Studio, and with the advent of VS2003, which gave me the freedom to choose colors other than the EGA 16, I managed to find a combo from which I doubt I shall ever (willingly) stray.

I strongly urge anyone to try it out who is discontented with their current scheme. Here it is, as I originally formulated it for C++ development.

Code window:

  • Background = black
  • Text (identifiers) = gray
  • Operators = white (bold also, if it’s hard to distinguish from the gray… admittedly the separate color for operators is less advantageous in C# than it is in C++, because in C++ code parentheses and braces are considered operators, but in C# they are not)
  • Numbers = blue (something lighter than the EGA blue, which tends to be blurry against the black unless you have an LCD or very crisp CRT)
  • Strings = Magenta or purple
  • Keywords = red
  • Preprocessor directives/keywords = yellow
  • Comments = green or teal

And for the output window, simple light gray text on black background.

It’s easy on the eyes, which is hugely important. And it makes it trivial to identify the nature of just about any program symbol just by glancing at it.

I wish I had a blog so I could post a picture. =(

Damn. The article’s title had given me hopes of a nice SCSI rant and then it turns out to be something completely different. Oh well.

Back on topic in an irreverant fashion: yay for vim!

I liked this for the couple of hours my eyes could stand it

“avoid too much contrast”

This requirement may indicate a miscalibrated monitor. Since I got into the habit of setting up monitors using photographer’s test patterns, I’ve been able to use black on white with no discomfort or glare. Plus, my photographs look really nice as well.

Hmm, another couple of thoughts (probably stating the obvious)…

  • Avoid complimentary colours (eg: red on green), as they will throb in and out and cause dyslexia-like symptoms in the normal-sighted.

  • Your eyes have maximum acuity in the red and green, so blue is not very good for either text or background (only about 10% of receptors are blue, IIRC).

  • There seems to be a sweet spot for font size, where text is easier to read if it matches the size you read most commonly.

use waterbreath :wink: