Visual Studio .NET 2003 Automation Samples

These code samples show you how to build VSMacros projects, add–ins, and wizards to make your teams more productive and to bend Visual Studio .NET 2003 to the ways you like to work.
  • Note:There are multiple files available for this download.Once you click on the "Download" button, you will be prompted to select the files you need.


    File Name:




























    Date Published:


    File Size:

    4.5 MB

    158 KB

    126 KB

    125 KB

    121 KB

    122 KB

    135 KB

    625 KB

    457 KB

    539 KB

    130 KB

    117 KB

    2.6 MB

    171 KB

    310 KB

    130 KB

    120 KB

    141 KB

    118 KB

    166 KB

    126 KB

    155 KB

    122 KB

    116 KB

    105 KB

    110 KB

    120 KB

      You can find Visual Studio 2005 Automation Samples here.

      Microsoft has invested heavily in Visual Studio .NET extensibility. This is an important part of Visual Studio .NET because it lets customers easily tailor the tool to their personal working style and enables them to accommodate team practices. You can simply capture several steps in a regular process (for example, for check-ins, creating new projects or forms, or updating code) and make that process available as a single command to invoke. Independent software vendors (ISVs) can implement entirely new features (including groupware, profiling tools, work flow, or life-cycle tools) that fit into Visual Studio .NET 2003 as seamlessly as if they were built into the shipping Visual Studio .NET product.

      These code samples show you how to build VSMacros projects, add–ins, and wizards to make your teams more productive and to bend Visual Studio .NET 2003 to the ways you like to work. Look for more samples, as well as some white papers and overview documents, in the future.

      All of these samples use the Visual Studio automation model, which is free and publicly distributed with Visual Studio .NET 2003. The Visual Studio .NET automation model is four to five times richer and more powerful than any automation model that shipped with a previous version of Visual Studio. With this new automation model, you can do the following:
      • Intercept commands when they are invoked, and either provide preprocessing or implement the command yourself.
      • Control the solution, projects, and project items by adding or removing them.
      • Control the build configurations mechanisms and hook various build events.
      • Control a large portion of the text editor.
      • Implement commands that help you debug with the debugger objects.
      • Control the Windows Forms Designer more easily and with more power than with what Visual Basic 6.0 offered over the Visual Basic Forms Designer.
      • Create tool windows that behave just like the built-in tool windows for docking and floating.
      • Provide content to the Property Browser when items are selected in tool windows.
      • Control several of the built-in tool windows (including Task List, Toolbox, Command Window, and Output Window).

      This self-extracting archive contains the following samples:

      Sample Name: AddinBuildCommentWebPages
      This add-in, written in Visual C# .NET, is a near duplicate implementation of the Build Comment Web Pages features in VS .NET. It uses the VS Code Model, text editor object model, and common project object model.
      Folder Name: AddinBuildCommentWebPages

      Sample Name: Add-in Wizard in Visual C#
      This application wizard, written in C#, is a near duplicate of the Add-in Wizard found in the new project dialog under Other Projects and Extensibility Projects. It adds projects to the solution, items to projects, and uses the Find and text editor object models.
      Folder Name: AddinWizardCS

      Sample Name: PrePostBuildRules Add-in
      This add-in (three versions, C# and VB .NET) provides pre and post build rules at the solution and project level for projects implementing the common VS Automation model for projects.
      Folder Name: BuildRules

      Sample Name: Command Browse Add-in
      CmdBrowse is an Add-in (written in VB) that walks the command bar structure in the environment, displaying the GUID/ID pair of each command, along with its named command. This information is useful when working with the Office CommandBar object model.
      Folder Name: CmdBrowser

      Sample Name: Code Window Context Menu
      This sample add-in written in VB demonstrates how the user can add a custom command to the editor context menu
      Folder Name: CodeWinContextMenu

      Sample Name: Custom Bitmap
      Written in Visual Basic .Net 2003 and Visual C# .Net 2003, this sample demonstrates the use of custom bitmaps when adding a named command to the Tools menu through an add-in.
      Folder Name: CustomBitmap

      Sample Name: EventWatcher Add-in
      The EventWatcher Add-in (three versions, VB .NET 2003, C# .Net 2003, and VC++ .Net 2003) will connect to all the core shell event objects, and as each event is fired information is placed into the output window.
      Folder Name: EventWatcher

      Sample Name: Keybindings Table Add-in
      Written in Microsoft Visual C++® .NET 2003, this add-in puts a Keybindings command in the Help menu that is similar to the Visual C++ 6.0 Keyboard Map Help command.
      Folder Name: keymap

      Sample Name: LoadUnloadToolbar
      The sample add-in shows how to add-remove user added toolbars to the default VS Toolbar when you load and unload an add-in.
      Folder Name: LoadUnloadToolbarCpp

      Sample Name: Named Bookmarks
      This add-in, sample written in Visual Basic .Net 2003, lets you add named bookmarks that can be hierarchical organized, with the ability to create folders to store bookmarks.
      Folder Name: NamedBookmarks

      Sample Name: Outlook Tasks
      This is a macro project that shows fetching Outlook tasks and putting them in the VS Task List and then keeping them in sync between VS and Outlook whenever you change their descriptions or check them off.
      Folder Name: outlooktasks

      Sample Name: RegExplore
      RegExplore is an Add-in (written in VC++) that emulates the Registry Editor, but as a tool window within the environment. Some of the object model functionality demonstrated includes: 1) Add-In 2) ToolsOptions page 3) ToolsOptions Properties 4) using a satellite dll for resources 5) adding custom toolbox items.
      Folder Name: Regexplore

      Sample Name: Resource Editor for .resx Files
      This is an add-in (written in C# .Net 2003) that you can open on .resx files to perform some editing on the resources.
      Folder Name: ResourceEditor

      Sample Name: ScriptHost Add-in
      ScriptHost (written in VC++ .Net 2003) hosts the VBScript engine, and allows you to run VBS macros from VC6 in the VS .NET 2003 IDE. You do not need to make any syntatic changes to your code except for method/property calls that are not available in VS .NET 2003.
      Folder Name: scripthost

      Sample Name: Simple Add-ins
      The Add-in (three versions, VB .NET 2003, C# .Net 2003, and VC++ .Net 2003) will display a Message Box as each member of IDTExtensibility2 is called. It will also add to the Tools menu a button, which, when clicked, displays a message.
      Folder Name: SimpleAddins

      Sample Name: Solution Explorer Context Menu
      This sample add-in written in VB demonstrates how the user can add a custom command to the solution explorer and how to dynamically enable and disable the command.
      Folder Name: SolnExplContextMenu

      Sample Name: Solution Extender Add-in
      This sample demonstrates the use of Automation Extenders to "extend" existing Visual Studio objects with new properties and methods. You can extend property grid display objects as well as automation objects, so that more methods and properties are available to the caller. This sample extends both the Solution property grid display object as well as the DTE.Solution automation object. The sample has been written in C#.Net 2003 and Visual Basic .NET 2003.
      Folder Name: SolutionExtender

      Sample Name: Thumbnails Add Item Wizard
      Written in Visual Basic .NET 2003, this wizard prompts for a directory of JPEG files, adds an HTML page to your project, crunches all of the JPEGs down to thumbnails (by using .NET image classes) and lays them out on the HTML page.
      Folder Name: ThumbWizard

      Sample Name: ToolWindow Add-ins
      These three add-ins demonstrate how to create ToolWindows in C# .Net 2003, Visual Basic .NET 2003 and C++ .Net 2003.
      Folder Name: ToolWindow

      Sample Name: TryCatchMacro
      This is a macro project that shows the collapsing of all try/catch/finally blocks in C# code.
      Folder Name: TryCatchMacroSample

      Sample Name: Unsupported Tools
      This archive contains unsupported tools to be used with the Visual Studio object model. The following items are currently available:
      ExtBrws.dll. To use ExtBrws.dll, run regsvr32 on the dll, then load it from the Visual Studio or Visual Basic for Applications Add-in Manager dialog box. Click the item on the Tools menu to bring up a dialog box that displays all of the late-bound objects available under DTE, DTE.Events, or DTE.Properties.
      GenerateIcoData.exe. Add-ins can provide information in the VS .NET Help About dialog. To do this, you need to register some information including some icon binary data. You can run this utility to generate the icon binary data you need to put in the registry.
      Folder Name: unsupptools

      Sample Name: Spell Check Macro
      This is a macro project that does spell-checking using Word components and C# Windows Forms for the UI.
      Folder Name: VSSpellCheck

      Sample Name: Windows Forms Automation Add-in
      This sample (written in VB .NET 2003) demonstrates working with the object model provided by the Windows Forms designer. The Add-in will create a new Windows Application project, and use the object model to build up a form.
      Folder Name: WinFormsAutomation

      Sample Name: Custom Wizard
      This wizard, written in Visual C# .NET 2003, demonstrates all the context parameters passed into Add Item, Add Project, and Add SubProject wizards. If you add custom parameters to your wizard's .vsz files, the add-in will display those custom parameters so that you can see how they are passed into the wizard.
      Folder Name: WizardContextCS

      Sample Name: Windows Scripting Host
      The wsh-vs.js sample demonstrates using Windows Scripting Host to launch Visual Studio. It will create an instance of VS, and add a task item. To use this sample, just double click on it from explorer, or type wsh-vs.js at a Windows command prompt.
      Folder Name: wsh

      Sample Name: XSL Wizard
      This sample creates a wizard, that lets you add a template in the Add New Item/Local Project Items dialog, to create xml and xsl files. The sample code is available in Visual Basic .Net 2003, Visual C++ .Net 2003 and Visual C# .Net 2003.
      Folder Name: xslwizard
  • Supported Operating System

    Windows 2000, Windows Server 2003, Windows XP

      • Visual Studio .NET 2003
    • To download the complete set, select VSNET03AutoSamples.exe. For any of the individual samples, select that sample's download file, or click the link in the description above.

      All the downloadable files are self-extracting archives. For any download, click the link; then select Open to install immediately or Save to save to your hard disk.

      When you run the file, you'll be asked to agree to the EULA; then the files will be extracted to your hard disk. By default, files will be saved to C:\VSAutoSamples, unless you specify otherwise.
    • You can find Visual Studio 2005 Automation Samples here.