AgentSkillsCN

vscode-extension

VS Code 扩展开发工作流。适用于在添加或修改补全提供者、诊断工具、CLI 集成、服务器管理、代码片段,或进行扩展构建与打包时使用。

SKILL.md
--- frontmatter
name: vscode-extension
description: VS Code extension development workflow. Use when adding/modifying completion providers, diagnostics, CLI integration, server management, snippets, or building/packaging the extension.

VS Code Extension Development

Architecture

DirectoryPurpose
src/extension.tsEntry point, command registration
src/completion/Autocomplete for provider: and kind:
src/diagnostics/YAML validation, error highlighting
src/ops/CLI detection, server management
snippets/figram.jsonYAML snippets

Build

bash
cd packages/vscode
bun run build:dev    # Development with sourcemaps
bun run dev          # Watch mode
bun run build        # Production
bun run package      # Create .vsix

Debug: F5 in VS Code → Extension Development Host

Commands

IDTitle
figram.initInit diagram.yaml
figram.buildBuild JSON
figram.serve.startStart Serve
figram.serve.stopStop Serve
figram.serve.restartRestart Serve
figram.serve.quickPickServe Actions
figram.refreshDiagnosticsRefresh Diagnostics

Configuration

SettingDefaultDescription
figram.cli.commandnullCustom CLI command
figram.serve.host127.0.0.1Server host
figram.serve.port3456Server port
figram.serve.allowRemotefalseAllow remote
figram.serve.secret""Auth secret
figram.diagnostics.enabledtrueEnable diagnostics
figram.diagnostics.debounceMs300Debounce delay

Adding Features

New Command

  1. Add to package.jsoncontributes.commands
  2. Register in extension.ts with vscode.commands.registerCommand()
  3. Add to context.subscriptions

New Configuration

  1. Add to package.jsoncontributes.configuration.properties
  2. Read with vscode.workspace.getConfiguration("figram.xxx")

New Completion Provider

  1. Create class implementing vscode.CompletionItemProvider
  2. Register with vscode.languages.registerCompletionItemProvider()

New Snippet

  1. Add to snippets/figram.json
  2. Update docs (docs/en/vscode-extension.md, docs/ja/vscode-extension.md)