Skip to content
Scan a barcode
Scan
Paperback Professional Visual Studio Extensibility Book

ISBN: 0470230843

ISBN13: 9780470230848

Professional Visual Studio Extensibility

Visual Studio is a development IDE created by Microsoft to enable easier development for Microsoft programming languages as well as development technologies. It has been the most popular IDE for working with Microsoft development products for the past 10 years. Extensibility is a key feature of Visual Studio. There have not been many books written on this aspect of Visual Studio. Visual Studio Extensibility (VSX) can be considered a hard topic to learn for many developers in comparison with most .NET related topics. Also, its APIs are very complex and not very well written. Some may refer to these APIs as "dirty" because they do not have good structure, naming convention, or consistency. Visual Studio is now 10 years old. It was created during the COM days for COM programming but later migrated to .NET. However, Visual Studio still relies heavily on COM programming. It was revamped when moving to the .NET platform but still contains its COM nature; this fact is what makes it harder for .NET developers to work with VSX. Because it is an older product built on two technologies, it has produced inconsistency in code. Although there are problems with the current version of VSX, the future looks bright for it. The many different teams working on the software have been moved into one umbrella group known as the Visual Studio Ecosystem team. Throughout the past 10 years Visual Studio has continued to grow and new extensibility features have been added. Learning all of the options with their different purposes and implementations is not easy. Many extensibility features are broad topics such as add-ins, macros, and the new domain-specific language tools in Visual Studio. Learning these topics can be difficult because they are not closely related to general .NET programming topics. This book is for .NET developers who are interested in extending Visual Studio as their development tool. In order to understand the book you must know the following material well: Object-oriented programming (OOP), the .NET Framework and .NET programming, C# or Visual Basic languages, some familiarity with C++, some familiarity with XML and its related topics, and Visual Studio structure and usage. A familiarity with COM programming and different .NET technologies is helpful. The aims of this book are to: Provide an overview of all aspects of VSX Enable readers to know where/when to use extensibility Familiarize readers with VS Extensibility in detail Show readers the first steps and let them learn through their own experiences Use examples, sample code, and case studies to demonstrate things in such a way that helps readers understand the concepts Avoid bothering readers with long discussions and useless code samples In order to use this book, and get the most out of it, there are some technical requirements. You must have the following two packages installed on your machine to be able to read/understand the chapters and test code samples: Visual Studio 2008 Team System Edition (or other commercial editions) Visual Studio 2008 SDK 1.0 (or its newer versions) You will need to buy Visual Studio 2008 to register for an evaluation version. The Free Express editions of Visual Studio do not support the extensibility options. The Visual Studio SDK is needed in order to read some of the chapters in the book and can be downloaded as a free package. The operating system doesn''t matter for the content of the book, but all code was written with Visual Studio 2008 Team System Edition in Windows Vista x86. Chapters 1, 2, and 3 will give you an introduction to the basic concepts you need to understand before you can move on to the rest of the book. Chapter 4 discusses the automation model, which is an important prerequisite for many of the chapters in the book that focus on add-ins, macros, and VSPackages. Chapters 5-14 will utilize add-ins in a case study to learn about the main responsibilities of the automation model and some of the more common techniques used in VSX development. Each of the following chapters is dedicated to a specific extensibility option; they are independent of one another and you can read them in any order. It is important to read chapters 4-14 before you begin reading about the specific extensibility options. Chapter 5 contains a walk-through of the Add-in Wizard and describes its steps. Chapter 6 will show you the anatomy of add-ins and explain how to create add-ins and how they work. Chapter 7 discusses how to manipulate solutions, projects, and project items via your code to build add-ins. Chapter 8 shows you how to deal with documents and code editors in your add-ins. Chapter 9 explains how to work with programming codes and how to manipulate their elements. Chapter 10 describes some ways to work with user interface elements, Windows Forms, and controls via code in your add-ins. Chapter 11 discusses the Tools Options page and uses add-ins as the case study to show you how to create your own Tools Options pages. Chapter 12 teaches you how to debug and test your add-ins. Chapter 13? shows you how to deploy your add-ins. Chapter 14 completes the discussion about add-ins by talk about resources and localization of add-ins. Chapter 15 discusses a new feature in VS 2008: the Visual Studio Shell. Chapter 16 talks about domain-specific language tools; you will learn how to build them and see a quick overview of DSL tools. Chapter 17 discusses debugging and how to extend debugging features. Chapter 18 talks about VSPackages as a way to extend VS functionality and add something new to its existing packages. Chapter 19 teaches you what a code snippet is and how to write and manage code snippets in Visual Studio to make your coding process easier. Chapter 20 talks about VS project templates and starter kits and how to write your own project templates. Chapter 21 focuses on MSBuild and writing custom builds for Visual Studio and .NET applications. Chapter 22 discusses Visual Studio macros in detail and explains ho

