sublime text 右键菜单需分别编辑两个 json 文件:编辑区菜单改 packages/user/context.sublime-menu,侧边栏菜单改 packages/context.sublime-menu;二者路径、命名、编码、json 语法及 context 条件任一出错均静默失效。

Sublime Text 的右键菜单默认项不能“全局替换”或“一键修改默认行为”,必须通过编辑特定 JSON 配置文件来增删改项,且不同区域(编辑区 vs 侧边栏)对应不同文件路径,写错位置就完全不生效。
编辑 Packages/User/Context.sublime-menu 控制编辑区右键菜单
这个文件只影响你在代码编辑区、标签页、空编辑区右键时看到的菜单。它不会影响侧边栏或系统资源管理器右键。
- 用
Preferences → Browse Packages…打开用户Packages目录,进入User子文件夹 - 新建纯文本文件,严格命名为
Context.sublime-menu(注意大小写、无空格、无.txt后缀) - 保存为 UTF-8 编码,内容必须是合法 JSON 数组,例如:
[{"caption": "排序行", "command": "sort_lines"}, {"caption": "-"}, {"caption": "复制文件路径", "command": "copy_path"}] -
command值必须与命令面板中完全一致:比如copy_path要先装CopyFilePath插件;toggle_comment是内置命令,可直接用 - 没加
context字段的项会在所有编辑区右键都出现,容易干扰——如只想在有选中文本时显示“复制”,需加上:"context": [{"key": "selection", "operator": "not_equal", "operand": ""}]
编辑 Packages/Context.sublime-menu 控制侧边栏右键菜单
侧边栏(Sidebar)右键菜单和编辑区是两套独立系统,它读取的是 Packages/Context.sublime-menu(注意:不是 User 子目录下),放错路径就静默失效。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
- 进到
Packages根目录(不是User),新建Context.sublime-menu文件 - 侧边栏菜单项必须靠
context过滤才可靠,否则可能灰掉或点击无响应。例如只对文件夹生效:"context": [{"key": "selection", "operator": "equal", "operand": "folder"}] - 想让“在终端中打开”只出现在文件夹右键里,但又不想在文件上显示,就必须加这个
context;漏掉就等于白配 -
args中变量如$file_path不加引号,写成"path": "$file_path"才能被正确替换
Windows 系统资源管理器右键菜单要改注册表
这和 Sublime 内部菜单完全无关,是 Windows Shell 层面的配置,改错注册表路径(比如写成 HKEY_CURRENT_USER)会导致菜单根本不出现。
- 对文件夹空白处右键添加“用 Sublime 打开”,必须写入:
HKEY_CLASSES_ROOT\Directory\Background\shell - 对单个文件右键添加,必须写入:
HKEY_CLASSES_ROOT\*\shell -
command的默认值里,%V表示当前文件夹路径(用于空白处右键),%1表示选中文件路径(用于文件右键),混用会打开失败 - 想强制新窗口打开,得加
-n参数:"C:\Program Files\Sublime Text\sublime_text.exe" -n "%V" - 图标、显示文字(
MUIVerb)、Icon值都要单独设,缺一不可
最常被忽略的点是:编辑区和侧边栏菜单根本不是同一个文件控制,而很多人只改了 User/Context.sublime-menu 就以为全改完了——结果侧边栏右键依然没有“在终端中打开”之类的关键项。路径、文件名、编码、JSON 语法、context 条件、command 名拼写,五者只要一个出错,菜单就静默消失,且 Sublime 不报任何错误。










