adding-tool-windows

Automates Visual Studio tool window creation across Extensibility, Toolkit, and VSSDK patterns.

14|2|Updated Mar 24, 2026
One-click install
npx skills add https://github.com/madskristensen/vs-agent-plugins --skill adding-tool-windows
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: adding-tool-windows
Source: https://github.com/madskristensen/vs-agent-plugins/tree/main/skills/adding-tool-windows
Command: npx skills add https://github.com/madskristensen/vs-agent-plugins --skill adding-tool-windows

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Tool windows are essential for persistent, dockable UI in Visual Studio extensions, but implementing them across the three extensibility models requires different patterns and boilerplate.

Core Features & Use Cases

  • Cross-model tooling: Implement tool windows using VisualStudio.Extensibility (Remote UI), VSIX Community Toolkit (BaseToolWindow), or VSSDK (ToolWindowPane).
  • Activation and visibility control: Show/hide tool windows via commands and ensure proper persistence across sessions.
  • Safe initialization and disposal: Initialize content asynchronously where needed and dispose resources to prevent leaks.

Quick Start

Create a sample tool window following the examples and run Visual Studio to display the dockable panel.

Frequently Asked Questions about adding-tool-windows

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a dockable tool window in a Visual Studio extension?

To create a dockable tool window in Visual Studio extensions, you need to implement specific patterns depending on your extensibility model. This involves using VisualStudio.Extensibility, VSIX Toolkit, or VSSDK to generate the pane, handle async initialization, and activate it via commands.

What is the difference between Remote UI and VSSDK ToolWindowPane for extensions?

Remote UI and VSSDK ToolWindowPane are different extensibility models for building tool windows. Remote UI operates out-of-process via VisualStudio.Extensibility, while VSSDK uses the traditional in-process ToolWindowPane pattern for dockable IDE panels.

How do I show and hide a VSIX tool window using commands?

You can show and hide a VSIX tool window by implementing command-based activation. This ensures proper visibility control and persistence across IDE sessions while safely initializing the panel content asynchronously.

Why does my Visual Studio tool window leak memory when closed?

Memory leaks in Visual Studio tool windows often occur due to improper resource disposal. You must ensure proper resource disposal during tool window deactivation to prevent leaks and maintain safe initialization across sessions.

Can I use the VSIX Community Toolkit to build persistent tool windows?

Yes, you can use the VSIX Community Toolkit to build persistent tool windows. It utilizes the BaseToolWindow pattern to create dockable panels that integrate with Solution Explorer and maintain visibility across Visual Studio sessions.