Authors | |
Publisher | Springer, Berlin |
Year | |
Pages | 419 |
Version | paperback |
Language | English |
ISBN | 9781484258521 |
Categories | Microsoft programming |
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
Visual Studio Extensibility Development: Extending Visual Studio IDE for Productivity, Quality, Tooling, and Analysis
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. Rewrite VS Extension to generate HTTP Client proxy class for HTTP Web API using Roslyn.
2. Developing a custom code analysis Visual Studio Extension.
3. Developing a light bulb style code refactoring.
4. Developing Roslyn based extension to generate unit tests using T4 template.
Chapter 6: Do more with VS SDKChapter Goal: This chapter introduces the reader with famous Visual Studio Isolated and integrated Shell to develop applications that looks like Visual Studio and also develops handy productivity boosters like custom code snippets, debugger visualizers, modifying intellisense, debugging experience for developers
No of pages: 40-50
Sub - Topics:
1. VS Isolated and Integrated Shell
2. Developing applications that look like Visual Studio.
3. Extending the debugger.
4. Create custom code snippets.
5. Create Debugger Visualizer for view data while debugging.
6. Modifying intellisense.
Chapter 7: Templates, Debugging VS ExtensionsChapter Goal: This chapter explains how to create project and item templates. The chapter also shows a sample code lens extension then dives into debugging the extension
No of pages: 40-50
Sub - Topics:
6. Code lens sample extension.
7. Creating Project and Item template.8. Debugging VS Extensions.
Chapter Goal: This chapter explains how to deploy VS extensions using continuous integration (CI). The chapter also explains how the extension can be made available to the world by uploading in marketplace. We also discuss how to make a private extension gallery and host your extension there.
No of pages: 40-50
Sub - Topics:
9. Deploying a VS Extension using CI.
10. Creating a private extension gallery/ Atom feed
11. Hosting extension in private gallery.
12. Sharing extension with the world using marketplace.
Chapter 9: Tips, Tricks, extensions and words
Chapter Goal: This chapter discusses few of the coolest tips and tricks for Visual Studio and its extensibility and shares few highly useful extensions. The chapter and book conclude with closing remarks on extensibility of Visual Studio Code and integration with Visual Studio Team Services (VSTS) or Azure DevOps.
No of pages: 30-40
Sub - Topics:
1. Cool Tips and tricks
2. Useful Extensions for C#, VB, JS, TS and CSS developers.
3. A word on Visual Studio Code Extensibility
4. Integration with VSTS or Azure DevOps
Useful Resources - 1 page
More Reading - 1 page
Code Samples - Link to code samples from GitHub.