<synced_block url=“https://app.notion.com/p/1b55465cca17808d8be3e99dd76eae9f#1b55465cca1780a787d9e7389de5525f”>
# 开发环境
1. Nodejs
2. vscode
3. Yeoman&generator-code
为了方便生成插件项目的基础结构,可以使用 Yeoman 以及 VSCode 官方提供的插件生成器。打开终端,输入以下命令全局安装:
bash npm install -g yo generator-code
# 插件初始框架
## 创建插件
bash yo code
生成器会询问以下问题:
- 选择扩展类型:例如“New Extension (TypeScript)”或者“New Extension (JavaScript)”。
- 扩展名称、描述:根据提示填写想要的扩展名称和描述信息。
- Git 初始化:是否初始化 Git 仓库。
- 包管理器:选择使用 npm 或 yarn。
生成完成后,会得到一个初步搭建好的项目结构。
## 理解结构
打开生成的项目,会看到一些重要的文件和目录:
- package.json
这个文件定义了扩展的基本信息、依赖以及 VSCode 的激活事件和命令注册。
例如:
```json
{
“name”: “my-sample-extension”,
“displayName”: “My Sample Extension”,
“description”: “A simple VSCode extension.”,
“version”: “0.0.1”,
“engines”: {
“vscode”: “^1.60.0”
},
“activationEvents”: [
“onCommand
```- **`src/extension.ts`****(或 ****`extension.js`****)** 这是扩展的入口文件,当扩展被激活时会运行这里的代码。 例如,一个简单的示例: ```typescriptimport * as vscode from ‘vscode’;
export function activate(context: vscode.ExtensionContext) { console.log(‘Congratulations, your extension “my-sample-extension” is now active!’);
let disposable = vscode.commands.registerCommand('extension.helloWorld', () => { vscode.window.showInformationMessage('Hello World from your VSCode extension!');});
context.subscriptions.push(disposable);}
export function deactivate() {}
## 运行和调试 - 打开项目后,在 VSCode 的调试面板中,可以看到一个 `Launch Extension` 的配置。 - 按下 `F5`,VSCode 将启动一个新的扩展开发主机(Extension Development Host)。 - 在新的窗口中,通过命令面板(`Ctrl+Shift+P` 或 `Cmd+Shift+P`)输入注册的命令,比如输入 “Hello World” 来测试扩展是否正常工作。 ## 发布插件 当开发完成并测试好之后,可以考虑将插件发布到 [VSCode Marketplace](https://marketplace.visualstudio.com/vscode) 供其他人使用: - 安装 `vsce` 工具帮助打包和发布扩展: bash
npm install -g vsce
- 在项目根目录下运行打包命令: bash
vsce package
```
- 根据 官方文档 的指引,完成发布流程。
# 具体开发
## 插件启动
VSCode 扩展通过 package.json 中的 activationEvents 数组来定义何时激活扩展。以下是主要的激活事件类型:
### 常用激活事件
1.
- 在 VSCode 启动时立即激活扩展
- 优点:扩展始终可用
- 缺点:会影响 VSCode 的启动性能,不推荐用于生产环境
2. onStartupFinished
- 在 VSCode 完成启动后激活扩展
- 比 * 稍晚激活,但对启动性能影响较小
3. onCommand
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时





