Professional Visual Studio Extensibility


Book Description

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 how to build a Visual Studio macro. Keyvan Nayyeri is a software architect and developer. He has a Bachelor of Science degree in applied mathematics. His main focus is on Microsoft development technologies and their related markup languages. Nayyeri is also a team leader and developer for several .NET open-source projects; this includes writing code for special purposes. He holds an MVP award for Comunnity Server. He recently co-authored Wrox Professional Community Server (2007).




Visual Studio Extensibility Development


Book Description

Learn the extensibility model of Visual Studio to enhance the Visual Studio integrated development environment (IDE). This book will cover every aspect, starting from developing an extension to publishing it and making it available to the end user. The book begins with an introduction to the basic concepts of Visual Studio including data structures and design patterns and moves forward with the fundamentals of the VS extensibility model. Here you will learn how to work on Roslyn - the .NET compiler platform - and load extensions in VS. Next, you will go through the extensibility model and see how various extensions, such as menus, commands, and tool windows, can be plugged into VS. Moving forward, you’ll cover developing VS extensions and configuring them, along with demonstrations on customizing extension by developing option pages. Further, you will learn to create custom code snippets and use a debugger visualizer. Next, you will go through creation of project and item templates including deployment of VS extensions using continuous integration (CI). Finally, you will learn tips and tricks for Visual Studio and its extensibility and integration with Azure DevOps. After reading Visual Studio Extensibility Development you will be able to develop, deploy, and customize extensions in Visual Studio IDE. What You Will Learn Discover the Visual Studio extensibility and automation model Code Visual Studio extensions from scratchCustomize extensions by developing a tools option page for themCreate project templates, item templates, and code snippets. Work with code generation using T4 templatesCode analysis and refactoring using Roslyn analyzersCreate and deploy a private extension gallery and upload the extensions Upload a VS extension using CIShip your extension to Visual Studio MarketplaceWho This Book Is For Developers in Visual Studio IDE covering C#, Visual Basic (VB), JavaScript, and CSS.




Domain-Specific Development with Visual Studio DSL Tools


Book Description

Domain-Specific Languages (DSLs)--languages geared to specific vertical or horizontal areas of interest--are generating growing excitement from software engineers and architects. DSLs bring new agility to the creation and evolution of software, allowing selected design aspects to be expressed in terms much closer to the system requirements than standard program code, significantly reducing development costs in large-scale projects and product lines. In this breakthrough book, four leading experts reveal exactly how DSLs work, and how you can make the most of them in your environment. With Domain-Specific Development with Visual Studio DSL Tools, you'll begin by mastering DSL concepts and techniques that apply to all platforms. Next, you'll discover how to create and use DSLs with the powerful new Microsoft DSL Tools--a toolset designed by this book's authors. Learn how the DSL Tools integrate into Visual Studio--and how to define DSLs and generate Visual Designers using Visual Studio's built-in modeling technology. In-depth coverage includes Determining whether DSLs will work for you Comparing DSLs with other approaches to model-driven development Defining, tuning, and evolving DSLs: models, presentation, creation, updates, serialization, constraints, validation, and more Creating Visual Designers for new DSLs with little or no coding Multiplying productivity by generating application code from your models with easy-to-use text templates Automatically generating configuration files, resources, and other artifacts Deploying Visual Designers across the organization, quickly and easily Customizing Visual Designers for specialized process needs List of Figures List of Tables Foreword Preface About the Authors Chapter 1 Domain-Specific Development Chapter 2 Creating and Using DSLs Chapter 3 Domain Model Definition Chapter 4 Presentation Chapter 5 Creation, Deletion, and Update Behavior Chapter 6 Serialization Chapter 7 Constraints and Validation Chapter 8 Generating Artifacts Chapter 9 Deploying a DSL Chapter 10 Advanced DSL Customization Chapter 11 Designing a DSL Index




Mastering Visual Studio .NET


Book Description

This book enables intermediate and advanced programmers the kind of depth that's really needed, such as advanced window functionality, macros, advanced debugging, and add-ins, etc. With this book, developers will learn the VS.NET development environment from top to bottom.




Professional Visual Studio 2010


Book Description

In Professional Visual Studio 2010, developers will find a fast route to IDE programming success. The authors zero in on advanced topics and demonstrate the new features of the IDE, including code snippets, refactoring, and patterns. Covering the latest .NET Framework 4 and Visual Studio 2010 with a unique IDE-centric approach, the book has been revised to include a discussion of Visual Studio's recent major overhaul. The illustrative examples included will help bring both novice and experienced developers up to speed quickly.




