Virtual Developer Workshop: Containerized Development with Docker
The 2007 TechEd conference had some big announcements concerning Visual Studio. The first announcement introduced the official name of the next version of Visual Studio. Long known as Orcas, the next version has been officially named Visual Studio 2008. The second announcement that has generated a lot of buzz was the unveiling of a new product named Visual Studio 2008 Shell.
What the Shell?
The name Visual Studio 2008 Shell accurately describes what the product is. It is a "shell" of the Visual Studio 2008 IDE that is customizable for third-party applications. The VS 2008 Shell is primarily intended for developers creating software development tools, including programming languages and specialized development tools.
Microsoft created the VS 2008 Shell in response to requests from developers who wanted to utilize the development environment of Visual Studio for custom development applications. The immediate benefit to developers of software development tools is the amount of time saved by not having to create a custom development environment. The longer-term benefit is that the users of the custom applications get a familiar interface and the associated time savings derived from that.
Integrated Mode and Isolated Mode
The VS 2008 Shell offers two different modes to developers. Based on the type of custom application being developed, the developer can choose between "integrated mode" and "isolated mode."
Custom applications created using the VS 2008 Shell integrated mode will automatically integrate into an existing Visual Studio installation. Integrated mode is optimized for programming languages and allows developers to utilize the built-in tools of Visual Studio in addition to their custom tools.
Specialized development tools are the primary target of VS 2008 Shell isolated mode. Isolated mode applications install and run independent of any other versions of Visual Studio in on the same machine. In fact, isolated mode applications can run on machines that do not have any other Visual Studio version installed. Isolated mode also offers developers many custom branding options.
The features listed below are some of the highlights and are available in both integrated mode and isolated mode.
- IDE Features
- Task List & Error List
- Output Window
- Properties Window
- Solution Explorer
- Class View
- Object Browser
- Command Window
- Domain-Specific Language (DSL) Runtime Support
- Language Integrated Query (LINQ) Support
- Code Snippets
- IntelliSense Filtering
- Code Definition Window
- Application Designer
- Windows Forms Designer
- Windows Presentation Foundation (WPF) Designer
- Edit and Continue
- Breakpoint Constraints
- Server Explorer
- Full set of data controls
- XML editor
- Data bind to local or remote database server
- HTML Editor
- Web Forms Designer
- Add-in Manager
- Supports Macros
- Macros IDE
- Document Explorer
- Help on Help Collection
Shell Customization in Isolated Mode
The VS 2008 Shell isolated mode allows developers to customize many elements of the interface. This allows developers of custom development applications to provide their own application and company-specific branding to the IDE. The elements listed below are some of the primary customization options:
- Splash Screen
- Application Title
- Application Icon
- Menus and Commands
- 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
Availability and Licensing
The Visual Studio 2008 Shell will ship as part of the Visual Studio 2008 SDK and be released at the same time as Visual Studio 2008. All three are expected to ship by the end of 2007. Developers can begin exploring Visual Studio 2008 and the VS 2008 Shell now by downloading the Visual Studio 2008 Beta 2 Standard Edition (or higher) here and the Visual Studio SDK July 2007 CTP here.
The VS 2008 Shell will be free and a runtime package that is free to redistribute will be available as well. There will be separate redistributables for isolated mode applications and integrated mode applications. The redistributable package is expected to be approximately 300 MB and it will include the Visual Studio Shell components as well as the Microsoft .NET Framework 3.5.
Isolated mode applications will also require a Shell Load Key (SLK) obtained from Microsoft. The SLK will be a unique identifier that will prevent conflicts between Visual Studio-based applications.
What Does the Future Hold?
Although many details of the Visual Studio 2008 Shell have yet to emerge and the first beta just became available, the potential for this product is high. If the VS 2008 Shell lives up to its promise, language developers and developers of custom applications that require an IDE will likely find many, if not all, of their needs met by VS 2008 Shell. It will be interesting to see what new applications developers will create utilizing the VS 2008 Shell.
About the Author
Josh Fitzgerald is an applications development group leader for a large medical device company in Warsaw, Indiana. Designing and developing Visual Basic .NET applications is only one of his responsibilities, but it is his favorite part of his job. You can reach Josh at email@example.com.