vscode插件开发

 准备

安装开发依赖

npm install -g yo generator-code

安装后,运行命令

yo code

 

运行 

打开项目, 点击 vscode 调式

 按 F5 或点击调试运行按钮

会打开一个新窗口,在新窗口按快捷键 `Ctrl+Shift+P` ,搜索 Hello World 选择执行

右下角出现消息弹窗,说明运行成功

项目解释

回到项目

package.json 主要配置文件

开发中文文档

VS Code插件创作中文开发文档

 开发测试

实现一个 Vue 项目提供代码片段 和 javascript 项目提供代码片段;

创建一个 snippets 目录 和 两个文件 js.json 、vue3.json

 

 js.json

{"create axios modul": {"prefix": "logs","body": ["console.log($1)","","console.log($2)"],"description": "create console"}
}

 vue3.json

{"Vue Component": {"prefix": "vue3","body": ["<template>","</template>","","<script setup>","import { ref } from 'vue'","</script>","","<style lang='less' scoped>",".demo-page { height: 100%; }","</style>"],"description": "Create a Vue component"}
}

更新 package.json 配置,在 contributes 里面添加以下代码

    "snippets": [{"language": "javascript","path": "./snippets/js.json"},{"language": "vue","path": "./snippets/vue3.json"}]

描述

运行

保存后,重启下调试

 在调试新窗口,添加一个 test.js 文件和 test.vue 文件

在 test.js 文件,输入 logs 就会出现代码提示

在 test.vue 文件,输入 vue3 就会出现代码提示

打包

安装依赖 vsce

npm install -g vsce

 执行打包命令

vsce package

遇到报错

ERROR  Make sure to edit the README.md file before you package or publish your extension. 

 编辑下 README.md 文件,以下示例模板

# My ExtensionA Visual Studio Code extension that does amazing things!## Features- Feature 1: Describe feature 1.
- Feature 2: Describe feature 2.## Installation1. Open Visual Studio Code.
2. Go to the Extensions view by clicking on the Extensions icon in the Activity Bar on the side of the window or by pressing `Ctrl+Shift+X`.
3. Search for "My Extension".
4. Click the Install button.## Usage1. Open a file in Visual Studio Code.
2. Press `Ctrl+Shift+P` and type "My Extension: Do Something".
3. Enjoy the magic!## ConfigurationThis extension provides the following settings:- `myExtension.enable`: Enable or disable the extension. Default is `true`.## ExamplesHere are some examples of how to use this extension:```json
{"myExtension.enable": true
}

 遇到警告1

 WARNING  A 'repository' field is missing from the 'package.json' manifest file.

在 package.json 文件中添加 repository 字段

  "repository": {"type": "git","url": "https://example.com/your-username/your-repo-name.git"},

遇到警告2

 WARNING  LICENSE.md, LICENSE.txt or LICENSE not found

创建一个许可证文件 LICENSE.md ,输入以下内容(参考),将 [Year] 替换为当前年份,将 [Your Name] 替换为你的名字或组织名称

MIT LicenseCopyright (c) [Year] [Your Name]Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

更新 package.json 配置,publisher 的值替换为你的名字或组织名称(跟上面一至)

  "publisher": "your-publisher-name","license": "MIT",

 

前面两个警告也可以临时忽略,不影响打包(但是打包后只能本地加载,不能发布线上)

 打包成功

打包成功后,根目录会生成一个 .vsix 文件

本地加载插件

 点击扩展 --- 加载刚刚打包的 .vsix 文件

加载并启用后,就可本地使用了

发布插件

发布插件前,可以先在插件市场搜索一下,是否有重名;

打开 Visual Studio Marketplace发布者管理页面

注意事项 

1、需要微软账号(可以直接注册);

2、需要能访问谷歌的网络(架梯子);

3、具备以上两点后,在创建发布者页面填写组织名称和ID(组织名称和ID要与前面 遇到警告2 里面解决方案填写的组织者名称一致)即可创建发布者;

4、创建发布者后,就可上传应用;

5、上传后等待审核,审核成功后就可以在应用市场搜索到;

注册成功后

在管理页面上传应用 

