Content by Category
.NET 1.x
.NET 2.0
.NET 3.0
.NET 3.5
.NET 4.0
.NET 4.5
.NET Assemblies
.NET Framework
.NET Getting Started
Accessibility
ADO.NET
Advertorials
Agile Development
AJAX
Amazon Web Services
Analysis Services
Android
Architecture
Arduino
ASP .NET Web API
ASP.NET
ASP.NET MVC
ASP.NET WebForms
Azure
B2B (Business Integration)
BDD
Big Data
Bing
BizTalk
Book Excerpts
Build and Deploy
Business Intelligence
C#
C++
ClickOnce
Cloud Computing
Code Contracts
CODE Framework Info - non Technical
CODE on the Road!
COM+
Community
Conferences
Continuous Integration
Crystal Reports
CSLA.NET
CSS
Data
Debugger
Design Patterns
Development Process
Display Technologies
Distributed Computing
Document Database
DotNetNuke
DSL
Dynamic Languages
Dynamic Programming
Editorials
Enterprise Services ("COM+")
Entity Framework
Events
Expression Blend
F#
Fox to Fox
Frameworks
Functional Programming
Git
Graphics
HTML 5
Internet Explorer 8.0
Interviews
IOS
iPhone
Iron Ruby
Java
Java Script
JavaScript
jQuery
JSON
Lightswitch
LINQ
Linux
LUA
Mac OS X
MDX
Messaging
Metro
Microsoft Application Blocks
Microsoft Business Rules Framework
Microsoft Dynamics
Microsoft Expression
Microsoft Office
Mobile Development
Mobile PC
Mono
MsBuild
MVVM
MySQL
Network
NHibernate
node.js
NOSQL
Nuget
Object Oriented Development
Objective C
Odata
OLAP
Open Source
Opinion
Opinions
Oracle
ORM
Other Languages
Parallel Programming
Patterns
PHP
Podcasts
Post Mortem
PowerPoint
Print/Output
Prism
Product News
Product Reviews
Project Management
Prolog
Python
Q&A
Rails
Rake
Razor
Reporting Services
REST
RIA Services
Ruby
Ruby on Rails
Scheme
Search
Security
Services
SharePoint
SignalR
Silverlight
SOA
Social Networks
Software & Law
Software Business
Source Control
Speech-Enabled Applications
SQL Server
SQL Server 2000
SQL Server 2005
SQL Server 2008
SQL Server 2012
SQL Server CE/AnyWhere/Mobile/Compact
SSIS
Subversion
Sync Framework
Tablet PC
TDD
Team System
Techniques
Testing and Quality Control
TFS
Tips
TypeScript
UI Design
UML
User Groups
VB Script
VB.NET
Version Control
VFP and .NET
VFP and SQL Server
Virtual Earth
Vista
Visual Basic
Visual Basic 6 (and older)
Visual FoxPro
Visual Studio .NET
Visual Studio 11
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
Visual Studio 2011
Visual Studio 2012
Visual Studio Tools for Office
VSX
WCF
Web Development (general)
Web Services
WebMatrix
WF
Whitepapers
Windows 7
Windows 8
Windows Azure
Windows Live
Windows Phone 7
Windows Phone SDK
Windows Server
Windows Vista
WinForms
WinRT
Workflow
WPF
XAML
Xiine Documentation
XML
XNA
XSLT



LearnNow


XAMALOT
 


SSWUG

Reader rating:
Click here to read 9 comments about this article.
Article source: CoDe (2008 - Vol. 5 - Issue 1 - Extensibility)


Article Pages: < Previous - 1  2  3 4 - Next >


Introduction to the Visual Studio 2008 Shell (Cont.)

What You Need to Download

The August 2007 CTP release of the Visual Studio 2008 SDK is the first release of the SDK that supports development for the VS Shell (isolated mode). Aside from Visual Studio itself, it is the only software package you need to download and install to start developing and testing your own Shell instance.

When you are ready to deploy and test the setup program of your Shell instance, you will need to download one of the redistributable packages, depending on which Shell mode you are targeting:

  1. Visual Studio 2008 Shell (isolated mode) Redistributable Package
  2. Visual Studio 2008 Shell (integrated mode) Redistributable Package

