.jpg)
Getting Started with the Visual Studio 2008 ShellThe Microsoft Visual Studio 2008 Shell provides a core integrated development environment (IDE) to help you build and ship specialized languages and development tools. You can find the Visual Studio 2008 SDK and the Visual Studio 2008 Shell redistributables at the Visual Studio Extensibility (VSX) Developer Center. For details on other new features in the SDK, visit the VSX team blog. This article covers the features and customization points contained in the Visual Studio Shell, as well as what to download and how to start building your own Shell instance - to see an overview of the Shell and the two modes (the integrated Shell and the isolated Shell), see Visual Studio 2008 Shell. FeaturesThe following table lists the features included in the Visual Studio Shell. The features listed apply to both the Visual Studio Shell (isolated mode) and the Visual Studio Shell (integrated mode). | Feature Category | Feature | | IDE Features | Import/Export Settings | | Toolbox Control Installer | | Task List & Error List | | Output Window | | Start Page | | Properties Window | | Toolbox | | Solution Explorer | | Bookmark Window | | Class View | | Object Browser | | Command Window | | Document Outline | | Resource View | | External Tool | | Windows Communication Foundation (WCF) Add Service Reference | | Domain-Specific Language (DSL) Runtime Support | | Language Integrated Query (LINQ) Support | | Editor/Designer | Code browsing tools (unified find, source definition, inheritance) | | IntelliSense | | SmartTags | | Code Snippets Manager | | Code Snippets | | Refactoring | | Pretty listing | | IntelliSense Filtering | | Code Definition Window | | Application Designer | | Windows Forms Designer | | Windows Presentation Foundation (WPF) Designer | | Debugging | C# Expression Evaluator | | Local debugging | | Managed debugging | | Edit and Continue | | Cross-thread debugging | | Visualizations | | DataTips | | Native debugging | | Script debugging | | Interop debugging | | Just-in-time (JIT) Debugging | | Multi-process debugging | | XSLT debugger | | Attach to local process | | Trace Points | | Breakpoint Constraints | | Data | Server Explorer (Simplified - Data Only) | | Data bind to local data (.MDF or .MDB) | | Data bind to object | | Data bind to Web service | | Full set of data controls | | XML editor | | Data bind to local database server | | Data bind to remote database server | | Data Sources window | | Data Definition Language (DDL) tools for remote data | | Web | HTML Editor | | Web Browser | | Web Forms Designer | | Web Site Project | | Web Application Project | | Extensibility | Add-in Manager | | Consumes VS Packages | | Supports Macros | | Macros IDE | | Macros Explorer | | Documentation | Document Explorer | | Help on Help Collection |
Visual Studio Shell Customization Points (isolated mode)These primary customization points help you personalize your own Visual Studio Shell (isolated mode) instance: - Splash Screen
- Application Title
- Application Icon
- Menus and Commands
- (Unregister packages)
- Command Line Logo
- Allow Add-ins
- Default Project Location
- Default Search Page
- Default Web Browser Homepage
- New Project Dialog Installed Templates Header
- Default Debug Engine
- Disable Output Window
- Allow Dropped Files on Main Window
- Solution file extension
- User option file extension
What to Download to Create a Visual Studio Shell InstanceTo create a Visual Studio Shell instance you will need to Visual Studio 2008 SDK and the Visual Studio 2008 Shell runtime from the Visual Studio Extensibility (VSX) Developer Center. With these two products you’ll be able to begin developing and testing your own Shell instance. The following table summarizes purposes of the different software packages: | Software Download Name | Description | Visual Studio 2008 SDK | This is the SDK you need to develop and test all your Visual Studio extensions. You can use the SDK to create Visual Studio packages that target Visual Studio, Visual Studio Shell (integrated mode) and Visual Studio Shell (isolated mode). You also use the SDK to create your own instance of the Visual Studio Shell (isolated mode). Visual Studio 2008 Standard and above is a pre-requisite for the SDK. | Visual Studio 2008 Shell (isolated mode) Redistributable Package | This is the package that you will include in your Setup program if you are building your own tools environment on the Visual Studio Shell (integrated mode). This package is about 300 MB in size; it includes the Microsoft .NET Framework 3.5 and the components of the Visual Studio Shell. In order to redistribute your instance of the isolated Shell, you will need to obtain a Shell Load Key (SLK) from Microsoft. This is a unique identifier for your application that helps prevent conflicts with other Visual Studio-based applications. | | Visual Studio 2008 Shell (integrated mode) Redistributable Package | This is the package that you will include in your Setup program if you are building your own tools environment on the Visual Studio Shell (integrated mode). This package is also about 300 MB in size; it includes the .NET Framework 3.5 and the components of the Visual Studio Shell. |
How to Extend Visual Studio and the Visual Studio ShellNote: this article assumes the reader has some knowledge of the concepts behind writing extensions to Visual Studio. If you are new to building extensions for Visual Studio please visit http://msdn2.microsoft.com/en-us/vsx/default.aspx to get started. The Visual Studio 2008 Shell documentation contains additional information on building for the Visual Studio Shell. When you create a VSPackage to extend Visual Studio, you can deploy your package into Visual Studio, the Visual Studio Shell (integrated mode) or the Visual Studio Shell (isolated mode). Here is an overview of how to target each scenario: Visual StudioTargeting Visual Studio is no different than using previous releases of the Visual Studio SDK and developing packages. For more information and resources, visit the Visual Studio Extensibility (VSX) Developer Center. Note: Express editions are not extensible; you can only create VSPackages for Visual Studio Standard and above. The Visual Studio Shell (integrated mode)Development and deployment of VSPackages for the Visual Studio Shell (integrated mode) is similar to the Visual Studio scenario. To create the Shell instance, your setup program will need to include the Visual Studio 2008 Shell (integrated mode) Redistributable Package in addition to your VSPackage and any other assets that you may have. The Shell Load key is not needed for deploying the Visual Studio Shell (integrated mode). For more information, see the Visual Studio 2008 Shell (Integrated Mode) Setup and User Guide. The Visual Studio Shell (isolated mode)Creating a VSPackage for the Visual Studio Shell (isolated mode) is a little different than the other two scenarios because you will also need to create your own stub .exe, and VSPackages need to be registered differently. Note that these are the only real differences; there is both source- and binary- level compatibility for VSPackages across Visual Studio and the Visual Studio Shell edit add-ins. When you deploy a VSPackage that targets an isolated Shell instance, you create package definition files (.pkgdef) that contain the registry information that you would normally apply directly to the registry if you were targeting Visual Studio or an integrated Shell instance. If you are using the managed package framework for your extension, you can easily produce such package definition files by using the /pkgdeffile:Myfile.pkgdef switch with the regpkg.exe tool that ships with the Visual Studio SDK. Once you have produced the .pkgdef files, you just need to place them into a special folder along with your package binary, and your instance of the Visual Studio Shell (isolated mode) will automatically detect and install this new package when it is run with the /setup switch. Usually, you will run <yourAppName> /setup as a custom action in your setup program. When you are building on the isolated Shell, you will also need to create your own stub .exe file. This is logically equivalent to devenv.exe for Visual Studio, and it is automatically generated for you when you are choosing to create a Shell instance with the Visual Studio SDK. As part of your setup program, you will also need to install this .exe, in addition to your VSPackage and the redistributable package. For more information, see the help documentation for the Visual Studio 2008 Shell (Isolated Mode). Questions?Post technical questions on the Visual Studio Extensibility Forum. |