IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 如何编写vscode插件-- 全声明周期记录 -> 正文阅读

[开发工具]如何编写vscode插件-- 全声明周期记录

这篇文章记录如何编写一个vscode插件(vscode extension)。

最近我刚刚编写完一个生成模板配置文件的vscode插件,记录一下经验

插件项目生成工具 yo

vscode的插件开发是有一定规范的,因此会有一个命令行工具用于生成项目结构。

参考: https://code.visualstudio.com/api/get-started/your-first-extension

npm安装项目生成工具:

npm install -g yo generator-code

使用项目生成工具生成项目:

yo code

项目可以使用typescript或者javascript编写,可以选择生成什么类型的项目。

关键文件

  • package.json
{
  "name": "hello-template",
   // ...
   // 这里注册用户按键ctrl+shift+p, 输入tgen, 按enter,就会执行插件逻辑
  "activationEvents": [
    "onCommand:hello-template.tgen"
  ],
  // 这里启动文件是extension.js,也就是插件逻辑的主要实现点
  "main": "./extension.js",
  • extension.js
function activate(context) {

	// Use the console to output diagnostic information (console.log) and errors (console.error)
	// This line of code will only be executed once when your extension is activated
	console.log('Congratulations, your extension "hello-template" is now active!');

	// The command has been defined in the package.json file
	// Now provide the implementation of the command with  registerCommand
	// The commandId parameter must match the command field in package.json
	let disposable = vscode.commands.registerCommand('hello.example.tgen', function () {
		//这里就是插件的逻辑主体,通常可以引用任何nodejs库
	}		
}

但是在这里我想特别记录几个API:

如何获取vscode当前工作目录

也就是配置文件生成后放的路径:

vscode.workspace.workspaceFolders[0].uri.fsPath

如何获取插件的安装目录

模板生成程序需要从插件安装目录中读取模板

vscode.extensions.getExtension("<publisher_name>.<extension_name>").extensionPath

这里的<publisher_name>.<extension_name> 对象package.json里的

{
  "name": "cicd-template", // extension_name
  "displayName": "cicd-template",
  "description": "",
  "publisher": "oneslideicywater", // publisher_name
} 

发布插件

参考链接:https://code.visualstudio.com/api/working-with-extensions/publishing-extension

1. 创建微软账号

也就是文档的Get a Personal Access Token部分,按照文档的步骤把token拿到。

在本地开发环境登录:

vsce login <publisher name>

2. 打包

先安装打包工具

npm install -g vsce

打包

# 生成<extension_name>-<version>.vsix文件
vsce package
# 发布
vsce publish

注意修改package.json里的version字段,因为每次发布必须是加版本号

3. vscode markplace

插件发布到markplace,应该就可以在那看见

链接:https://marketplace.visualstudio.com/vscode

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:32:17  更:2022-09-04 01:34:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 11:42:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码