VS Code 扩展从被发现到运行
发现
VS Code 不会扫描任意源码目录。扩展需要出现在已安装扩展目录中,或者由调试配置启动一个 Extension Development Host。名称、入口和能力声明来自扩展的 package.json。
激活
activationEvents 决定何时启动扩展进程;activate(context) 是运行时入口。声明一个命令只会让 VS Code 知道它存在,仍需在激活函数中注册真正的处理逻辑。
export function activate(context: vscode.ExtensionContext) {
const disposable = vscode.commands.registerCommand(
"cppLearning.analyze",
analyzeCurrentFile,
);
context.subscriptions.push(disposable);
}
三种常用能力
- TreeView:适合稳定、可导航的层级数据。
- Webview:适合自定义报告和复杂交互,但需要处理消息协议和内容安全策略。
- SecretStorage:保存 API Key 等密钥,不应把它们写入 settings.json 或仓库。