adding-options-settings

Implement and manage user settings pages for Visual Studio extensions.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Developers often struggle to implement and manage user settings across Visual Studio extension models, including out-of-process, in-process Toolkit, and legacy VSSDK, leading to UI inconsistencies and fragmented persistence.

Core Features & Use Cases

  • Guidance for creating Tools > Options pages across VisualStudio.Extensibility, VSIX Community Toolkit, and VSSDK.
  • Patterns for persisting settings, reading/writing values, and reacting to changes, with roaming and profiles.
  • Real-world scenario: adding a settings page to a VS extension and wiring up change notifications to update UI.

Quick Start

Create a settings page for a Visual Studio extension using the three approaches (Extensibility, Toolkit, and VSSDK) and wire up reading/writing and change notifications.

Frequently Asked Questions about adding-options-settings

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

FAQPage Schema
How do I add a Tools > Options settings page to a Visual Studio extension?

To add a Tools > Options settings page to a Visual Studio extension, you define the settings class, register the option page, and wire up read/write persistence using your chosen extensibility model like VisualStudio.Extensibility, VSIX Toolkit, or VSSDK.

What is the difference between implementing settings in VisualStudio.Extensibility and VSSDK?

The difference between implementing settings in VisualStudio.Extensibility and VSSDK lies in the architecture: VisualStudio.Extensibility supports out-of-process extensions, while VSSDK is the legacy in-process model, requiring different persistence and change handling patterns provided by this guidance.

How do I persist user settings and handle change notifications in a VSIX extension?

To persist user settings and handle change notifications in a VSIX extension, you follow the recommended patterns for reading and writing values, wiring up event listeners to update the UI immediately when a user modifies an option on the settings page.

Can I migrate existing Visual Studio extension settings from VSSDK to the VSIX Community Toolkit?

Yes, you can migrate existing Visual Studio extension settings from VSSDK to the VSIX Community Toolkit by following the cross-model migration steps provided, ensuring persistence and UI consistency are maintained during the transition.

Does the VSIX Community Toolkit support roaming profiles for extension settings?

The VSIX Community Toolkit supports roaming profiles for extension settings by utilizing the provided persistence patterns, allowing your saved options to sync across user environments and machines.

Why are my Visual Studio extension settings not saving when the options page closes?

Visual Studio extension settings fail to save when the options page closes if the write persistence logic is missing or incorrectly wired, requiring you to implement the proper save patterns outlined for your specific extensibility model.