Recommended

Format: Paperback

Condition: Very Good

$6.59
Save $43.40!
List Price $49.99
Almost Gone, Only 1 Left!

Customer Reviews

2 ratings

Good Book

Keyvan Nayyeri explores each of the areas of VS Extensibility. He breaks the book up into logical sections, first illustrating the API that Visual Studio uses to represent the user interface. If you have never looked at the API for Visual Studio before, it's not user friendly, so it was good that he provided a brief description of the properties and methods for the various objects, followed by a few examples using those objects to perform certain tasks. I thought some of the most useful content of the book features discussions on showing custom windows forms, and creating custom option windows using user controls (to display in the Tools > Options dialog), and creating custom debugger type proxies and visualizers. That's definitely not all the book focuses on; the subject matter also ranges in the areas of working with solutions, projects, code files, the text editor, command bars, custom windows, deployment, testing, unit testing and more. <br /> <br />The book covers other topics related to extensibility. Keyvan covers the Visual Studio hive and how it can be used when developing VS extensions. It also covers Domain Specific Language tools (which I was appreciative for because I didn't fully understand what DSL was supposed to be) by creating a sample language. Code Snippets and Templates are another feature I look forward to implement in one of my applications, because it will be very useful and helpful to my fellow coworkers. And, one of the more interesting topics for VS Packages, <br />Keyvan works with a consistent motion throughout the book. When he explained the API, he started out explaining each object related to the chapter, then ended the chapter with some sample code. When getting into the other subjects like extending the debugger or macros, Keyvan discusses each subject and mixes in screenshots and code of what each feature looks like as he goes. Only in a couple of chapters does he primarily show the screenshots of how the utility or feature gets setup. <br /> <br />The other point about the book is how he attempt to explain the intricate details about the code that Visual Studio generates, regarding the Connect.cs and .AddIn files generated by the template. This is important because even though the code is generated for you. Again, it's not always clear what the code files are for and it's good to get an overview of these files from the book, and their purpose. <br /> <br />This book help whet my appetite for developing extensions, and I hope to develop one that is functional. The one caveat to this book is that it left me wanting to know more about extensibility, and I thought a few topics were cut short from what they could have been. I agree no book is perfect and will explain every subject to the readers desire, but I felt that a few more examples, or a larger example in an appendix would have been a benefit to the readers.

A good introduction.

This is one of those difficult books to review because it attempts to cover a huge topic. Overall it provides a good overview of Visual Studio extensibility but if you want to really use it you're going to have to dive into the MSDN documentation and browse the source on CodePlex (Iron Python and Iron Python Studio are a must). Some topics, such as DSLs and MSBuild have other books dedicated to them. Unfortunately, due to the depth of the topic, a lot of the chapters are simple introductions and are only useful for highlighting a feature and what can be done with it. This isn't a bad thing, although I think these chapters could have been shortened and merged, and other topics added for completeness (such as language services). Overall, the book is well written with few errors, although chapter 11 (Tools Options Page) seems to have missed the editors pen and the code is incorrect (and/or not explained properly). The chapters on extending the debugger (17), code snippets (19) and templates (20) are particularly useful and make the book a worthwhile read.
Copyright © 2025 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell/Share My Personal Information | Cookie Policy | Cookie Preferences | Accessibility Statement
ThriftBooks ® and the ThriftBooks ® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured