Skip to content
MiTu

MiTu

A Web developer who loves to Reading and photography

菜单配置

在 package.json 的 contributes 中添加:

json
"menus": {
    // 菜单位置
	"editor/context": [
		{
			// 菜单的条件
          	"when": "resourceLangId == json",
			// 点击菜单触发的命令
			"command": "yuvscode.webview",
			"group": "z_commands"
		}
      ]
}

菜单位置

  • 资源管理器上下文菜单: explorer/context
  • 编辑器上下文菜单: editor/context
  • 编辑标题菜单栏: editor/title
  • 编辑器标题上下文菜单: editor/title/context
  • 调试callstack视图上下文菜单: debug/callstack/context
  • SCM标题菜单:scm/title
  • SCM资源组菜单:scm/resourceGroup/context
  • SCM资源菜单:scm/resource/context
  • SCM更改标题菜单:scm/change/title
  • 左侧视图标题菜单:view/title
  • 视图项菜单:view/item/context
  • 控制命令是否显示在命令选项板中:commandPalette

菜单条件 when

多个条件可以通过与或非进行组合,例如:editorFocus && isWindows && resourceLangId == javascript

  • resourceLangId == javascript:当编辑的文件是js文件时
  • resourceFilename == test.js:当当前打开文件名是test.js时
  • isLinux、isMac、isWindows:判断当前操作系统
  • editorFocus:编辑器具有焦点时
  • editorHasSelection:编辑器中有文本被选中时
  • view == someViewId:当当前视图ID等于someViewId时

菜单分组

::: tips 控制菜单的分组和排序。不同的菜单拥有不同的默认分组。 :::

editor/context中的默认组:

  • navigation:放在这个组的永远排在最前面;
  • 1_modification:更改组;
  • 9_cutcopypaste:编辑组
  • z_commands:最后一个默认组,其中包含用于打开命令选项板的条目。

explorer/context中的默认组: navigation:放在这个组的永远排在最前面; 2_workspace:与工作空间操作相关的命令。 3_compare:与差异编辑器中的文件比较相关的命令。 4_search:与在搜索视图中搜索相关的命令。 5_cutcopypaste:与剪切,复制和粘贴文件相关的命令。 7_modification:与修改文件相关的命令。