Problem solve Get help with specific problems with your technologies, process and projects.

Customizing Visual Studio 2008 using VS Shell

The Visual Studio 2008 Shell makes Microsoft's IDE more extensible. Here we walk you through the integrated and isolated modes of VS Shell.

One of the more interesting items I've come across regarding the new Visual Studio 2008 is the extensibility that its built-in Shell environment offers. In fact, this is such a powerful and compelling toolset for customization that Microsoft has set up a Visual Studio Extensibility (VSX) Developer Center in addition to a home page for the Visual Studio 2008 Shell itself.

Essentially, the Visual Studio 2008 Shell lets you create and include specialized languages and development tools to extend the already impressive capabilities that are part and parcel of the Visual Studio 2008 environment.

To get a sense of what's involved in working with the Shell, a quick review of salient feature categories, along with some of the items they include, is pretty illustrative. Visual Studio 2008 Shell offers features that Microsoft breaks into numerous categories that mirror and leverage basic Visual Studio capabilities:

  • IDE Features: VS Shell can access and alter much of the Visual Studio environment, including import/export settings, task and error lists, the toolbox and toolbox control installer, class and resource views, the solution explorer, object browser and more.
  • Editor/Designer: VS Shell can use code browsing tools and SmartTags, work with Code Snippets, run IntelliSense and IntelliSense factoring, and work with the code definition window, the application designer, and the Windows Forms designer, among other facilities.
  • Debugging: VS Shell can drive most debugging activities, including local, managed and cross-thread debugging. It also supports various language and debugging tools.
  • More on Visual Studio 2008 Shell

    Case study: A look at VS Shell

    Microsoft announces VS Shell at Tech Ed 2007

  • Data: the Shell can operate the Server Explorer (in Data Only mode), perform data binds to objects, Web services, plus local and remote database servers, and access Visual Studio 2008's data controls, XML editor, and DDL tools for remote data access.
  • Web: VS Shell can use Visual Studio 2008's HTML Editor and its many Web facilities -- Web browser, Web Forms Designer, Web Site Project, and Web Application Project elements.
  • Extensibility: VS Shell can use Visual Studio's Add-in Manager, consume VS packages, and work with Macros (including the Macros IDE and Macros Explorer).
  • Documentation: the Shell can use the Visual Studio Document Explorer, and access its Help on Help Collection as well.

These capabilities apply to the Visual Studio 2008 Shell when used in concert with VS 2008.

In addition, Visual Studio 2008 Shell may also be operated as a standalone instance -- Microsoft calls this "isolated mode" -- that provides numerous customization opportunities as well. These include do-it-yourself splash screens, application icons, and application titles, but also provide opportunities to create completely custom menus and commands, support for add-ins, changes to default project locations and search pages and more. In short, there's plenty of room for those who want to use Visual Studio 2008 as a platform for specialized development tasks to exercise their creativity.

Creating a Visual Studio 2008 Shell instance requires developers to download the Visual Studio 2008 SDK and the Visual Studio 2008 Shell runtime from the VSX developer center. (The runtime is available in both integrated and isolated modes.) Currently, the Shell only operates in preview mode, but when Microsoft releases its final version redistributable packages will also be available.

Ed Tittel is a writer and trainer whose interests include XML and development topics, along with IT Certification and information security. E-mail with comments, questions, or suggested topics or tools to review. Cool tools rule!

Dig Deeper on .NET Framework 3.5 and Visual Studio 2008 development

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.