答案:通过编辑Context.sublime-menu文件可自定义sublime text右键菜单,路径为Packages/User/Context.sublime-menu,使用jsON格式添加菜单项,如”在浏览器中打开”,支持分隔线与条件显示,保存后即时生效。

在 Sublime Text 中自定义鼠标右键菜单,可以通过编辑 Context.sublime-menu 文件实现。这个文件控制了你在编辑区点击右键时弹出的上下文菜单内容。你可以添加、删除或修改菜单项,让操作更符合个人习惯。
1. 找到 Context.sublime-menu 文件
Sublime Text 的右键菜单配置文件是 json 格式,名为 Context.sublime-menu。你需要将它放在正确的路径下才能生效:
- 打开 Sublime Text,点击顶部菜单栏的 Preferences → Browse Packages…
- 进入打开的目录,选择或创建一个项目专用或通用的文件夹(例如:User)
- 在 User 文件夹中创建或编辑文件:Context.sublime-menu
最终路径应为:你的用户目录appDataRoamingSublime Text 3PackagesUserContext.sublime-menu
(windows 路径示例,macOS 和 linux 类似,位于对应配置目录)
2. 编辑 Context.sublime-menu 文件
用 Sublime Text 打开该文件,输入合法的 JSON 格式数组,每个对象代表一个菜单项。基本结构如下:
[ { "command": "复制命令名", "caption": "显示的文字" }, { "command": "另一条命令", "caption": "另一个选项" } ]
例如,添加一个“在浏览器中打开”的菜单项:
[ { "command": "open_in_browser", "caption": "在浏览器中打开" }, { "command": "reindent", "args": {"single_line": false}, "caption": "重新缩进" } ]
你也可以插入分隔线:
{ "command": "-", "caption": "-" }
3. 查找可用命令名
要添加某个功能,必须知道它的命令名。可以通过以下方式获取:
- 打开命令面板(Ctrl+Shift+P),查看命令名称
- 查看官方文档或插件说明中的命令注册名
- 在 .sublime-command 文件或插件源码中查找
- 使用开发者工具:View → Show console,输入
sublime.log_commands(True),然后右键操作,观察控制台输出的命令名
4. 高级用法:条件显示与分组
你可以通过 context 字段控制菜单项的显示条件,比如只在选中文本时出现:
[ { "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Line.sublime-macro"}, "caption": "删除当前行", "context": [ { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true } ] } ]
常用 context 键包括:
-
selection_empty:是否无选中 -
setting.tab_size:当前设置值 -
synax:语法高亮类型 -
num_selections:选区数量
合理使用 context 可以避免菜单混乱。
基本上就这些。保存文件后无需重启,右键菜单会立即更新。如果没反应,检查 JSON 格式是否正确,可用在线工具验证。自定义右键菜单能提升效率,但别加太多,保持简洁才实用。