跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

Sublime如何设置鼠标右键自定义?Sublime Context Menu配置方法

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

相关文章