Professional Visual Studio Extensibility


Book Description

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




Professional Visual Studio 2012


Book Description

The ultimate developers' guide to Visual Studio 2012 This expert Wrox guide is what you need to get up and running quickly on Visual Studio 2012. Written by a Microsoft Visual C# MVP, it guides you through the integrated development environment (IDE), showing you how to maximize all new tools and improvements. Offers programmers a fast way to IDE-centric programming success Demonstrates new IDE features, including the new Metro style app project templates and Windows 8 app store features Explains each feature, then illustrates the context in which it will help you solve problems Covers timely and essential topics related to rich client app development, web applications, application services, file configuration, debugging and testing, and more Helps advanced users customize and extend Visual Studio through the Automation Model, writing macros, working with the Managed Extensibility Framework (MEF), and more Provides ample detail for programmers who are new to Visual Studio 2012, as well as for experienced programmers exploring the advanced capabilities of the IDE Professional Visual Studio 2012 uses a unique, IDE-centric approach to help you get up and running quickly on this exciting new release.




Pro Visual Studio LightSwitch 2011 Development


Book Description

Microsoft Visual Studio LightSwitch 2011 is a rapid application deployment tool that lets power users and administrators build data-centric business applications for the desktop, cloud, and Web in just a few clicks, with no code required. But more advanced developers and business users will hunger for more: how do you design complex screens? How do you query data using LINQ and other syntax structures? How do you secure your application? Pro Visual Studio LightSwitch 2011 Development answers these questions and more as authors Tim Leung and Yann Duran—both awarded Microsoft 2011 Community Contributor Awards for their LightSwitch expertise—cover this breakthrough product and its operations and structure under the covers. For serious developers building, enhancing and deploying advanced business applications using LightSwitch, Pro Visual Studio LightSwitch 2011 Development is the guide for going beyond the "click-and-you're-done" interface, while still maintaining the elegance and convenience of rapid application development.




Visual Studio 2019 Tricks and Techniques


Book Description

Harness the full power of the Visual Studio IDE to take your coding skills to the next level by learning about IDE productivity practices and exclusive techniques Key FeaturesIncrease your productivity by leveraging Visual Studio 2019's improvements and featuresExplore powerful editing, code intelligence, and source code control features to increase productivityDelve into VS’s powerful, untapped features such as custom project templates and extensionsBook Description Visual Studio 2019 (VS 2019) and Visual Studio Code (VS Code) are powerful professional development tools that help you to develop applications for any platform with ease. Whether you want to create web, mobile, or desktop applications, Microsoft Visual Studio is your one-stop solution. This book demonstrates some of the most sophisticated capabilities of the tooling and shows you how to use the integrated development environment (IDE) more efficiently to be more productive. You’ll begin by gradually building on concepts, starting with the basics. The introductory chapters cover shortcuts, snippets, and numerous optimization tricks, along with debugging techniques, source control integration, and other important IDE features that will help you make your time more productive. With that groundwork in place, more advanced concepts such as the inner workings of project and item templates are covered. You will also learn how to write quality, secure code more efficiently as well as discover how certain Visual Studio features work 'under the hood'. By the end of this Visual Studio book, you’ll have learned how to write more secure code faster than ever using your knowledge of the extensions and processes that make developing successful solutions more enjoyable and repeatable. What you will learnUnderstand the similarities and differences between VS 2019 and VS CodeGet to grips with numerous keyboard shortcuts to improve efficiencyDiscover IDE tips and tricks that make it easier to write codeExperiment with code snippets that make it easier to write repeating code patternsFind out how to customize project and item templates with the help of hands-on exercisesUse Visual Studio extensions for ease and improved productivityDelve into Visual Studio’s behind the scene operationsWho this book is for This book is for C# and .NET developers who want to become more efficient and take advantage of features they may not be aware of in the IDE. Those looking to increase their productivity and write quality code more quickly by fully utilizing the power of the Visual Studio IDE will also find this book useful.




Inside the Microsoft Build Engine


Book Description

As software complexity increases, proper build practices become ever more important. This essential reference—fully updated for Visual Studio 2010—drills inside MSBuild and shows you how to maximize your control over the build and deployment process. Learn how to customize and extend build processes with MSBuild—and scale them to the team, product, or enterprise level with Team Foundation Build.