News

In search of a text editor

It's tough to get a "Dear John" letter, even in the computing world, but that's what happened to me late last week. You see, I'm a long-time user of the CodeWright programmer's editor (in fact, I'm composing this colum in CodeWright right now). Thanks to a series of mergers, CodeWright is now owned by Borland, and the e-mail (addressed "Dear CodeWright User") left little doubt of its fate. Despite hopeful thoughts, such as "Borland is committed to providing developers with freedom of choice and enabling developers to build better software, faster" the bottom line is "Borland is not engaging in new development of the product, other than making bug fixes in accordance with valid existing support and maintenance contracts."

Text editors have long been the source of serious battles between developers. Because we use our editor of choice more often than any other tool, we grow very used to the way it works, and anything else seems not just different but wrong. But it seems that I've got a great opportunity here to start over with a clean slate; if the editor I've been using is going to go away, it's time to evaluate alternatives with an open mind. Sure, the current version (CodeWright 7.5) will continue to work for the forseeable future, but it's just going to look more and more out of date as the competition adds new features and updates their user interfaces.

That got me to thinking about what I want to see in my next editor. I suspect most developers only use a fraction of the available features of just about any application these days, and I'm no exception. Still, in the hopes that it will provoke some thought (or get someone to e-mail me with the news that there's a perfect editor already waiting for me) here are some of the things I'd like to see (note that I don't have all of these features now):

  • Multiple open documents in a tabbed interface.
  • Syntax-based styles. More than just color-coding keywords, I'd like to be able to change font and size as well.
  • Integration with Visual Studio .NET.
  • Integration with SourceGear Vault.
  • Hex editing, not just hex view.
  • The ability to set a right margin that inserts hard returns, and to manually rewrap a paragraph with a keystroke or two.
  • Macro recording and playback.
  • In-editor display of HTML and XML/XSLT.
  • File and directory diffing.
  • Integration with MSN Messenger and Yahoo! Instant Messenger. I'd love a product that let me do remote pair programming via these transports.
  • Some kind of snippet manager.
  • A project system that lets me compose a project of completely arbitrary files, and that lets me have multiple projects loaded at the same time.
  • Support for matching HTML tags.
  • Integration with the .NET Framework so I get something like IntelliSense in the text editor.

Well, at least I don't want it to make its own gravy.

There aren't a whole lot of programmer's editors out there these days. The IDEs have squeezed the market quite a bit. So I suspect it's not going to take me too long to evaluate the available choices. What worries me is that I'll likely find them all inadequate - and then, if I'm having a weak moment, I'll contemplate writing my own. That way, I am sure, lies madness.

About the Author

Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.