当前位置: 首页 > news >正文

【VSCode】插件开发笔记

VSCode 插件开发笔记

VSCode 的插件实质

VSCode 在设计之初就考虑了扩展性,甚至很多 VSCode 的核心功能也是基于扩展的方式编写的,并且使用的扩展 API 也是一样的。

VSCode 的源代码基本都是用 TS 编写的,所以他的扩展编写也基本一样,使用 TS 或 JS 开发。

VSCode 插件其实就是一个 node.js 包,插件的各种配置信息也都存在包中的 package.json 文件中。

VSCode 安装的插件都存放在了用户目录的“.vscode\extensions”文件夹中,可以直接把自己的插件放进去来实现手动安装。

开发环境搭建

配置项目

  1. 确保安装了 Node.js 和 Git。
  2. 使用 npm 安装 Yeoman。
  3. 利用 Yeoman 创建项目。
npm install --global yo generator-code #安装yeoman
yo code #创建项目

运行调试

项目默认配置了 HelloWorld 程序,直接 F5 运行即可。这样会自动打开一个新的 VSCode 编辑器并将当前开发的插件安装进去。

注意:

  • 插件对 VScode 的版本是有需求的,可以通过 package.json 中依赖的 vscode 包版本看出,如果版本不兼容就会导致插件安装失败,但这个报错调试时是不会显示的,要人为检查一下版本信息。

插件集成原理

代码集成

当插件被装入 VSCode 并激活时,VSCode 会主动调用插件中的一些事件函数。接着我们要在这些函数中通过 VSCode 提供的方法,向 VSCode 注册我们的功能。

import * as vscode from "vscode"; // 导入vscode的扩展api// 插件被激活时,vscode将调用该函数。
export function activate(context: vscode.ExtensionContext) {//此时向vscode注册功能,比如此处注册了一条命令let disposable = vscode.commands.registerCommand(<id>, <event>);context.subscriptions.push(disposable);
}// 插件被停用时,vscode将调用该函数。
export function deactivate() {}

扩展清单

插件向 VSCode 注册的所有功能都必须先在扩展清单中声明,扩展清单其实就是 package.json 文件,但我们需要在里面填充一些 VSCode 需要的东西。

  • name:扩展 ID,用于唯一表示插件。
  • activationEvents:激活事件,说明在哪些时候自动激活插件。
  • main:插件的入口脚本。
  • contributes:贡献点,要为 VSCode 增加哪些功能。
http://www.jsqmd.com/news/130631/

相关文章:

  • 传统算法vs大模型应用开发工程师,零基础转行选谁?
  • CF1051G
  • Apache Ignite 广告实时竞拍系统架构全攻略
  • 基于SpringBoot的冷链运输生鲜销售系统计算机毕业设计项目源码文档
  • 导游证教程资源合集
  • 大模型打分机制揭秘:为何需要多次更换位置进行评分?
  • 什么是智能问数
  • 12/23
  • 中望3D2026曲面建模技巧:利用「缠绕到面」功能将平面特征精准移植到曲面
  • 完整教程:[百题重刷]前缀和 + Hash 表:缓存思想, 消除重复计算
  • 完整教程:[百题重刷]前缀和 + Hash 表:缓存思想, 消除重复计算
  • SRC 漏洞挖掘全流程攻略:小白→挖洞达人,学习路线 + 配套工具全曝光
  • 基于微信小程序的零工市场服务系统计算机毕业设计项目源码文档
  • LLM之Agent完全指南:从零构建AI Agents的7大核心类型与实战代码!
  • 2026金三银四必备国内大厂Java面试高频题库整理!
  • 【Unity】各种操作触发GC情况
  • 【技术美术】D3D中GPU渲染管线流程详解
  • vscode使用vs环境运行程序
  • java基础-HashMap
  • 万能欧几里得板子
  • 万能欧几里得板子
  • Mercado Libre(美客多)拉美市场研究指南:十款实用工具助力跨境运营分析
  • 一张Transformer-LSTM模型的结构图
  • 稀疏注意力机制
  • 茶颜悦色X北森|如何用AI面试官帮HR工作量直降90%!
  • 【技术美术】渲染空间变换概述
  • 【负荷预测】基于变分模态分解(VMD-CNN-LSTM)的短期电力负荷预测Python代码
  • AI智能预警系统:矿山、工厂与油气站安全管理架构浅析
  • 流量洪峰冲不垮的秘密:揭秘系统过载保护的核心防线
  • 【技术美术】程序化噪波实现