google search

Friday, July 10, 2009

New Code Editor and MEF

New Code Editor and MEF

Visual Studio (VS) 2010 introduces a new Editor composed of extensible objects using the Microsoft Extensibility Framework (MEF). It is built on WPF to provide a 1st-class graphics engine with APIs written & designed for the latest version of .NET. This time around we are documenting APIs as part of our development process to improve documentation and help. We are also focused on delivering improved data structures and algorithms. Immutable Text Snapshots allow access to stable version of text buffer from any thread.

The new editor represents one of the first Visual Studio components to move to a managed code, MEF architecture. Other components moving to this architecture in VS2010 include the Visual Studio Languages, Web Tools, the Debugger, the new C++ project system, DSL Tools, and SharePoint Designer. Each of these components are using or offering MEF extension points. The editor represents Visual Studio’s largest investment in a MEF architecture. These moves to managed code and MEF will be followed by others as much of Visual Studio moves to this new architectural foundation in following versions.

Shims will provide 80+ percent compatibility to minimize the work for partners migrating code to the new editor. However where possible partners should update their code to use the new managed editor interfaces for the VS2010 editor. This will result in better performance and simpler code that is easier to understand and maintain. It will also migrate to the follow-on version of Visual Studio with less problems because we will be deprecating the shims in the next version after VS2010.

Partners should also consider using MEF for their own extensibility requirements in their own .NET based applications, that is, other applications have nothing to do with Visual Studio.

No comments: