Oliver Sturm’s CR Electric Editing plugin, based on the DXCore plugin framework, brings Emacs functionality to Visual Studio.
Developers with a background in any of the Emacs variants may remember the helpful “electric editing” features some of the various modes offered. Electric characters do handy formatting as they’re typed into the code editor. For example, braces ({,}) and semi-colons (;) cause the current line to correctly indent, then add a newline with the cursor at the correct indentation level.
Oliver Sturm’s CR Electric Editing plugin, based on the DXCore plugin framework, brings the same functionality to Visual Studio. Electric Editing also gives you “hungry” deletes of whitespaces, deleting all whitespaces to the left of the carat in one fell swoop. This eases the nuisance of cleaning up after you’ve accidentally hit Return and are left with the caret five indents in.
Electric deletes do the same thing, and will work across multiple lines. Additionally “hints” show exactly what whitespace will be deleted when the cursor is at an end or beginning of a line. The hints are very unobtrusive, and their color can be changed via DXCore’s Options menu. The figure below shows whitespace hints in red (the default color is a much more pleasant light blue).

An additonal great feature of Electric Editing is Emacs-like scrolling, where scrolling starts when your cursor is several lines below the top of the screen. (Or above the bottom of the screen if you’re heading south.)
Electric Editing is very flexible with its configuration options. You control what’s deleted, when it’s deleted, and how long hints delay before showing up – or at all. You can also set where the scroll point offset is from the top or bottom of the screen. Sturm has a great walk-through of configuration options here on his blog.
DXCore and Electric Editing both work on Visual Studio .NET 2003. DXCore’s installation claims “experimental” support for Visual Studio .NET 2005; however, Sturm’s blog notes the last several versions of his plugin have been tested under VS 2005 Beta 2.
Installation of both DXCore and Electric Editing is very simple. Install DXCore, then copy Electric Editing’s DLL to DXCores’ plugin directory. In my case, that’s C:\Program Files\Developer Express Inc\DXCore for Visual Studio .NET\1.1\Bin\Plugins
CR Electric Editing may not seem like a sexy, all-powerful plugin, but it’s right in line with the Emacs and Unix mindset: write a tool that does one or a few things very well. Electric Editing does just that by enhancing a small portion of the editing experience.
