This page contains the code samples of the Visual Studio 2010 Package Development Fundamentals book. The book is about to be published in August, 2010.
Table of Contents
- Chapter 1: Visual Studio 2010 Extensibility Overview
- Chapter 2: Visual Studio Packages
- Chapter 3: Commands, Menus and Toolbars
- Chapter 4: Window Management and Tool Windows
- Chapter 5: Services
- Chapter 6: Working with Automation Objects
- Chapter 7: Options Pages and Settings
Whom This Book Is For
This book is for those .NET developers, who work with Visual Studio 2010 and are interested in enhancing their development environment with powerful extensions. If you recognize yourself as you’re in one or more of the roles listed below, this book is intended to be a primary resource for you.
- You’re a professional software developer. Creating Visual Studio extensions adds measurable (business) value to your or your company’s everyday activities.
- You’re a developer or an architect with special projects. You feel the project team performance can be enhanced by custom tools integrated into Visual Studio and tailored to the project’s special needs.
- You’re a member of a development team with tools that right now run out of Visual Studio. Integrating these tools into the Visual Studio IDE would improve your team’s performance and developer experience and make team members happy.
- You are a developer of an ISV company or a developer wanting to become an ISV. You have concrete business drivers to create products integrated into Visual Studio and find the extensibility market for them.
- You are a student or a hobbyist, and you are looking for exciting things. Extending Visual Studio is one of them.
There are many ways to extend Visual Studio such as customization, macros, add-ins, and more, but without doubt the most powerful is package development. This book intends to treat the fundamentals of Visual Studio package development in a didactic way to provide you the best learning curve ever. After reading it you’ll be familiar with the extensibility architecture of Visual Studio and with the most important concepts of package development. You’ll understand how packages are connected to the functionality offered by Visual Studio and how you can turn your ideas into extensibility components.
Even if you have never created any kind of Visual Studio extension, you can immediately start package development with the help of this book. If you have some experience with writing Visual Studio add-ins, you will discover that packages offer you more power than add-ins ever did.
If you have already developed Visual Studio packages, this book provides you a comprehensive overview of the fundamental concepts; you can also give it to your fellows or team members as a self-paced study guide.
What You Need to Use This Book
The books title tells you it’s about Visual Studio 2010. Although the essential package development concepts have not changed enormously since Visual Studio 2008, the samples you are going to build run together with Visual Studio 2010. So you need to install either the Professional or the Ultimate edition of Visual Studio 2010. If you have not bought Visual Studio 2010 yet, you can get information about evaluation copies from Microsoft’s official home page.
Visual Studio 2010 has free Express editions, but these do not support extensibility options, so you cannot use them with this book.
You cannot develop packages with Visual Studio out of the box. You need to install the Visual Studio 2010 SDK that can be downloaded from the Visual Studio Extensibility Development Center (http://msdn.com/vsx). The download and installation process takes about 3-5 minutes.
When you have Visual Studio 2010 and VS 2010 SDK installed on your computer, you’re ready to start.
Visual Studio 2010 runs on several operating systems. The samples I provide in this book were written on a computer with Windows 7 x64 Ultimate operating system and Visual Studio 2010 Ultimate.
What This Book Covers
As the title of this book suggests, it is dedicated to Visual Studio 2010 Package development. The APIs available to develop Visual Studio extensions provide you several hundred of objects and interfaces with over thousand methods, and almost hundred extensibility points.
Instead of treating all of them, this book intends to give you a very detailed overview of the package development fundamentals. The book contains seven chapters suggested to read from the first to the last without skipping any of them:
- Chapter 1 talks about the architecture of Visual Studio from the extensibility point of view and explains you what options you have to add your own functionality to the Integrated Development Environment (IDE).
- Chapter 2 explains the basic concepts of Visual Studio Packages. In this chapter you create your first package and dive into the source code to discover how these concepts are represented. You will also learn how packages are built, deployed and how you can debug them.
- Chapter 3 provides an overview of the command handling architecture. You’ll learn how package commands are merged into the IDE and how you can design the menu and toolbar items for your commands.
- Chapter 4 treats the window management architecture of Visual Studio and gives you a comprehensive overview of designing and implementing tool windows. You are going to create a sample and improve it step-by-step while you discover the concepts, options and programming patterns of tool windows.
- Chapter 5 talks about services, one of the most important concepts in extending Visual Studio. You’ll learn the service architecture of the IDE. Besides consuming the common IDE services you are going to create your own services to be consumed by other packages.
- Chapter 6 gives you an overview about the Development Tools Extensibility (DTE) object model that contains several dozen automation objects to access Visual Studio services. The DTE API is a part of Visual Studio — and not the part of Visual Studio 2010 SDK — from the first version of Visual Studio .NET (released in April, 2002). This chapter also treats how can you extend the automation model with your package-specific objects.
- Chapter 7 explains the concept of options pages to allow integrating your own package-specific configuration information into the Options dialog.
Jun 23 2010, 02:40 PM