Full-stack-skills vscode-feature-command
Register a new command in a VS Code extension by updating package.json contributes.commands and src/extension.ts activate function. Use when the user wants to add a functional command (e.g., text formatting, code generation, UI action) to a VS Code extension.
install
source · Clone the upstream repo
git clone https://github.com/partme-ai/full-stack-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/partme-ai/full-stack-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/vscode-skills/vscode-feature-command" ~/.claude/skills/partme-ai-full-stack-skills-vscode-feature-command && rm -rf "$T"
manifest:
skills/vscode-skills/vscode-feature-command/SKILL.mdsource content
When to use this skill
Use this skill when the user wants to add a new functional command (e.g., "Hello World", "Format Text") to the extension.
How to use this skill
Adding a command requires updates to two files:
package.json and src/extension.ts.
Step 1: Update package.json
package.jsonAdd the command definition to the
contributes.commands array.
// package.json { "contributes": { "commands": [ { "command": "extension.myCommand", // Unique ID "title": "My Extension: Do Something" // Display Name } ] } }
Step 2: Update src/extension.ts
src/extension.tsRegister the command in the
activate function.
// src/extension.ts import * as vscode from 'vscode'; export function activate(context: vscode.ExtensionContext) { // ... existing code ... let disposable = vscode.commands.registerCommand('extension.myCommand', () => { // Implementation logic here vscode.window.showInformationMessage('Command executed!'); }); context.subscriptions.push(disposable); }
Best Practices
- Command ID Naming: Use
format to avoid conflicts.extensionName.actionName - Async Handling: If the command logic is asynchronous, use
.async () => { await ... } - Error Handling: Wrap logic in try-catch blocks if it involves external operations.