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

VSCode插件开发

VSCode插件开发

  • 安装脚手架
  • 初始化插件目录
  • 调试运行插件
  • 在activitybar中添加图标
  • 插件打包
  • 插件使用
  • 打包报错
    • Make sure to edit the README.md

(完整代码)[https://download.csdn.net/download/qq_17129291/91161160]

安装脚手架

npm install -g yo generator-code

初始化插件目录

yo code
# ? What type of extension do you want to create? New Extension (TypeScript)
# ? What's the name of your extension? HelloWorld
### Press <Enter> to choose default for all options below #### ? What's the identifier of your extension? helloworld
# ? What's the description of your extension? LEAVE BLANK
# ? Initialize a git repository? Y
# ? Which bundler to use? unbundled
# ? Which package manager to use? npm# ? Do you want to open the new folder with Visual Studio Code? Open with `code`

调试运行插件

打开src/extension.ts文件,按F5或者点击运行-启动调试或者点击下图按钮均可启动调试窗口。
在这里插入图片描述
在启动的调试窗口中按ctrl+shift+P输入命令名称即可调出测试例子。
在这里插入图片描述
运行效果如图(底部状态栏弹出通知消息):
在这里插入图片描述

打开package.json修改其中节点内容后保存:
在这里插入图片描述
在调试窗口中按ctrl+R即可刷新页面,再重新按ctrl+shift+P输入刚刚修改的HelloVSC即可执行命令。
注:"command": "vscdemo.helloWorld"需要与src\extension.ts中的registerCommand('vscdemo.helloWorld',function())保持一致。

在activitybar中添加图标

  1. src\extension.ts中添加如下代码:
class YourTreeDataProvider implements vscode.TreeDataProvider<vscode.TreeItem> {getTreeItem(element: vscode.TreeItem): vscode.TreeItem {return element;}getChildren(element?: vscode.TreeItem): Thenable<vscode.TreeItem[]> {return Promise.resolve([new vscode.TreeItem('Item 1'),new vscode.TreeItem('Item 2')]);}
}
 // 注册视图const treeDataProvider = new YourTreeDataProvider();vscode.window.registerTreeDataProvider('vscdemo.view', treeDataProvider);

在这里插入图片描述
2.
package.jsoncontributes中添加如下代码

"viewsContainers": {"activitybar": [{"id": "vscdemo","title": "Demo Extension","icon": "media/shop.svg" }]},"views": {"vscdemo": [{"id": "vscdemo.view","name": "Demo View"}]}

在这里插入图片描述
3. 在根目录添加media文件夹,放置一个名叫shop.svg的图片。

注:图标需要使用 SVG 格式
viewsContainers 定义 Activity Bar 容器
views 定义容器内的具体视图
需要实现 TreeDataProvider 来提供视图内容

4.在调试窗口中按ctrl+R即可刷新页面即可看到新加的图标及图标对应的内容。在这里插入图片描述

插件打包

vsce是vscode extension的缩写,可用于插件的打包和发布。
执行vsce package命令进行打包。

npm install -g vsce
vsce package

在这里插入图片描述

打包过程中会出现一些警告,选择n就行。
或者直接执行vsce package --ignore-warnings

插件使用

在这里插入图片描述

打包报错

Make sure to edit the README.md

PS D:\HD\Project\demo\VSCExtension\vscdemo> vsce package
Executing prepublish script 'npm run vscode:prepublish'...> vscdemo@0.0.1 vscode:prepublish
> npm run compile> vscdemo@0.0.1 compile
> tsc -p ./ERROR  Make sure to edit the README.md file before you package or publish your extension.

删除After writing up a brief description...之前的这句代码即可。
在这里插入图片描述

参考资料:
官网教程
甚至用不了五分钟就能学会vscode插件开发

http://www.lryc.cn/news/575404.html

相关文章:

  • Vue3 中 toRef 与 toRefs 的深度解析与实战应用
  • Sentinel 授权规则详解与自定义异常处理
  • 【机器学习第一期(Python)】梯度提升决策树 GBDT
  • 【机器学习第二期(Python)】优化梯度提升决策树 XGBoost
  • Linux命令-Searching-locate
  • Docker compoes与私有仓库部署
  • 基于vue3+ByteMD快速搭建自己的Markdown文档编辑器
  • Midscene.js:使用 LLMs.txt 快速生成 AI 自动化测试用例「喂饭教程」
  • [Andrej Karpathy] 大型语言模型作为新型操作系统
  • 华为OD 机试 2025-黑板上色
  • 【25软考网工】第十章 网络规划与设计(2)网络规划与分析、网络结构与功能
  • 如何进行 iOS App 混淆加固?IPA 加壳与资源保护实战流程
  • 如何将视频从 iPhone 发送到 Android 设备
  • 数字孪生技术驱动UI前端变革:从静态展示到动态交互的飞跃
  • uniapp 和原生插件交互
  • 小程序入门:理解小程序页面配置
  • vue + vue-router写登陆验证的同步方法和异步方法,及页面组件的分离和后端代码
  • 命名数据网络 | 数据包(Data Packet)
  • chili3d笔记23 正交投影3d重建笔记4 点到线2
  • 【NLP】使用 LangGraph 构建 RAG 的Research Multi-Agent
  • house of apple2
  • Linux系统(信号篇):信号的产生
  • 【Pandas】pandas DataFrame shift
  • Ubuntu下布署mediasoup-demo
  • 黑马JVM解析笔记(四):Javap图解指令流程,深入理解Java字节码执行机制
  • Redis 为什么选用跳跃表,而不是红黑树
  • 《聊一聊ZXDoc》之汽车标定、台架标定、三高标定
  • 【STM32】外部中断
  • 【C++11】右值引用和移动语义
  • gRPC 使用(python 版本)