Skip to main content

Developing Visual Studio .NET Macros and Add-Ins

Developing Visual Studio .NET Macros and Add-Ins

Jeff Cogswell

ISBN: 978-0-471-23752-5

Apr 2003

456 pages

Select type: Paperback

Product not available for purchase


  • Takes developers step-by-step through the process of customizing Visual Studio to allow easier and faster incorporation of specialized subroutines, UI elements, and other components
  • Shows how to customize the development environment for macros and add-ins created in any .NET-hosted language from Visual Studio to Perl, Delphi, COBOL, and Eiffel
  • Supplies readers with the only print documentation available on all the Macro IDE menu commands
  • Companion Web site includes all the source code and executables for the book

About the Author.


Part 1: Automating Your Work.

Chapter 1: All about Macros and Add-ins.

What Are Macros and Add-ins?

Why Use Macros and Add-ins?

Automating Your Work with Macros.

Enhancing the IDE with Add-ins.

Online Help for Macros and Add-ins.

Other Ways to Customize Visual Studio .NET.

Manipulating the Windows.

Managing the Toolbars and Commands.

Customizing the Menus.

Moving Forward.

Chapter 2: Just Enough VB.NET.

VB.NET Subroutines and Functions.

VB.NET Variables.

Arrays in VB.NET.

Strings in VB.NET.

VB.NET Control Structures.

Conditional Statements.

Loop Statements.


Classes in VB.NET.

Other VB.NET Topics.

Moving Forward.

Chapter 3: Introducing the Visual Studio Macro IDE.

The Macro System and the Main IDE.

Macro Development Divisions.

Projects and Modules.

Class Files and Code Files.


Working with the Macros IDE.

The Parts of the Macros IDE.

Managing Projects and Modules.

Creating a New Project.

Loading and Unloading Projects.

Saving Your Project.

Default Macro Location.

Creating a New Module.

Renaming Projects and Modules.

Deleting a Module.

Running a Macro.

Stopping a Macro.

Using the Code Editor in the Macros IDE.

Collapsible Code.

Working with Blocks of Code.

Debugging a Macro.

Working with the Macro Explorer.

Quickly Recording a Temporary Macro.

Selecting the Recording Project.

Recording a Macro.

Editing the Temporary Macro.

Assigning Shortcut Keys to Your Macros.

Moving Forward.

Chapter 4: Macros That Interact with the User.

Referencing Assemblies and Macro Projects.

Referencing External Assemblies.

Referencing Items in Other Macro Projects.

Referencing One of Your Own Assemblies.

Creating Windows and Forms.

Getting Input from a User.

Creating a Form.

Displaying Standard Dialog Boxes.

Working with System Event Handlers.

Categories of Events.

Moving Forward.

Chapter 5: Just Enough .NET Architecture.

Getting to Know Microsoft .NET.

Common Language Runtime.

.NET Class Library.

Packaging Your Software: Assemblies and Manifests.

Looking at an Assembly.

Organizing Multiple Versions of an Assembly.


Globally Unique Identifiers.

Building an Assembly from a COM Component.

Macro and Add-in Models.

Visual Studio Packages.

Visual Studio Project Types.

Accessing Project Types Not Supported by the Macros IDE.

Accessing the Project Object.

Accessing Visual Basic and C# Projects.

Accessing C++ Projects.

Macro IDE Automation Model.

Moving Forward.

Part 2: Enhancing Visual Studio.

Chapter 6: Introducing Add-ins.

About Add-ins.

Startup and Shutdown.

Invoking Your Add-in.

Interacting with the IDE.

Creating Custom Options Pages.

Creating Tool Windows.

Add-ins and the Command System.


Add-ins Are COM Components.

Creating an Add-in.

Using the Wizard.

Building and Running the Add-in.

Managing Add-ins.

Moving Forward.

Chapter 7: Creating Add-ins for the IDE.

Building an Add-in in C++.

Including a GUI with Your Add-in.

Working with Commands.

Using the Forms Library.

Building a Tool Window.

Using the Form Designer with a Tool Window.

Moving Forward.

Chapter 8: Life Cycles, Debugging, and Satellite DLLs.

The Life Cycle of an Add-in.

Debugging an Add-in.

Keeping the Registry Clean.

Debugging the Command-Line Version.

Debugging the Command-Line Add-in.

Setting Up Multiple Debug Configurations.

Creating a Satellite DLL for Resources.

About Culture-Specific Information.

Valid Culture Identifiers.

Adding Culture-Specific Resources in .NET.

Forms and Multiple Languages.

Adding Cultural Assemblies in General.

Making Your Add-ins Multilingual.

Moving Forward.

Chapter 9: Manipulating Solutions and Projects.

Determining the Currently Selected Project.

Manipulating a Project’s Items.

Manipulating a Project’s Settings.

Accessing and Setting Configuration Properties.

Adding Configurations.

Configuring Projects at the Solution Level.

Configuring Individual Files.

Manipulating Language-Specific Information.

Moving Forward.

Chapter 10: Programming the Document and User Interface Objects.

Managing Documents with the Document Classes.

The Form Editor and Documents.

Opening or Creating a Document.

Processing Text.

The EditPoint, TextPoint, and VirtualPoint Objects.

Working with Multiple Windows and Panes.

Navigating the User Interface Hierarchy.

Finding a Hierarchy Item.

Finding an Item Using Regular Expressions.

Selecting a Hierarchy Item.

Collapsing Nodes.

Moving Forward.

Chapter 11: The CodeModel and Build Objects.

Manipulating Code with the CodeModel.

A FileCodeModel Add-in.

Working with Build Objects.

Spawning a Build Process.

Building with the SolutionBuild Object.

More on the SolutionBuild Object.

Moving Forward.

Chapter 12: Creating Project Wizards.

Dissecting the Wizard Directory Structure.

Wizard File Interactions and Symbols.

Rendering the Template Files.

Wizard Properties.

A Script Wizard Tutorial.

The common.js File.

Viewing Your HTML Files.

Moving Forward.

Part 3: VS.NET and Other Products.

Chapter 13: Writing .NET Add-ins for Microsoft Office.

Introducing Office Add-ins.

Writing Add-ins for Other Products.

Preparing the Office Application.

Creating the Add-in.

Adding References to Office Products.

Writing the Add-in.

Debugging for Multiple Products.

Responding to Office Events.

Moving Forward.

Chapter 14: Integrating Visual Studio .NET with Microsoft Office.

Adding a Spelling Checker.

Integrating an Excel Spreadsheet.

Automating from Macros.

Moving Forward.

Chapter 15: Integrating with Other Products.

Windows Script Host.



Script Explorer Add-in.

Moving Forward.

Part 4: Deploying and Supercharging.

Chapter 16: Deploying Your Macros and Add-ins.

All about Security and Add-ins.

.NET Security.

Valid and Verified .NET Code.

Security Permissions.

Security Administration for .NET.

Security in Action.

COM Security.

Deploying Macros.

Setting Up the Deployment Project.

Adding a Shortcut to the .vsmacros File.

Creating the Custom Action Project.

Moving Forward.

Chapter 17: Supercharging Visual Studio .NET.

Creating an Options Page for Your Add-in.

Another Useful Add-in.

Third-Party Add-ins.

Exploring the CLI.

Understanding the CLI.

Other Languages and the CLI.


Appendix A: Class and Object Quick Reference.

Root DTE Object.

DTE Properties.

DTE Methods.

Other EnvDTE Objects.



Companion Site

View the companion site.