Context.sublime-menu文件必须放在Packages/User/目录下,Sublime仅识别此路径;放错位置(如Packages/Default/或插件目录)将静默失效,不报错也不显示。
Context.
sublime
-menu 文件必须放在 Packages/User/ 目录下
Sublime 的右键菜单只认
这一个路径——放错位置,比如
或插件目录里,菜单项就静默失效,不报错也不显示。
打开
,进
文件夹,新建或编辑文件:
。注意后缀必须是
(不是
),编码选 UTF-8。
Windows 路径示例:
macOS 路径示例:
Linux 路径示例:
command 名必须与插件注册名完全一致
写
却没装 CopyFilePath 插件?或者拼成
?菜单项直接不出现。命令名区分大小写,且必须已注册到命令面板中。
验证方式:按
(Windows/Linux)或
(macOS),输入关键词搜一下。如果搜不到
,说明插件没装、被禁用,或命令名记错了。
常见有效命令:
(内置)、
(Terminal 插件)、
(内置)
里用的变量如
是运行时替换的,不能加引号写成
,否则传的是字面字符串
加分割线用:
,不能省略
字段
用 context 控制菜单只在侧边栏或文件上出现
默认所有菜单项在编辑区、侧边栏、标签页右键都会显示。想让它只出现在侧边栏(比如“在终端中打开当前目录”),就得靠
数组过滤。
仿Sublime和notepad++编辑器效果
仿Sublime和notepad++编辑器效果
下载
是最可靠的判断依据:侧边栏点击时为
,编辑区为
,标签页为
。多个条件并列即“且”关系。
仅侧边栏显示:
仅在 Python 文件编辑区显示:
同时满足侧边栏 + 有文件被选中:
系统级右键(资源管理器)和 Sublime 内部右键是两套机制
你在 Windows 资源管理器里右键看到的“Open with Sublime Text”,和你在 Sublime 侧边栏里右键看到的菜单,完全无关。前者靠注册表控制,后者只由
驱动。
注册表关键点:
文件右键:改
,参数用
文件夹空白处右键:改
,参数用
可执行路径必须双引号包裹,反斜杠要双写:
缺
参数会导致新窗口不聚焦,旧窗口被复用
真正容易被忽略的,是
条件和变量作用域的耦合:比如用
却没限定
为
,在编辑区右键时这个变量就是空的,命令可能跳过执行但不提示——得自己查日志或观察行为才能定位。
Packages/User/Context.sublime-menuPackages/Default/Preferences > Browse Packages…UserContext.sublime-menu.sublime-menu.txt%APPDATA%Sublime TextPackagesUserContext.sublime-menu~/Library/Application Support/Sublime Text/Packages/User/Context.sublime-menu~/.config/sublime-text/Packages/User/Context.sublime-menu"command": "copy_path"copy_filepathCtrl+Shift+PCmd+Shift+Pcopy_pathsort_linesopen_in_terminalreveal_in_finder"args"$file_path"$file_path"{"caption": "-"}captioncontextnode_type"sidebar""text""tab""context": [{"key": "node_type", "operand": "sidebar"}]"context": [{"key": "selector", "operator": "equal", "operand": "source.python"}]"context": [{"key": "node_type", "operand": "sidebar"}, {"key": "selection_empty", "operator": "equal", "operand": false}]Context.sublime-menuHKEY_CLASSES_ROOT*shell%1HKEY_CLASSES_ROOTDirectoryBackgroundshell%V"C:\Program Files\Sublime Text\sublime_text.exe" -n "%V"-ncontext$file_pathnode_typesidebar