LearnVSXNow: Take a dive with me under the surface of Visual Studio Extensibility!
I am a fan of Visual Studio. Several times I flirted with the idea to create a VS packages for some development utilities. I always wanted to convince my colleagues to implement their utilities as VS packages. However, when they asked me how to start, I always pointed to the VS SDK and its documentation. I do not think that the VS SDK reference documentation is the best way of learning VSX from scratch.
As an MVP I decided to change the world a bit around the Visual Studio 2008 SDK and VS packages. I am one of those guys who feel themselves at home in .NET programming and in using Visual Studio, but who are not so self-confident when it is about VS SDK. I decided to learn many aspects of the VS extensibility and publish my way of learning it. My aim is to give starting points to others helping to understand and use VSX while explaining the most important things to demystify the whole VSX programming. I am focusing on developers who are new to VSX, and so the code name of my project is “
LearnVSXNow!”.
I hope, you will find the information here useful. Please share your opinion and recommendations with me!
Coming soon: Part 24: Thinking about a new MPF next part
Recently published:
In my last post I promised to show a few patterns demonstrating how a new Managed Package Framework could be improved by means of usability, less coding for a task, etc. In this article I show you a few patterns to be used to improve the perception of using GUIDs.
I suppose, not I am the only one who can imagine a VS SDK and MPF that can be used better than the one we have today. In this post I share my thoughts about this topic. Please, share your imaginations, comments, additions and opinion with me!
I go deep into the code of the following commands: Clear All Panes, Clear Recent Project and File List, Close All, Undo Close.
In this part I dive into details about PowerCommands UI. We look how option pages are created, integrated into the Options dialog and how related settings are persisted. We also examine the Model-View-Presenter pattern used to implement a few UI with WPF.
In this post we take a look at the architecture of the free PowerCommands tool package and go into details on how commands are defined and executed.
Introducing LVN! Sidebars
When writing LearnVSXNow articles and working on projects I have collected many “how-to-dos”, created small but useful code artifacts, found irritating bugs, etc. I decided to create a separate thread within the LearnVSXNow series not tied to the main stream just for publishing these small “knowledge elements”. I named this thread LVN! Sidebar. You can read the first blog posts:
Mainstream posts
In this post I treat a few advanced .vsct concept like, submenus, toolbars, menu controllers, key bindings and visibility contexts.
In the previous articles we treated all components of a custom editor exceptthe editor pane. In this article we look whats behind the
SimpleEditorPane<,> class.
We look into the details of the main components of the sample: the editor factory, the UI, the data and the surface of the EditorPane code.
In this article I show you what are custom editors (designers) in VS and what is the architecture behind them. I created a BlogItemEditor example, in this article I show you its basic design.
In this part I give you an overview about the .vsct file. Instead of treating its schema just like in reference documentation, I will deep into details. To understand how .vsct works I show you a few examples. This article does not cover everithing about .vsct, I am going to show you more details in future articles.
In this article I deal with the concepts behind the menus, toolbars and command execution. The article introduces the most important entities we are going to use in the future parts where menu and command implementation details are treated with code.
Archived articles (Part 1-12)