Table 1 summarizes purposes of the different software packages related to Visual Studio Extensibility. When we release these packages, you will find download links from the Visual Studio Extensibility Developer Center (http://msdn.com/vsx).

Walkthrough: Creating Your First Tools IDE on VS Shell (Isolated Mode)

In this walkthrough, I will show you how to create your own IDE based on the Shell (isolated mode), how to do basic customizations of it, and how to create a simple package for your new IDE that simply brings up a Tool Window. I will also briefly discuss how to deploy your VS Shell-based product.

Note that this article is written based on the Visual Studio 2008 SDK August CTP release. The August CTP is the first Visual Studio SDK that supports development on the isolated shell. Because our team ships new releases of the VS SDK quite frequently, it is quite likely that by the time this article is published, there will be a newer release of the VS SDK with an improved Shell development experience. So the details of the step-by-step instructions may become obsolete. If you run into trouble, you should go to the Visual Studio Extensibility Center for help (http://msdn.com/vsx).

Creating Your Own IDE

First you’ll create your own stub .exe for your IDE. Start Visual Studio as an administrator. If you are running Windows Vista, you will need to right-click on the Visual Studio 2008 program shortcut and choose Run as administrator. Future releases of the SDK may not require this, but this is required for the August CTP. In Visual Studio, click File > New Project…, and go to the Visual C++ node in the Project types pane and select Visual Studio Shell. Note that future VS SDK releases should have this template moved under the Extensibility node. Name your project MyFirstShell and click OK, as shown in Figure 2.

Click for a larger version of this image.

Figure 2: Visual Studio Shell template in the New Project dialog box.

Visual Studio will generate a solution with two projects for you: MyFirstShell and MyFirstShellUI. Right after Visual Studio has generated the solution you can just hit F5 to start running your IDE. Of course, it has nothing right now, and it’s not very interesting, but it will run. Figure 3 shows your new un-customized IDE.

Click for a larger version of this image.

Figure 3: Un-customized IDE based on the VS Shell.

Your IDE may look plain right now, but a lot of things just happened. Visual Studio not only built your project, it also ran a tool called DependencyChecker.exe in a post-build step that checked to see if your IDE has been properly set up in the registry. Since this is the first time you are running the IDE, it called MyFirstShell /setup for you to do all the things that are necessary to set up the registry. But wait a minute, you haven’t written a single line of code, let alone handling /setup as an argument-what happened? The VS SDK ships a DLL called AppEnvStub.dll that exports three functions: Start, Remove and Setup, and Setup knows how to set up the registry information when called. The VS Shell template also created code for you to handle the /setup argument that calls into the Setup function exported by AppEnvStub.dll. You can see this (Figure 4) around line 100 of MyFirstShell.cpp.

Click for a larger version of this image.

Figure 4: Generated code sowing the use of Setup function exported from AppEnvStub.dll.

If you now open a registry editor and browse to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppEnv\9.0\Apps\, you can see that you have just created a new key under this node (Figure 5). This is your IDE’s own registry hive that is isolated from Visual Studio or other IDEs that are built on the Shell. In effect, you have just created your own AppId.

Click for a larger version of this image.

Figure 5: Registry hive created by your IDE

Now that you have just created your own IDE, it’s time for you to do some customizations.

&


VSX Team Member


Catherine Crim

Product Manager

Development Tools Ecosystem

It’s great to be on the Development Tools Ecosystem marketing team. We work with so many innovative, talented developers who build on the Visual Studio platform. I’m responsible for product management and business development around Visual Studio extensibility, so I’m focused on new opportunities for developers who extend our tools. I’m always interested in hearing about what people are building!



Table 1: Required software to test and deploy your VS Shell instance.
Download NameDescription
Visual Studio 2008 SDKUse this SDK 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) as well as 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 PackageInclude this package in your Setup program if you are building your own tools environment on the isolated Shell. This package is about 300 MB in size; it includes the .NET Framework 3.5 and the components of the Visual Studio Shell. In order to redistribute your isolated Shell, you will need to obtain a Shell Load Key from Microsoft.
Visual Studio 2008 Shell (integrated mode) Redistributable PackageInclude this package in your Setup program if you are building your own tools environment on the integrated Shell. This package is about 300 MB in size; it includes the .NET Framework 3.5 and the components of the Visual Studio Shell.


Article Pages: < Previous - 1  2  3 4 - Next Page: 'Customizing Your IDE' >>

Page 1: Introduction to the Visual Studio 2008 Shell
Page 2: What You Need to Download
Page 3: Customizing Your IDE
Page 4: Removing a Default Package from Your IDE

How would you rate the quality of this article?
1 2 3 4 5
Poor      Outstanding

Tell us why you rated the content this way. (optional)

Average rating:
3.2 out of 5

63 people have rated this article.

TOWER 48

      CODE Training

 

SSWUG