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 Studio Chapter 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 extension 3. Menus & commands,
4. Code Window extension 5. Solution explorer item extension
Chapter 4: Developing real world extensions - I Chapter 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 r
About the Author: 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.His twitter id is @VermaRishabh and his linkedIn page is https: //www.linkedin.com/in/rishabhverma/