Search Wiki:

LearnVSXNow: Take a dive with me under the surface of Visual Studio Extensibility!

I hope, you will find the information here useful. Please share your opinion and recommendations with me!

Coming soon: Part 30: Event handling in Visual Studio

Recently published:

Part 29: VSXtraCommands Part 2 — Commands removing recent items

I give you an overview about how the Clear Recent File and Project List commands are implemented in PowerCommands. I show you how these commands can be built up using VSXtra.

Part 28: VSXtraCommands Part 1 — Command handling patterns

In this article I introduce the alterantive implementation of the command handling architecture in Pablo's PowerCommands. I demonstrate the power of declarative approach in VSXtra.

Part 27: Multiple Tool Windows

However Visual Studio supports multiple instances of a tool window, due to the command handling mechanism, it is a challenge to create multiple instances handling their own visual command state. In this article I show a pattern with VSXtra to cope with this issue.

Part 26: Services — with no-code service initialization

I share you some learnings from the VS SDK's Service Reference sample I treat the VSXtra pattern solving service initialization without extra code.

Part 25: Advanced VSCT Concepts: Behind Combos

In this article I treat in details how to use combo boxes with Visual Studio Packages and also would like to present you an improved way with VSXtra.

Part 24: Introducing VSXtra

I have started a new project in parallel with LearnVSXNow! aiming a new and improved Managed Project Framework. You can read about the first results of the project here.

LVN! Sidebar #5: Deep Dives on MSDN Code Gallery

Part 23: Coping with GUIDs

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.

Part 22: Thinking about a new MPF

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!

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:

LVN! Sidebar #4: Command handlers

LVN! Sidebar #3: Simplifying tool window declaration

LVN! Sidebar #2: Resolving string resources

LVN! Sidebar #1: Automatically loading packages

Mainstream posts

Part 21: PowerCommands Deep Dive — Analyzing Commands

I go deep into the code of the following commands: Clear All Panes, Clear Recent Project and File List, Close All, Undo Close.

Part 20: PowerCommands Deep Dive — Commands and UI

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.

Part 19: PowerCommands Deep Dive — Command Architecture

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.

Part 18: Advanced VSCT concepts

In this post I treat a few advanced .vsct concept like, submenus, toolbars, menu controllers, key bindings and visibility contexts.

Part 17: Creating a simple custom editor — under pressure

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.

Part 16: Creating a simple custom editor — the first ten meter

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.

Archived articles (Part 1-15)
Last edited Aug 7 at 5:34 AM  by INovak, version 60
Comments
archamba wrote  May 2 at 3:36 AM  
I need to write a custom designer for visual studio 2008. Is it the same thing as writing an editor ?

davera wrote  Jun 12 at 5:32 PM  
I have started using your example of command handlers for my custom designer and it works nicely. But, the command handlers for this designer need some context information - when there are multiple instances of the designer. I started this with a simplistic way by instantiating the command handlers in the EditorPane and passing the EditorPane instance as a parameter. However this technique gets me an error message "There is already a command handler for guid:id". If I instantiate the command handlers in the designer package instead of the Editor pane, is there a way for them to discover which editor instance is active (has focus)?

Vin wrote  Jun 21 at 2:57 PM  
How about "Automatic updates" to my VS packages deployed on users machines, using Clickonce deployment? So everytime they load up my VS package, if I've published an update, they get a 'FireFox' style automatic update, finish the installation and restart visual studio. Any instance this has been done anywhere already?

Updating...