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 refactoring.
4. Developing Roslyn based extension to generate unit tests using T4 template.
Chapter 6: Do more with VS SDK Chapter 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 Extensions Chapter 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 8: Deploying 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.