sidebarenhancements必须通过package control安装,手动放入插件目录几乎必然失败;右键菜单不生效主因是项目未绑定、路径无写入权限或context条件错误。

SideBarEnhancements 必须通过 Package Control 安装,手动拖入插件目录 99% 失败;右键菜单不生效不是插件问题,而是项目未绑定、路径无写入权限、或 context 条件没写对。
SideBarEnhancements 必须用 Package Control 安装
手动解压 ZIP 到 Packages/ 目录几乎必然失效:Sublime Text 4 要求插件签名与结构校验,Package Control 才能正确处理依赖和激活逻辑。Windows/macOS/Linux 路径差异、用户权限、文件编码都会让手动安装静默失败。
- 按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入Package Control: Install Package回车 - 等待状态栏显示 “Loading packages…” 完成后,再输入
SideBarEnhancements(注意大小写和无空格) - 安装成功后右键侧边栏会立刻出现
New File、Copy Path等项,无需重启 - 若命令面板搜不到
Package Control: Install Package,说明 Package Control 本身未安装,需先修复它
右键菜单不显示?检查这三件事
插件装完却看不到新菜单项,90% 是上下文缺失,不是配置错误。
- 必须通过
Project → Add Folder to Project…显式添加文件夹——拖进窗口、File → Open Folder都不算“项目”,插件不会响应 - 检查
Preferences → Settings – User中是否含"ignored_packages": ["SideBarEnhancements"],有就整行删掉 - 右键目标必须是侧边栏里的文件夹节点(哪怕只是项目根目录),对单个已打开的文件或空白处右键无效
- Windows 用户避免把项目放在
C:\Program Files\或受控路径下,系统会静默拒绝写入,开发目录建议放C:\Users\YourName\dev\
Packages/Context.sublime-menu 是唯一生效路径
侧边栏右键菜单和编辑区右键菜单完全独立,路径、编码、context 条件全错不得。放错位置等于没配,控制台也不报错。
- 文件必须建在
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(C 大写,无空格,无 .txt 后缀),编码必须为 UTF-8 无 BOM - 菜单项必须加
context过滤,否则要么不显示,要么乱弹:
—{"key": "node_type", "operand": "sidebar"}(限定侧边栏)
—{"key": "is_folder", "operator": "equal", "operand": true}(只对文件夹生效)
—{"key": "selection_empty", "operator": "equal", "operand": false}(排除空白点击)
想新建带模板的文件?别改插件源码
SideBarEnhancements 默认的 side_bar_new_file 命令只建空白文件,不读配置、不支持变量。改插件目录下的 Python 文件会被升级覆盖,且易破坏依赖。
- 真正可维护的方式是新建
Packages/User/new_file_with_template.py,继承sublime_plugin.WindowCommand - 命令里调用
self.window.new_file()创建视图后,用v.run_command("insert", {"characters": "..."})注入内容,别直接v.insert() - 模板可按扩展名分流:
if ext == ".py": content = "#!/usr/bin/env python3\n\n" - 菜单项中
command字段必须写你自定义的命令 ID(如new_file_with_template),args里变量如$file_path不加引号,否则传的是字面字符串
最常被忽略的是:侧边栏菜单的 context 条件必须全部满足才触发,少一个就静默失效;而 Packages/Context.sublime-menu 这个路径,连斜杠方向、大小写、BOM 都不能错——它不像代码能报错,错就是“没反应”。











