实现一个简单的hello world vs-code插件

开发 VS Code 插件可以让你扩展编辑器的功能,从简单的代码片段到复杂的语言支持都可以实现。

一、环境准备

  1. 安装工具

    • 安装 Node.js(v14+,需要 npm 或 yarn)

    • 安装 VS Code

    • 安装 Yeoman 和 VS Code 插件生成器:

      bash 复制代码
      npm install -g yo generator-code
  2. 创建插件项目 运行 yo code,选择插件类型(如 New Extension (JavaScript)TypeScript),填写项目信息(名称、描述、标识符等),生成基础项目结构。

二、核心项目结构

生成的项目包含以下关键文件:

bash 复制代码
your-extension/
├── src/
│   └── extension.js      # 插件入口逻辑
├── package.json          # 插件配置(核心文件)
├── README.md             # 插件说明
└── .vscode/              # 调试配置
  • package.json:定义插件的激活事件、贡献点(命令、菜单等)、依赖等,是插件的「身份证」。
  • extension.js :实现插件功能的代码,入口为 activate 函数(插件激活时执行)和 deactivate 函数(插件销毁时执行)。

三、开发Hello World 功能

  1. 配置 package.json :在 contributes.commands 中注册命令,在 activationEvents 中定义激活事件(如命令被调用时激活):
json 复制代码
{
  "activationEvents": ["onCommand:your-extension.helloWorld"],
  "contributes": {
    "commands": [
      {
        "command": "your-extension.helloWorld",
        "title": "Hello World"
      }
    ]
  }
}
  1. 实现功能(extension.js) :在 activate 函数中注册命令的回调:
js 复制代码
const vscode = require('vscode');

function activate(context) {
  // 注册命令
  let disposable = vscode.commands.registerCommand('your-extension.helloWorld', () => {
    // 显示弹窗
    vscode.window.showInformationMessage('Hello VS Code Extension!');
  });

  context.subscriptions.push(disposable);
}

function deactivate() {}

module.exports = { activate, deactivate };

四、调试插件

  1. F5 启动「扩展开发宿主」窗口(一个新的 VS Code 窗口)。
  2. 在新窗口中按 Ctrl+Shift+P(或 Cmd+Shift+P)打开命令面板,输入并运行 Hello World 命令,即可看到弹窗。

五、核心概念

  1. 激活事件(Activation Events) 定义插件何时被激活(避免不必要的性能消耗),常见类型:

    • onCommand:命令名:命令被调用时
    • onStartupFinished:VS Code 启动完成后
    • onLanguage:语言名:打开特定语言文件时(如 onLanguage:javascript
  2. 贡献点(Contribution Points) 定义插件对 VS Code 的扩展点,常见类型:

    • commands:注册命令
    • keybindings:绑定快捷键
    • menus:添加右键菜单或顶部菜单
    • snippets:添加代码片段
    • themes:自定义主题
  3. API 调用 VS Code 提供了丰富的 API,例如:

    • vscode.window:操作窗口(弹窗、状态栏等)
    • vscode.workspace:操作工作区(文件、配置等)
    • vscode.editor:操作编辑器(文本编辑、选中内容等)

六、打包与发布

  1. 打包成 VSIX:安装打包工具:

    bash 复制代码
    npm install -g @vscode/vsce

    在项目根目录运行:

    bash 复制代码
    vsce package

    生成 your-extension-x.x.x.vsix 文件,可手动安装到 VS Code。

  2. 发布到市场 注册 Azure DevOps 账号,获取个人访问令牌(PAT),然后通过 vsce publish 发布到 VS Code 市场

相关推荐
一颗烂土豆3 分钟前
Meshopt 压缩深度解析,为什么它比 Draco 更快
前端·javascript·webgl
浏览器工程师1 小时前
AI Agent 接浏览器任务,先别让它一路点到底
前端·后端
雨季mo浅忆1 小时前
VSCode自动格式化三要素
前端
爱勇宝2 小时前
深扒 Anthropic 1680 位工程师简历:应届生几乎没机会,AI 公司最缺的不是博士
前端·后端·程序员
kyriewen2 小时前
同事每天催我 Code Review,我写了个脚本让 AI 替我 review PR——现在他反过来催 AI 了
前端·javascript·ai编程
user20585561518135 小时前
Windows 项目安装时报 `node-sass` 错误,如何快速处理
前端
LiaCode5 小时前
Redis 在生产项目的使用
前端·后端
LiaCode5 小时前
一天学完 redis 的爽翻版核心知识总结
前端·后端
大刚测试开发实战5 小时前
如何内网穿透访问本地私有化部署的TestHub
前端·后端·github
风骏时光牛马5 小时前
# Ruby基于Rails框架实现多角色权限管理与数据分页查询完整实战代码案例
前端