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.
You will:
- Discover the Visual Studio extensibility and automation model
- Code Visual Studio extensions from scratch
- Customize extensions by developing a tools option page for them
- Create project templates, item templates, and code snippets.
- Work with code generation using T4 templates
- Code analysis and refactoring using Roslyn analyzers
- Create and deploy a private extension gallery and upload the extensions
- Upload a VS extension using CI
- Ship your extension to Visual Studio Marketplace
Autorentext
Rishabh Verma is a Microsoft certified professional and works at Microsoft as a senior development consultant, helping the customers to design, develop, and deploy enterprise-level applications. An electronic engineer by education, he has 12+ years of hardcore development experience on the .NET technology stack. He is passionate about creating tools, Visual Studio extensions, and utilities to increase developer productivity. His interests are .NET Compiler Platform (Roslyn), Visual Studio extensibility, code generation and .NET Core. He is a member of .NET foundation (https://www.dotnetfoundation.org). He occasionally blogs at https://rishabhverma.net/. He has authored books on .NET Core 2.0 and .NET Core 3.1 prior to this title.
Inhalt
Chapter 1: Basics Primer
Chapter Goal: The objective of this chapter is to introduce the basic concepts to the reader that would be required through-out this book, so that he gets comfortable in this learning journey.
No of pages :50-60
Sub -Topics
1. What is a compiler?
2. What is an SDK (Software Development Kit)?
3. Recap of Tree Data structure
1. Tree traversal,2. Abstract Syntax trees
4. MEF (Managed Extensibility Framework) Basics.
5. Visual Studio & its history
6. XML & JSON
7. Serialization & Deserialization.
8. Revisiting Visitor, Abstract Factory and Factory design patterns.9. MSBuild basics
10. Async-await.Chapter 2: Getting Started
Chapter Goal: With the fundamentals strongly in place, we are now good to get started with Visual Studio (VS) Extensibility model. We will do our setup in this chapter. This chapter would introduce the VS Extensibility, Roslyn to the reader. The reader would also learn to write and debug a VS extension.
No of pages: 40
Sub - Topics
1. Prerequisites and installation of VS
2. Anatomy of a VSIX
3. How Visual Studio discovers and loads extensions.
4. VSPackage
5. Async Loading
6. Writing your first simple templatized Visual Studio Extension.
7. Roslyn - .NET Compiler platform fundamentals
Chapter 3: Extending Visual StudioChapter Goal: This chapter would introduce the extensibility model and how various extensions can be plugged in VS as menus, commands, tool window, code window, solution explorer etc
No of pages: 40-50
Sub - Topics:
1. The Visual Studio Extensibility model
2. Tool Window extension3. Menus & commands,
4. Code Window extension5. Solution explorer item extension
Chapter 4: Developing real world extensions - IChapter Goal: This chapter dives into developing useful real-world VS Extensions and shows how they can be made configurable by customizing UI and options page. We would also learn how to write to output window and manipulate documents and projects in this chapter.
No of pages: 40-50
Sub - Topics:
1. VS Extension to search on MSDN/Bing/Google.
2. VS Extension to generate HTTP Client proxy class for HTTP Web API using T4 templates.3. VS Extension to generate test data.
4. Customizing extension by developing Tools option page.
5. Customizing UI of extension.
Chapter 5: Developing real world extensions - II
Chapter Goal: This chapter is the continuation of last chapter and continues the development of useful real-world VS extensions but this time using the .NET Compiler platform Roslyn.
No of pages: 40-50
Sub - Topics:
1.  ...