VSCode插件开发

2023-11-17

VSCode插件开发

创建项目

npm -g i yo generator-code
yo code
? What type of extension do you want to create? New Extension (TypeScript)
? What's the name of your extension? demo
? What's the identifier of your extension? demo
? What's the description of your extension?
? Initialize a git repository? No
? Bundle the source code with webpack? No
? Which package manager to use? npm

Extension.ts

import * as vscode from 'vscode';
export function activate(context: vscode.ExtensionContext) {
    console.log("插件已激活!");

    // 注册一个命令
    let disposable = vscode.commands.registerCommand('demo.sayHello', () => {
        setTimeout(() => {
            vscode.window.showInformationMessage('调用命令成功!');
        }, 2000);
    });

    context.subscriptions.push(disposable);
}
export function deactivate() {/* 插件被销毁前 */}

Package.json

// ...

"activationEvents": [
    "onCommand:demo.sayHello"
],
"main": "./out/extension.js",
"contributes": {
    "commands": [
        {
            "command": "demo.sayHello",
            "title": "hello"
        }
    ]
},

// ...

Contribution Points

用于注册一些信息。

比如"commands": [ {"command": "demo.sayHello", "title": "hello"} ]表示当按下Ctrl + Shift + P输入hello时调用demo.sayHello方法。

Activation Events

出于性能考虑,插件并不总是处于激活的状。activationEvents用于设置何时激活插件。"onCommand:demo.sayHello"表示当调用命令demo.sayHello时启用插件。

onCommand外,插件还有以下激活方式:

onLanguage
onCommand
onDebug
    onDebugInitialConfigurations
    onDebugResolve
workspaceContains
onFileSystem
onView
onUri
onWebviewPanel
onCustomEditor
*
onStartupFinished
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VSCode插件开发 的相关文章

随机推荐

  • React基础第一天-jsx

    React 基础 整体介绍 内容介绍 React 概述 JSX React 组件基础 React 介绍 目标 了解react的基本概念 是什么 React 官网 React 中文网 React 官网新版尝鲜 React 是用于构建用户界面的
  • 一起学nRF51xx 13 - twi & iic

    前言 在IIC总线是PHILIPS公司推出的一种串行总线 IIC总线有2根信号线SCK 时钟线 和SDA 数据线 NRF51822中所谓的TWI总线跟IIC总线兼容 这里统称为IIC总线 IIC总线规定了不同类型的从机拥有不同的IICADR
  • 分享一个关于单片机利用定时器去卡中断操作的方法

    首先 我们知道 比如我们要去实现灯的一秒一次的亮灭 一开始想到的办法肯定是加延时啦 大多数人想的肯定是 OPEN LED DELAY MS 1000 CLOSE LED DELAY MS 1000 这种方法肯定可行啦 但是有没考虑一个后果
  • 内容管理系统——后台登录

    在课上 我通过 Laravel框架开发实践 一书学习了有关PHP的知识和应用 也通过书本上的 内容管理系统 案例实践并应用了所学的知识 下面将对这一案例中的后台登录模块进行介绍 目录 前言 一 创建用户表 二 显示登录页面 1 登录表单 2
  • R语言处理Time series

    Time series Introduction Simple time series models ARIMA Validating a model Spectral Analysis Wavelets Digital Signal Pr
  • Java当中读取Json文件转换为Java对象

    这里我用的是一个hutool工具包 里面包含了很多丰富的util 并且还有中文的API
  • Qt对象树

    一 什么是对象树 Qt中的对象树就是Qt中对象间的父子关系 每一个对象都有它所有子对象的指针 都有一个指向其父 二 示例 1 创建一个MyPushButton对象 继承QPushButton 2 在mypushbutton cpp中对MyP
  • virtIO前后端notify机制详解

    本来这是在前端驱动后期分析的 但是这部分内容比较多 且分析了后端notify前端的机制 所以还是单独拿出一节分析比较好 还是拿网络驱动部分做案例 网络驱动部分有两个队列 忽略控制队列 接收队列和发送队列 每个队列都对应一个virtqueue
  • FFmpeg:UDP外网传输花屏严重问题完美解决

    1 前言 最近发现 UDP外网传输是 丢帧严重 我的环境是 视频流是济南移动 播放端是济南电信家庭宽带 由于视频流没有固定IP 所以我想了一个办法 让视频流网络穿透 直接点对点传输到我的播放端 但是发现我的播放端花屏严重 如下图 2 解决
  • 如何选择开源许可证?

    作者 阮一峰 日期 2011年5月 2日 如何为代码选择开源许可证 这是一个问题 世界上的开源许可证 大概有上百种 很少有人搞得清楚它们的区别 即使在最流行的六种 GPL BSD MIT Mozilla Apache和LGPL 之中做选择
  • R语言与金融数据分析 浙江工商学院 第一章:R简介 测试和作业

    本次作业数量为2题 作业互评时按每题50分 合计100分批改 统计成绩时系统会自动折算 要求在规定时间内完成并递交 采取同学互评的形式批改 请大家注意截止时间 按时完成 依照学术诚信条款 我保证此回答为本人原创 所有回答中引用的外部材料已经
  • 解决报错ImportError: IProgress not found. Please update jupyter and ipywidgets

    在终端 pip install ipywidgets 然后重启jupyter notebook即可
  • mysql 修改字符编码

    修改表的字符编码 查看 show create table ods goods alter table ods goods default character set utf8 修改字段的字符编码 alter table ods goods
  • 学MySQL的前置条件--会不断更新

    在MySQL软件中关于数据的操作无非就是CRUD C 插入数据记录操作 create R 查询数据记录操作 read U 更新数据记录操作 update D 删除数据操作记录 delete 所有的SQL语言中 学明白了CRUD加上实战几年
  • IDA+VirtulKD+VMware实现高速双机调试

    目录 前言 一 环境 二 配置步骤 1 配置VirtualKD 2 配置IDA 前言 我尝试只使用windbg作为调试器 但它界面不够友好 我又尝试使用IDA作为调试器 但是使用pipe传输速度太慢了 导致IDA卡的不行 单步特慢 前段时间
  • 在nginx中部署https服务,详细步骤

    目录 前言 一 https是什么 二 部署步骤 1 下载SSL证书 2 上传文件 3 解压文件 4 在nginx conf配置文件中 修改https服务 5 修改hosts文件 6 http跳转到https中 三 注意事项 前言 Web服务
  • 线程管理之Thread类相关方法简介

    CurrentThread 静态方法 currentThread 方法可返回代码段正在被那个线程调用的信息 简单案列 打印main 方法 正在被那个线程调用 package com zzg thread import com zzg obj
  • [工具使用]黑暗引擎FOFA

    黑暗引擎FOFA FOFA 点我进入 逻辑运算符 搜索子域名domain 搜索指定内容的host全部域名 body cert 搜索选定应用的网站 搜索指定开放端口的IP 搜索指定协议的IP 搜索IP或者网段的信息 搜索指定CSS JS网站
  • 物联网毕设选题 机器视觉口罩佩戴检测系统 - 单片机 stm32 嵌入式

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 设计原理 5 部分核心代码 6 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉
  • VSCode插件开发

    VSCode插件开发 文章目录 VSCode插件开发 创建项目 Extension ts Package json Contribution Points Activation Events 创建项目 npm g i yo generato