选择应用

选择打包好的 .vsix 文件上传

1、如遇到上传错误,一般为项目配置里面的组织名称与发布者名称不一致 或者 插件名称已在市场存在等问题;

2、在发布插件前,可以先在插件市场搜索一下,是否有重名;

 参考

开发一个自己的VSCode插件_vscode插件开发官方文档-CSDN博客

vscode插件开发教程 - 简书

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/19933.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win11安装wsl报错:无法解析服务器的名称或地址(启用wsl2)

1. 启用wsl报错如下 # 查看可安装的 wsl --install wsl --list --online此原因是因为没有开启DNS的原因&#xff0c;所以需要我们手动开启DNS。 2. 按照如下配置即可 Google的DNS&#xff08;8.8.8.8和8.8.4.4) 全国通用DNS地址 (114.114.114.114) 3. 运行以下命令来重启 WSL…

mysql 存储空间增大解决方案

一&#xff1a;查询数据库中表占比比较多的表 SELECT table_name AS "Tables", round(((data_length index_length) / 1024 / 1024), 2) AS "Size (MB)" FROM information_schema.tables WHERE table_schema "自己的数据库名"; …

【MySQL】数据库基础库/表的操作数据类型详解

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;实战项目_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.什么是数据库 2.主流数据库 3.基本使用 3.1 MySQL安装 3.2 连接服务器 3.3 服务器管理 3.4 服务器、数据库、表关系 3.5 …

【kafka系列】消费者

目录 获取消息 1. 消费者获取消息的流程逻辑分析 阶段一&#xff1a;消费者初始化 阶段二&#xff1a;分区分配与重平衡&#xff08;Rebalance&#xff09; 阶段三&#xff1a;消息拉取与处理 阶段四&#xff1a;偏移量提交 核心设计思想 2. 流程 关键点总结 常见参数…

仿叮咚买菜鸿蒙原生APP

# DingdongShopping 这是一个原生鸿蒙版的仿叮咚买菜APP项目 鸿蒙Next发布至今已经有一年多的时间了&#xff0c;但有时候我们想要实现一些复杂的功能或者效果&#xff0c;在开发文档上查阅一些资料还是比较费时的&#xff0c;有可能还找不到我们想要的内容。而社会层面上分享…

Linux 进程控制(进程创建,进程等待)

目录 进程创建 fork函数初识 fork函数返回值 写时拷贝 fork常规用法 fork调用失败的原因 进程终止 进程退出场景 进程退出码 进程常见退出方法 exit函数 _exit函数 return退出 return、exit和_exit之间的区别与联系 进程异常退出 进程等待 进程等待的必要性 获…

ROS2下Rviz显示orbbec相机depth深度图

ROS2下Rviz显示orbbec相机depth深度图 视频讲解 ROS2下Rviz显示orbbec相机depth深度图 在《ROS2下编写orbbec相机C package并Rviz显示》的基础上&#xff0c;继续添加depth图像的获取及显示 rgb_publisher_ this->create_publisher<sensor_msgs::msg::Image>("…

算法——结合实例了解Minimax算法(极小化极大算法)

计算机科学中最有趣的事情之一就是编写一个人机博弈的程序。有大量的例子&#xff0c;最出名的是编写一个国际象棋的博弈机器。但不管是什么游戏&#xff0c;程序趋向于遵循一个被称为Minimax算法&#xff0c;伴随着各种各样的子算法在一块。本篇将简要介绍 minimax 算法&#…

场外个股期权下单后多久成交?场外个股期权对投资组合的影响

对普通老板们而言&#xff0c;它如同精密手术刀——用得好可精准优化投资组合&#xff0c;用不好则可能伤及本金。记住两个关键&#xff1a;一是永远用"亏得起的钱"参与&#xff0c;二是把合约条款当"药品说明书"逐字研读。 场外个股期权下单后多久成交&am…

SolidWorks C# How

目录 1.如何创建C#插件程序? 2.插件程序需要继承的类是什么? 3.如何创建C#.net WPF程序? 4.WPF界面程序参考 5.如何获取类的框图 6.如何安装XCAD.net的 nuget包 7.如何扩展命令到菜单栏和工具栏 8.如何添加自定义面板 9.如何对文档管理进行编程 10.XCAD 开发solid…

