必须安装terminal插件才能使用“在终端中打开”功能,因其注册的open_in_terminal命令是唯一有效命令;需将菜单项正确写入packages/context.sublime-menu文件,确保command为open_in_terminal、args中path用$file_path或$folder且不加引号,并添加node_type context过滤。

Sublime Text侧边栏右键加“在终端中打开”必须装Terminal插件
不装插件,open_in_terminal 命令根本不存在,写进菜单也纯属摆设——点了没反应,控制台不报错,菜单项直接静默消失。
Terminal 是最轻量、兼容性最好的选择(2026年仍稳定维护),安装方式:按 Ctrl+Shift+P → 输入 Package Control: Install Package → 搜 Terminal → 回车。装完不用重启,命令立即注册到命令面板。
- 验证是否生效:再按
Ctrl+Shift+P,输入open_in_terminal,能搜到就说明可用 - 别用 Terminus 替代——它提供的是
terminus_open,不是open_in_terminal,名字不对菜单就不显示 - 插件被禁用也会导致命令不可见:Preferences → Package Settings → Terminal → 确保没勾选 “Disable Package”
Packages/Context.sublime-menu 路径不能错
侧边栏右键菜单只读 Packages/Context.sublime-menu,不是 Packages/User/Context.sublime-menu——后者只管编辑区、标签页、文本选中时的右键。
- 正确路径(Windows):
%APPDATA%\Sublime Text\Packages\Context.sublime-menu - 正确路径(macOS):
~/Library/Application Support/Sublime Text/Packages/Context.sublime-menu - 文件名必须严格为
Context.sublime-menu(大小写敏感、无空格、无 .txt 或 .json 后缀) - 保存编码必须是 UTF-8 无 BOM,否则中文 caption 乱码或整个文件加载失败
command 和 args 必须写对,变量不加引号
Terminal 插件注册的命令 ID 是 open_in_terminal,不是 open_terminal、open_in_terminal_file_folder 或其他变体;参数 path 的值要用 $file_path 或 $folder,且不能加引号。
[{"caption": "Open in Terminal", "command": "open_in_terminal", "args": {"path": "$file_path"}}]
-
$file_path在侧边栏点击文件时有效;$folder在点击文件夹时有效 - 如果想同时支持文件和文件夹,得写两个独立项,或用
"path": "$file_path"+ context 过滤 node_type - context 必须加,否则菜单可能在编辑区意外弹出:
{"key": "node_type", "operand": "file"}表示只对文件节点生效 - 漏掉 context 或写错 key 名(比如写成
type或node),菜单项会彻底不显示
常见失效点:%V 和 %1 不是这里的事
别把系统右键那一套(%V、%1、注册表路径)和 Sublime 侧边栏菜单混在一起——它们毫无关系。侧边栏菜单不涉及 Windows 注册表,也不解析 %V 这类 Shell 参数。
真正容易被忽略的是:Terminal 插件默认只响应侧边栏「文件节点」点击,对「空白处右键」或「文件夹节点」不生效,除非你显式传入 $folder 并配好 context。而多数人只测试了点文件,没试点文件夹,就以为功能坏了。











