vscode-extension-dev

Guide VS Code extension development covering activation events, commands, and SecretStorage APIs.

Updated Feb 24, 2026
One-click install
npx skills add https://github.com/fabioc-aloha/Extensions --skill vscode-extension-dev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vscode-extension-dev
Source: https://github.com/fabioc-aloha/Extensions/tree/main/.github/skills/vscode-extension-dev
Command: npx skills add https://github.com/fabioc-aloha/Extensions --skill vscode-extension-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a comprehensive guide to developing VS Code extensions, covering essential concepts from activation to advanced API usage, enabling developers to build powerful and efficient extensions.

Core Features & Use Cases

  • Extension Lifecycle Management: Understand activate() and deactivate() for proper extension management.
  • Activation Events: Learn how and when to trigger your extension's logic.
  • API Integration: Master SecretStorage, QuickPick, Progress API, Input Boxes, and File System Access.
  • Use Case: Develop a new VS Code extension that automatically prompts the user for API keys upon activation, securely stores them using SecretStorage, and then uses QuickPick to allow the user to select a project to work on.

Quick Start

Use the vscode-extension-dev skill to learn how to register a new command in VS Code.

Frequently Asked Questions about vscode-extension-dev

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

FAQPage Schema
How do I register a new command in a VS Code extension?

To register a new command in VS Code extension development, you use the `activate()` function to bind a command ID to a handler. Proper disposable management is required to ensure the command is cleanly unregistered when the extension deactivates.

What are VS Code activation events and when should I use them?

VS Code activation events trigger your extension's logic based on specific conditions like opening a file type or running a command. You use them to delay extension loading until needed, ensuring efficient startup performance.

How do I securely store API keys in a VS Code extension?

You securely store API keys in VS Code extension development using the `SecretStorage` API. This provides a secure, OS-level credential storage mechanism that protects sensitive data rather than keeping it in plain text configuration files.

Can I use the QuickPick API to prompt users for selections in VS Code?

Yes, you can use the `QuickPick` API in VS Code extension development to display interactive selection menus. It allows users to choose from a list of options, enabling custom workflows like selecting a specific project to work on.

What is the best way to manage disposables when building a VS Code extension?

The best way to manage disposables in VS Code extension development is to push them into a `context.subscriptions` array. This ensures that resources like event listeners and command registrations are automatically disposed of during deactivation, preventing memory leaks.

How do I display progress for long-running tasks in a VS Code extension?

You display progress for long-running tasks in VS Code extension development using the `Progress` API. It allows you to show a progress indicator with cancellation support, keeping users informed while background operations execute.