菜单
版本
Sublime Text 中的菜单由以 .sublime-menu 结尾的文件定义。菜单使用 JSON 格式,顶层结构是一个数组。每个绑定都是一个 JSON 对象,其中包含定义菜单项文本及其应执行的操作的信息。
示例🔗
以下是 .sublime-menu 文件格式的示例。
[
{
"caption": "File",
"mnemonic": "F",
"id": "file",
"children":
[
{ "command": "new_file", "caption": "New File", "mnemonic": "N" },
{ "command": "prompt_open_file", "caption": "Open File…", "mnemonic": "O", "platform": "!OSX" },
{ "command": "prompt_open_folder", "caption": "Open Folder…", "platform": "!OSX" },
{ "command": "prompt_open", "caption": "Open…", "platform": "OSX" }
]
}
]
条目🔗
每个菜单条目都是一个包含一个或多个键的 JSON 对象。支持的键列表包括:
菜单项的文本。
- "mnemonic"🔗
用作激活条目的按键的字符。仅适用于 Windows 和 Linux。必须与
"caption"
中字符的大小写匹配。
- "command"🔗
激活条目时要执行的命令字符串。
- "args"🔗
要发送到命令的参数的 JSON 对象。
- "children"🔗
用于创建子菜单的条目 JSON 数组。
- "id"🔗
菜单条目的唯一字符串。用于具有
"children"
的菜单条目,以允许添加其他子条目。
- "platform"🔗
以下字符串之一:
"OSX"
、"!OSX"
、"Windows"
、"!Windows"
、"Linux"
或"!Linux"
。控制条目显示在哪些平台上。每个菜单条目至少需要一个键,非功能条目需要
"caption"
键,执行操作的条目需要"command"
键。
可用菜单🔗
Sublime Text 有七个可以自定义的菜单:
- Main.sublime-menu
应用程序的主菜单。
- 侧边栏 挂载点.sublime-menu
侧边栏中顶级文件夹的上下文菜单。
- 侧边栏.sublime-menu
侧边栏中文件和文件夹的上下文菜单。具有“神奇”参数,用于将文件和文件夹名称传递给命令。
包含参数
"files": []
的条目将对文件启用,并将通过参数files
将文件名传递给命令。包含参数"dirs": []
的条目将对文件夹启用,并将通过参数dirs
将文件名传递给命令。包含参数"paths": []
的条目将对文件和文件夹启用,并将通过参数paths
将文件和文件夹名称传递给命令。
- 选项卡 Context.sublime-menu
文件选项卡的上下文菜单
- Context.sublime-menu
文本区域的上下文菜单
- 在文件中查找 Find in Files.sublime-menu
在“在文件中查找”面板中单击
...
按钮时显示的菜单
- 控件 Context.sublime-menu
各种面板中文本输入的上下文菜单。*技术上,可以通过 Widget.sublime-settings 中的
context_menu
设置更改此文件名。*
添加到子菜单🔗
使用条目的 "id"
键,可以将条目添加到子菜单。添加子菜单条目时,仅指定父条目的 "id"
和 "children"
键,并将 "children"
的值设置为要追加到子菜单的条目数组。
例如,要将新布局添加到 视图 布局 菜单,请创建如下条目
[
{
"id": "layout",
"children":
[
{
"caption": "Grid: 9",
"command": "set_layout",
"args":
{
"cols": [0.0, 0.33, 0.66, 1.0],
"rows": [0.0, 0.33, 0.66, 1.0],
"cells":
[
[0, 0, 1, 1], [1, 0, 2, 1], [2, 0, 3, 1],
[0, 1, 1, 2], [1, 1, 2, 2], [2, 1, 3, 2],
[0, 2, 1, 3], [1, 2, 2, 3], [2, 2, 3, 3]
]
}
},
]
}
]
要查找 Main.sublime-menu 中条目的 "id"
,请使用命令面板中的 查看 软件包 文件
命令,然后选择 默认/Main.sublime-menu
。
自定义🔗
用户可以通过在其 Packages/User/ 目录中创建适当命名的文件来自定义可用菜单。
例如,要自定义侧边栏中文件和文件夹的上下文菜单,请创建一个名为 Packages/User/Side Bar.sublime-menu 的文件。添加以下内容将创建一个条目,该条目将执行一个(假设的)命令,该命令会将路径复制到剪贴板。
[
{
"caption": "Copy Full Path",
"mnemonic": "y",
"command": "copy_path",
"args": {"paths": []}
}
]