VSCode插件开发-最简单的一个插件
Visual Studio Code(VSCode)作为目前最受欢迎的代码编辑器之一,其强大的插件生态系统功不可没。本文将带你从零开始,创建一个简单的VSCode插件,并介绍完整的开发流程。最后我们会完成一个简单的可以在VSCode快速修改图片尺寸的插件并发布到Marketplace。
注意我是在Windows 11的WSL环境下进行开发的,所以一些命令可能会与Windows环境下不同。Windows下WSL开发环境配置
1. 环境搭建
1.1 安装必要工具
首先,确保你的电脑已安装以下工具:
Node.js:VSCode插件开发基于Node.js环境,建议安装LTS版本
1
2# 下载并安装Node.js LTS版本
# 访问 https://nodejs.org/ 下载对应操作系统的安装包Yeoman和VS Code扩展生成器:用于快速创建插件项目模板
1
npm install -g yo generator-code
VSCode:当然,你需要安装最新版本的VSCode编辑器
1.2 创建插件项目
打开终端,运行以下命令创建一个新的VSCode插件项目:
1 | # 创建一个新的插件项目 |
运行上述命令后,会出现一系列选项,你可以根据需要进行选择:
1 | ? What type of extension do you want to create? New Extension (TypeScript) |
1.3 项目结构解析
创建完成后,你会得到一个基本的项目结构,主要文件包括:
1 | hello-world/ |
现在,我们只需要关心两个重要的文件:
src/extension.ts:这是插件的入口文件,包含了插件的生命周期钩子和命令注册。package.json:项目配置文件,包含了插件的元数据和依赖。
2. 编写我们的第一个插件
2.1 配置命令和菜单
在 package.json 文件中,我们需要配置命令和菜单项:
1 | { |
这里我们申明了一个命令 letsdoit-image.resizeImage,并将其添加到了资源管理器的上下文菜单中。当用户在资源管理器中右键点击图片文件时,会显示 Resize Image 选项。我们在 when 条件中指定了图片文件的扩展名,只有当用户在资源管理器中右键点击图片文件时,才会显示 Resize Image 选项。
注意:这个命令的ID
letsdoit-image.resizeImage必须是全局唯一的,不能与其他插件的命令ID重复。
2.2 注册并实现该命令
打开 src/extension.ts 文件,这是插件的入口文件,包含了插件的生命周期钩子,我们需要在 activate 函数中注册我们的命令 letsdoit-image.resizeImage。让我们修改代码,创建一个简单的命令,当用户在资源管理器中右键点击图片时,会出现Resize Image选项,点击后会提示用户输入图片的宽度,然后将调整后的图片存入一个新文件,并加上了-resized后缀。
1 |
|
这里我们用到了一个第三方库 Jimp,用于处理图片。你需要先安装它:
1 | npm install jimp |
2.3 调试插件
- 在VSCode中打开项目文件夹
- 按
F5或点击”运行 > 启动调试” - 这将打开一个新的VSCode窗口(扩展开发主机)
- 在新窗口中,按
Ctrl+Shift+P(或Cmd+Shift+Pon macOS) 打开命令面板 - 在资源管理器中右键点击图片文件,选择
Resize Image选项 - 输入图片的宽度,例如
800 - 插件会在当前目录下创建一个新文件,文件名加上了
-resized后缀,例如image-resized.jpg
3. 打包
3.1 安装打包工具
VSCode插件需要使用 vsce(Visual Studio Code Extension)工具进行打包:
1 | npm install -g vsce |
3.2 编译TypeScript代码
在打包之前,需要将TypeScript代码编译为JavaScript:
1 | npm run compile |
3.3 完善基本信息
在 package.json 文件中,确保填写了插件的基本信息,例如版本号、作者、许可证等:
1 | { |
3.4 打包插件
运行以下命令将插件打包为 .vsix 文件:
1 | vsce package |
我们也可以在package.json的scripts中添加一个命令,用于打包插件:
1 | { |
然后运行:
1 | npm run package |
成功后,你会在项目根目录下看到一个 .vsix 文件,例如 letsdoit-image-0.0.1.vsix。
3.5 本地安装测试
你可以在本地安装并测试打包好的插件:
- 在VSCode中,按
Ctrl+Shift+P打开命令面板 - 输入”Extensions: Install from VSIX”
- 选择你刚刚创建的
.vsix文件 - 重启VSCode以加载插件
4. 发布到Marketplace
4.1 创建Visual Studio Marketplace账户
- 访问 Visual Studio Marketplace
- 点击”Sign in”登录或创建新账户,可以用outlook或者hotmail账号登陆
- 登录后,访问 发布者管理页面
4.2 创建发布者
如果你是第一次发布插件,需要创建一个发布者:
- 在发布者管理页面,点击”Create Publisher”
- 填写发布者名称、显示名称和标识符
- 记下你的发布者名称,后续会用到
4.3 创建Personal Access Token
- 在发布者管理页面,点击”Personal Access Tokens”
- 点击”Create New Token”
- 输入Token名称(如”VSCode Publishing”)
- 选择所有账户(All accessible accounts)
- 选择权限范围(至少需要”Marketplace > Publish”)
- 复制生成的Token(注意保存,只显示一次)
4.4 登录并发布插件
- 在终端中,运行以下命令登录:
1 | vsce login <你的发布者名称> |
系统会提示输入Personal Access Token,粘贴上一步创建的Token
发布插件:
1 | vsce publish |
4.5 插件审核与发布
- 提交后,插件会进入审核流程,通常需要几分钟到几小时
- 审核通过后,插件将在Marketplace上可见
- 你可以在发布者管理页面查看插件的状态和下载统计
4.6 更新插件
当你需要更新插件时:
- 修改
package.json中的版本号 - 重新编译和打包
- 再次运行
vsce publish命令
总结
通过本文,你已经学会了如何从零开始创建一个简单的VSCode插件,包括环境搭建、代码编写、打包和发布到Marketplace的完整流程。下一篇文章将介绍如何创建一个更复杂的插件,用到Webview加React, Tailwindcss, Shadcn, Vite等技术栈构建一个用户友好的插件,实现图片快修的功能。
希望这篇文章能帮助你开启VSCode插件开发之旅!如果你有任何问题或建议,欢迎在评论区留言讨论。