【Go并发编程】Goroutine 调度器揭秘:从 GMP 模型到 Work Stealing 算法

每天一篇Go语言干货&#xff0c;从核心到百万并发实战&#xff0c;快来关注魔法小匠&#xff0c;一起探索Go语言的无限可能&#xff01; 在 Go 语言中&#xff0c;Goroutine 是一种轻量级的并发执行单元&#xff0c;它使得并发编程变得简单高效。而 Goroutine 的高效调度机制是…

华为昇腾 910B 部署 DeepSeek-R1 蒸馏系列模型详细指南

本文记录 在 华为昇腾 910B(65GB) * 8 上 部署 DeepSeekR1 蒸馏系列模型&#xff08;14B、32B&#xff09;全过程与测试结果。 NPU&#xff1a;910B3 (65GB) * 8 &#xff08;910B 有三个版本 910B1、2、3&#xff09; 模型&#xff1a;DeepSeek-R1-Distill-Qwen-14B、DeepSeek…

桥接模式 Bridge Pattern

桥接模式Abstraction 和 Implementor 的理解 在图书馆看到一本 通过电商项目真正实战《贯穿设计模式》。拿起来翻到了 桥接模式&#xff0c;感觉味道不对&#xff0c;和我印象中不一样。 感谢这位同学提供的源码 贯穿设计模式-适配器模式桥接模式_-CSDN博客GitHub - WeiXiao…

gitee SSH 公钥设置教程

Gitee 提供了基于 SSH 协议的 Git 服务,在使用 SSH 协议访问仓库仓库之前,需要先配置好账户 SSH 公钥。 1、生成秘钥 Windows 用户建议使用 Windows PowerShell 或者 Git Bash,在 命令提示符 下无 cat 和 ls 命令。 ssh-keygen -t ed25519 -C "Gitee SSH Key"中间…

jenkins war Windows安装

Windows安装Jenkins 需求1.下载jenkins.war2.编写快速运行脚本3.启动Jenkins4.Jenkins使用 需求 1.支持在Windows下便捷运行Jenkins&#xff1b; 2.支持自定义启动参数&#xff1b; 3.有快速运行的脚步样板。 1.下载jenkins.war Jenkins下载地址&#xff1a;https://get.j…

string类详解(上)

文章目录 目录1. STL简介1.1 什么是STL1.2 STL的版本1.3 STL的六大组件 2. 为什么学习string类3. 标准库中的string类3.1 string类3.2 string类的常用接口说明 目录 STL简介为什么学习string类标准库中的string类string类的模拟实现现代版写法的String类写时拷贝 1. STL简介 …

[数据结构]红黑树,详细图解插入

目录 一、红黑树的概念 二、红黑树的性质 三、红黑树节点的定义 四、红黑树的插入&#xff08;步骤&#xff09; 1.为什么新插入的节点必须给红色&#xff1f; 2、插入红色节点后&#xff0c;判定红黑树性质是否被破坏 五、插入出现连续红节点情况分析图解&#xff08;看…

java练习(28)

ps&#xff1a;练习来自力扣 给定一个二叉树&#xff0c;判断它是否是平衡二叉树 // 定义二叉树节点类 class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val val; }TreeNode(int val, TreeNode left, TreeNode right) {this.va…

Java并发编程6--重排序

重排序是指 编译 器和 处 理器 为 了 优 化程序性能而 对 指令序列 进 行重新排序的一种手段。 1.数据依赖性 如果两个操作 访问 同一个 变 量&#xff0c;且 这 两个操作中有一个 为 写操作&#xff0c;此 时这 两个操作之 间就存在数据 依赖性。 数据依赖的类型 上面 3 种情…

ElasticSearch映射分词

目录 弃用Type why 映射 查询 mapping of index 创建 index with mapping 添加 field with mapping 数据迁移 1.新建 一个 index with correct mapping 2.数据迁移 reindex data into that index 分词 POST _analyze 自定义词库 ik分词器 circuit_breaking_excep…