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插件开发(一)-工程搭建、命令运行及调试中认识了如何通过ctrl+shift+p 调用扩展命令;本节介绍如何通过添加右键菜单,执行扩展命令;

1 添加右键菜单

1.1 资源管理器上下文菜单 - explorer/context

打开extension.ts,在activate函数中添加如下命令:

	context.subscriptions.push(
		vscode.commands.registerCommand("GeoJsonViewer.askQuestion", async () => {
			let answer = await vscode.window.showInformationMessage("How was your day ?", "good", "bad",)
			if (answer === "bad") {
				vscode.window.showInformationMessage("sorry to hear it")
			} else {
				console.log({ answer })
			}
		})
	)

?打开package.json 配置右键菜单

	"contributes": {
		"commands": [
			{
				"command": "GeoJsonViewer.helloWorld",
				"title": "Hello World"
			},
			{
				"command": "GeoJsonViewer.askQuestion",
				"title": "Ask Question"
			}
		],
		"menus": {
			"explorer/context": [
				{
				"command": "GeoJsonViewer.askQuestion",	
				"group": "group1"
				}
			]
  		}
	},

?如上,在contributes添加一个新的对象"menu";"explorer/context"表示资源管理器上下文;

command是要调用的命令;group属性是分组,即我们右键资源管理器后,分割线即代表不同组;

运行F5测试一下;扩展开发宿主窗口打开后,直接右击左侧的资源管理树,右键文件夹或者文件都可以;如图可以看到我们的扩展命令;

右键Ask Question;

?1.2?编辑器上下文菜单 -?editor/context

?打开extension.ts,在activate函数中添加如下命令:

	let disposable = vscode.commands.registerCommand('GeoJsonViewer.helloWorld', () => {
		let msg="Hello VS Code"
		vscode.window.showInformationMessage(msg);
	});
	context.subscriptions.push(disposable);

打开package.json ;增加编辑器右键菜单 helloWorld命令

		"menus": {
			"editor/context": [
				{
					"command": "GeoJsonViewer.helloWorld", 
					"group": "group1" 
				}
			],

			"explorer/context": [
				{
				"command": "GeoJsonViewer.askQuestion",	
				"group": "group1"
				}
			]
  		}

F5测试一下;随便打开一个文件,然后在文件中右键;可以看到出现了我们添加的命令,点击Hello World;

?测试结果;

?2 when 参数配置

上面介绍了,只要右键就显示我们扩展命令的入口;通过when属性,可以设置对那些文件或者在满足条件下再显示扩展命令;

2.1 过滤文件类型(resourceLangId == javascript)

"editor/context": [
	{
		"when": "resourceLangId == javascript", 
		"command": "GeoJsonViewer.helloWorld", 
		"group": "group1" 
	}
],

如上只有打开js文件,右键编辑器才会出现helloworld命令;其他文件右键则不会出现该命令;

?2.2 选中文本(editorHasSelection)

有选中文本,并且是js文件再显示命令

?至于when命令有很多,就不做一一介绍;大概有以下几种;可以去官网查看Visual Studio Code Key Bindingshttps://code.visualstudio.com/docs/getstarted/keybindings

 "when": "explorerResourceIsFolder"
  开发工具 最新文章
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-02-26 11:50:46  更:2022-02-26 11:53:32 
 
开发: 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年11日历 -2024/11/26 6:45:49-

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