menu
菜单配置
在 package.json 的 contributes 中添加:
json
"menus": {
// 菜单位置
"editor/context": [
{
// 菜单的条件
"when": "resourceLangId == json",
// 点击菜单触发的命令
"command": "yuvscode.webview",
"group": "z_commands"
}
]
}1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
菜单位置
- 资源管理器上下文菜单: 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:与修改文件相关的命令。