creating-custom-editors

Implement and register custom Visual Studio editors with IVSFactory and LanguageBase/VSSDK support.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Visual Studio extensions often require custom editors to provide domain-specific file handling beyond the standard text editor. This Skill guides how to implement and register editors using both LanguageBase (VSIX Community Toolkit) for text-based editors and the VSSDK approach (IVsEditorFactory + WindowPane) for fully custom designers.

Core Features & Use Cases

  • LanguageBase-based editors for domain-specific languages with automatic packaging as a code window.
  • VSSDK-based custom designer editors for complex UI workflows (forms, hex viewers, etc.).
  • Guidance on when to choose LanguageBase vs VSSDK and how to wire editor factories to file extensions.

Quick Start

Create a sample custom editor with LanguageBase for a domain-specific file extension and run the project to see the editor open in Visual Studio.

Frequently Asked Questions about creating-custom-editors

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

FAQPage Schema
How do I create a custom editor in a Visual Studio extension?

To create a custom editor in Visual Studio, implement and register an editor factory using IVsEditorFactory. You can build a text-based editor with LanguageBase or a fully custom designer UI via the VSSDK.

When should I use LanguageBase instead of VSSDK for a custom designer?

Use LanguageBase for text-based editors handling domain-specific languages, packaging them as code windows. Choose the VSSDK approach with IVsEditorFactory and WindowPane for fully custom designer UIs like forms or hex viewers.

How do I handle document persistence in a Visual Studio custom editor?

Handle document persistence in a custom editor by implementing IVsPersistDocData and IPersistFileFormat. These interfaces manage saving and loading the state of your domain-specific file types within Visual Studio.

How do I associate a custom file extension with my Visual Studio editor?

You associate a custom file extension with your Visual Studio editor by wiring up editor factories during the registration process. This ensures your custom editor pane opens automatically for the specified domain-specific file types.

Can I build a custom designer UI for complex workflows in Visual Studio?

Yes, you can build a custom designer UI for complex workflows in Visual Studio by using the VSSDK approach. This involves creating a WindowPane and integrating an IVsEditorFactory to manage the custom designer interface.

Do I need VSSDK to implement an editor factory in Visual Studio?

Yes, VSSDK is required to implement an editor factory using IVsEditorFactory for custom designers. For text-based domain-specific editors, LanguageBase provides an alternative that automatically packages as a code window.