Hello, my name is: "New Editor"


For those of you, like myself, who weren’t lucky enough to be
vacationing in beautiful Barcelona and happened to drop in on
TechEd EMEA, or if you haven’t found it elsewhere on the interwebs,
I’d like to introduce you to… [drum roll]….


alt="Scott Guthrie showing an editor sample at PDC" style="spacing">

Scott Guthrie showing the “comment adornment” at PDC

The new editor!

Here are a few interesting things about the new editor:

  1. The editor is designed to be extensible from the start. The
    editor is built from composable parts and uses the Managed
    Extensibility Framework (MEF) to tie things together. This means
    that people who want to add features to the editor or
    modify existing behavior get to use the exact same tools that we
    use when building features in the editor. In effect, the editor
    is virtually all public surface area.
  2. The editor is written using the Windows Presentation Foundation
    (WPF). This allows us (and anyone who wants to extend the editor)
    to be fairly creative in the richness of our visualizations (such
    as the pictures above, where comments have been replaced by rich
    edit controls). This lets you do everything from gradient disease
    (you know exactly what I’m talking about)
    to useful things, like embedding controls directly into
    your editing surface and finding better ways to visualize
    information normally just presented as text.
  3. The editor is written in managed code, which has benefits like the
    following:

    • Without getting too much into the religiosity of managed
      vs. native code, it is much easier to write managed extensions
      against the new editor than native ones against the old. No
      COM, no “whoops I accidentally leaked Visual Studio, my bad”,
      and certainly NO COM (I can’t stress that last one enough). Oh,
      and you don’t have to mess around with COM.
    • You’ll write less code (which I’m going to show here in the
      coming weeks and months) and (hopefully) safer code, which is
      generally a good thing.
    • You get to take your pick of favorite .NET language — we write
      mostly in C# (on the editor team), but we’ve seen extensions in
      C#, VB.NET, F#, and others. I’ll probably provide a few samples
      on this blog in languages other than C#, so you’ll be able to
      see what I mean.
  4. For those existing extenders that don’t want to update anything,
    we’ve provided “shim” interfaces that masquerade as the old
    editor. We haven’t shimmed everything, but we’ve implemented the
    majority of the existing native interfaces.

A little about myself, since this is supposed to be one of those meet-and-greet type of posts:

My name is Noah, and I’ve been on the editor team (and at Microsoft) for a little over a year (I did an internship here before, if you want to count that). I’m a recent college grad (CS undergrad at RIT), so I’m still one of them thur youngins on the team. My favorite color is blue, and my favorite editors are vim and emacs; yes, I use both (primarily vim; and Emacs for things like slime, muse, and org-mode), so I don’t buy into the whole “best editor evar” flame war (my asbestos long johns are on, though, just in case). I’m what our architect jokingly refers to as one of “those open source socialists”, which is a big reason why I’m pretty heavily invested in making our editor as extensible and open as possible — I believe that the most important value of any product or project is the community that exists around it.

In the coming days and weeks, I’ll be writing various samples/extensions for the editor, as well as giving an overview of the many ways that people can extend the editor. I’ll put up samples for various things: features I miss from other editors, things that you couldn’t (easily) do in the old editor, samples that somehow involve ice cream (I really like ice cream), etc. If you are an actual person reading this post and not the google search indexer, feel free to write a comment if you want to see something specific. I suppose, if you are the google spider, you can post a comment, too; we’re very accepting of all people and bots on this blog, unless you are the prince of some African country who has seventy gigabazillion dollars and just needs $1000 from me to get set up in America.

The images in this post come from Long Zheng’s Flickr photostream, from the “PDC08: Keynote 2” set.


Comments (2)

  1. Roland says:

    Just want to let you guys know that for me personally, the new editor is one of the most anticipated features in VS2010!

  2. lb says:

    new editor looks awesome. this is my most anticipated feature too.

    It’s great that ISE and intelliPad have incorporated it.

    I’m keen to know if it will be available for use outside of microsoft?