YOUR FEEDBACK
udaykiran wrote: Really Excellent Information. But i have some doubts. initially i have some aver...

SYS-CON.TV
TOP MICROSOFT .NET LINKS


Extending Visual Studio 2005
Build and integrate new features into Visual Studio 2005

The Visual Studio 2005 Beta 2 SDK allows you to build rich, deeply integrated new features into Visual Studio. The functionality you have access to through the SDK is identical to the functionality used by many teams within the Visual Studio organization here in Microsoft to develop new features for Visual Studio. Essentially, using our SDK will give you the same access to the Visual Studio Platform that is used to build in the majority of cool new features you'll find in Visual Studio 2005.

Have you ever thought of a killer feature you would love to see in Visual Studio? Maybe you want to add support for a new programming language, or you have an idea for a new GUI designer tool. You can add support for virtually anything to Visual Studio through the SDK.

This article will get you up to speed on downloading, installing, and familiarizing yourself with the Visual Studio SDK. We will walk through the fundamental parts of the SDK, and then build our first Package, which will be a customized version of the Visual Studio Task List.

The Task List (see Figure 1) stores several types of data. First, it stores tasks you create, like Outlook. Second, it parses your solution's source code for special tokens in comments like "TODO," "HACK," "UNDONE," and "UnresolvedMergeConflict," and dynamically adds these to its list.

The Visual Studio SDK provides deep, feature-rich access to virtually every part of Visual Studio. This includes all of the data used by the Task List, which we will end up using later on.

To get started you will need the Visual Studio 2005 Beta 2 SDK. Go to http://msdn.microsoft.com/vstudio/extend/ and look for the link entitled Download Visual Studio 2005 SDK 2005 Beta 2. Once you have downloaded the SDK, go ahead and install it.

The SDK installer will add several new components to Visual Studio. A new SDK help collection will be added to Visual Studio's Help System to provide you with conceptual information and specific technical details on using all of the functionality in the SDK. Several new project templates will be added to Visual Studio; these can be accessed through the New Project Dialog's Project Types tree under Other Project Types:Extensibility. Finally, a new entry will be added to the Start Menu.

After installing the SDK, the Start Menu will have two shortcuts to Visual Studio. One is entitled Visual Studio 2005 Beta 2, and the other is Microsoft Visual Studio 2005 Experimental. The normal version - the same one you use for Winforms and ASP.Net apps - is where you will write your extensions to Visual Studio. The Experimental version is where you will go to test them.

The Experimental version isolates its Registry data from the rest of Visual Studio 2005. If you examine the Registry hive HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio you will find a hive for 8.0 and one for 8.0Exp, an exact clone used for VS SDK development. This "sandbox" gives you the freedom to experiment without worrying about destroying your normal VS installation.

You can launch the Experimental version of Visual Studio in three different ways. First, by running Visual Studio with the command line switch "/RootSuffix Exp," like this: Devenv /RootSuffix Exp. Second, when you debug an SDK Project it will load up under the Experimental version by default. Third, you can choose the Start Menu link to Visual Studio 2005 Experimental.

Visual Studio Extensibility Methods
There are three means by which you can extend Visual Studio. The first is by writing a Macro. They are created through the Macros IDE, which is available under the Tools menu inside Visual Studio. Macros are written in Visual Basic.

Second, you can write an Add-in. These are built as DLLs, and can be written in several different languages, including C#, Visual Basic, and native C++. You can create a new Add-in by choosing the Visual Studio Add-in project type in the New Project Dialog.

Both Macros and Add-ins use Visual Studio's Automation Object Model to customize Visual Studio. The Automation system can be used to add new commands to toolbars and menus, create new tool windows, or automate certain tasks that you perform regularly in Visual Studio.

The third way in which you can extend Visual Studio is by creating a Visual Studio Package. The Package approach allows you to integrate far more deeply into Visual Studio. For example, it gives you the ability to add new programming languages to Visual Studio. For our purposes here we will be working at the Package level.

Creating Your Package
Launch the normal, non-Experi-mental, version of Visual Studio 2005. First, you will want to create a new Visual Studio Package. Open the New Project Dialog (File -> New -> New Project). Drill down into the Project Types tree view by expanding the Other Project Types node and selecting Extensibility. You will find four Project Templates available in this category:

  • Visual Studio Add-in lets you create an Add-in for Visual Studio, as discussed above
  • Shared Add-in lets you create an Add-in that usable inside of Microsoft Office
  • Visual Studio Language Package gives you the ability to integrate new languages into Visual Studio
  • Visual Studio Integration Package creates a new Package in either native C++ or managed C# that can be used to build custom editors, tool windows, or anything else that you can imagine adding to Visual Studio.
For our purposes, we will create a new Visual Studio Integration Package. Select the Visual Studio Integration Package project type, as shown in Figure 2. Give it the name Tasklist Sample, and press OK.

Next we'll walk through the Visual Studio Integration Package wizard. The first page of the Wizard introduces you to the SDK development experience; press Next. The Wizard's second page asks you to choose the programming language you want to use for development. Select C# here. The default options for assembly signing are sufficient (see Figure 3).

The third page will ask you for detailed information about your project. Enter an appropriate company name in the provided field. Under VSPackage name, enter "Tasklist Sample." VSPackage version can be left at 1.0. Minimum Visual Studio edition allows you to choose which editions of Visual Studio your Package will work under. For our purposes, this should be set to Standard, but if your project depended on functionality only available in certain editions, you would be able to set this restriction here. Finally, enter some descriptive text in the Detailed information textbox, which will be shown in the Help.About dialog. Press Next.

About Aaron Brethorst
Aaron Brethorst is a program manager on the Visual Studio Core team, where he is responsible for Accessibility and User Experience across the Visual Studio IDE. Aaron joined Microsoft in 2003 after graduating from the University of Minnesota with a degree in Computer Science. When he's not developing software, you can usually find him in a Seattle coffee shop with a good book.

MICROSOFT .NET LATEST STORIES
VMware’s ESX hypervisor has become the first third-party hypervisor accredited under Microsoft’s months-old Server Virtualization Validation Program (SVVP). The validation applies to VMware ESX 3.5 update 2 (ESX 3.5u2) and means VMware customers who run Windows Server and Microsoft...
We are seeing more being written about Cloud computing and cloud platforms today, and there is strong validation that the future of computing will include significant innovation and value in web/cloud platforms. Microsoft’s Cloud strategy is materializing, and as part of our overall ...
Nth Penguin has released WW.DataServices to the public and is available for immediate download at: www.nthpenguin.com. WW.DataServices, the first system of the WebWidgetry engine, removes all the work from accessing your data. You simply point it to a database location, push a button,...
Gizmox announced the release of a fully functional beta version of its Visual WebGui (VWG) with support for Microsoft Silverlight. For the first time, VWG enables Silverlight for enterprise applications by providing a RAD like Windows Forms development experience with drag & drop desig...
Google will come out from behind the Firefox browser that it’s been pumping money into – and profiting royally from – and take direct aim at Microsoft with a browser of its very own. The widgetry is called Google Chrome and Google Chrome, like all of Google’s non-search widgetr...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE
BREAKING NEWS FROM THE WIRES
Neverfail, a leading global software company providing affordable continuous availability and disast...