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 Extension

A Visual Studio Code extension that does amazing things!

## Features

- Feature 1: Describe feature 1.
- Feature 2: Describe feature 2.

## Installation

1. 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.

## Usage

1. Open a file in Visual Studio Code.
2. Press `Ctrl+Shift+P` and type "My Extension: Do Something".
3. Enjoy the magic!

## Configuration

This extension provides the following settings:

- `myExtension.enable`: Enable or disable the extension. Default is `true`.

## Examples

Here 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 License

Copyright (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插件开发官方文档-优快云博客

vscode插件开发教程 - 简书

### VSCode 插件开发教程 #### 插件 ID 定义 VS Code 使用 `<publisher>.<name>` 作为插件的唯一标识符。例如,在 Hello World 示例中,插件 ID 是 `vscode-samples.helloworld-sample`[^1]。 #### 开发环境准备 为了开始开发 VSCode 插件,建议安装 Node.js 和 Yeoman 工具集。Yeoman 提供了一个用于创建新扩展项目的生成器,可以简化初始设置过程。 #### 编程语言选择 主要使用的编程语言有两种:TypeScript (ts) 或者 JavaScript (js)[^2]。由于 TypeScript 增加了静态类型检查和其他特性,通常推荐使用它来进行更可靠的开发工作。 #### 项目结构概述 每个 VSCode 扩展都围绕着一个名为 `package.json` 的文件构建,该文件定义了元数据以及激活条件等重要信息。以下是典型的目录布局: - `.vscode/`: 存储编辑器配置文件。 - `out/`: 放置编译后的代码(如果是 TypeScript)。 - `src/`: 包含源码。 - `README.md`: 描述文档。 - `CHANGELOG.md`: 变更记录日志。 - `LICENSE`: 许可证声明。 #### 创建第一个命令 通过实现简单的命令函数并将其注册到贡献点列表里,就可以让这个命令显示在命令面板上了。下面是一个基本的例子: ```typescript import * as vscode from 'vscode'; export function activate(context: vscode.ExtensionContext) { let disposable = vscode.commands.registerCommand('extension.sayHello', () => { vscode.window.showInformationMessage('Hello World!'); }); context.subscriptions.push(disposable); } export function deactivate() {} ``` 这段代码会在调用时弹出消息框说 “Hello World!” #### 调试支持 还可以通过编写自定义调试适配器来增强 IDE 对不同运行时的支持能力。这允许开发者连接外部进程或解释器,并提供完整的断点管理等功能。 #### API 文档资源链接 官方提供了详尽的 [API Reference](https://code.visualstudio.com/api/references/vscode-api),涵盖了几乎所有可用接口和服务的信息。对于想要深入了解某个具体模块的人来说非常有用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值