Can You Use Visual Studio as Your Text Editor?

Most developers I know (including myself) use at least two text editors on their box, a full blown development environment like Visual Studio, and a lightweight editor (or mid-weight) like notepad.exe, Notepad++, Notepad2, vim, emacs, UltraEdit (my favorite), SlickEdit, EditPlus, TextPad, etc.

If you use Visual Studio, the question I pose is why not use it as your general purpose editor?  You laugh! (as have I), but I'm serious, what is actually blocking your adoption of VS as a general purpose text editor?  Not "what are you using", but why are you using another editor?  What am I missing or what rings a bell w/ you?

I'm now on the team that owns the general editing experience for VS and it hit me, why am I using UltraEdit for all my general purpose editing and VS for only managed code development?  The devs & people that come to my office to tweak my PC are using notepad.exe, why?  I believe VS should certainly be fully capable of behaving like a simple editor, and I think it's actually close, but not quite there yet, so why?  We're looking into features for the next version, so give me some hard reasons why...

The Blocking Issues

Here's what I believe people (including myself) think of VS as a simple text editor, please add to this list via comments:

  • Too Much Memory
    devenv.exe hogs system memory (>100MB).  UltraEdit takes 5.6MB, Notepad2 takes 2MB, notepad.exe takes 1.6MB, emacs v22.1 for Windows takes 9MB.
  • Startup Performance
    devenv.exe doesn't just 'pop' up like notepad.exe
  • Availability / Cost
    notepad.exe is available on every box, it is consistent and gets the job done.  Many editors are free.  Most editors take very little disk space, VS can take a lot.  I'm going to assume that you ARE using VS, so those don't count.
  • System Integration
    Note I know UltraEdit put a handy item in the windows explorer shell's context menu to open any file in the editor, this is nice (not on the "Open With" menu)
  • Syntax Highlighting
    VS does not support easy custom syntax highlighting, period.
  • Specialized Features
    Many editor have their own special features, UltraEdit has a "Favorites" list that I love, column editing mode (used rarely, but handy) etc.  UE also has a Spell Checker which I use all the time just to pop up the editor & copy/paste text from anywhere to check spelling.
  • Easy of Customization
    Some apps have easy to access menu options to just pop a new custom menu action off the main menu bar.  I find this handy.  Doing this in VS requires a lot more work.  What editor customization do you do?
  • Bloated with Windows
    Personally, I like my text editor to appear simple, real simple. No command bars, just a menu since I use keyboard shortcuts.
  • Simplicity & Easy of Use
    VS is big, no doubt about it.
  • Just Haven't Considered It Yet
    We've been using separate text editors so long that perhaps it hasn't even occurred to trying using one environment.  Or VS was so heavy in the past we abandoned the notion long ago.  I'm guilty of this.
  • Cross Platform
    If you work off a PC, learning one environment (like vim or emacs) is certainly easier.
  • Shortcuts
    Some of the VS shortcuts are not intuitive, like Ctrl-H for replace (instead of Ctrl-R).  Discovering them and be tricky and customizing them isn't the easiest.
  • Different Mindset
    Maybe VS is just for .NET/native code development and having a different editor separates the purposes in one's mind.  Certainly I believe it is apparent in the workflow of the text editor application.

Dispelling Some Myths

I've just started trying to use VS as my general purpose text editor, and this is what I've learned so far.  I feel I still have a a long ways to go, but it's a start.  What's missing?  In this case, I've been using VS 2008 Beta2.

  • Memory Usage
    When opening a .txt file, devenv.exe actually takes only 10MB of memory.  Still more than the others, but not too bad.
  • Startup Performance
    When opening a .txt file, devenv.exe actually pops up very fast.  Not as fast as notepad.exe, but certainly negligibly different.
  • Big Missing Features
    Sure there are some big things, like easy customization of syntax highlighting.  Others?
  • Easy Customization
    Well there are macros (w/ a recorder) in VS, you can even create new toolbars, menu items, etc and bind to the keyboard.  My next goal is to port my custom menus and actions from UltraEdit to VS to understand just how easy/hard it is.  What's been your experience with this?
  • Specialized Features
    I miss the "Favorites" list in UltraEdit and am having a hard time living without a built in spell checker.  What special features do you use in your editor VS doesn't have?
  • It's in the Details
    I'm finding lots of little behaviors I'm used to in my normal editors in which VS is different.  It breaks the smooth simple workflow I love.  Like all other editors start up with a blank new file, VS doesn't.  "New File" instantly creates a blank text file in other editors, VS has the additional step of choosing which type of file first (annoying!).  Double-clicking a tab in UltraEdit closes that file, nice.  What other details do you miss?
  • Bloated with Windows
    I was totally surprised when I opened a .txt file in VS, all those other windows disappeared, awesome!

I Want to Hear From You

So this post is not about how to adopt VS as your simple text editor, it's to find out why you don't use it as your basic editor.  Sure there are some big things, but workflow is made/broken by the little details, what are they?

References

Editor Screens

Just some screen shots of a few popular editors w/ a .txt file

Text Editor - Visual Studio 

Text Editor - Notepad 

Text Editor - UltraEdit

 Text Editor - emacs

Text Editor - Notepad2