必须通过Preferences → Browse Packages…打开目录,该路径才是唯一可信的Packages加载位置,不同系统及ST3/ST4版本路径各异,不可凭经验猜测或复制默认路径。

手动安装插件必须放进 Packages 目录,不是 Installed Packages,放错就等于没装——这是 90% 失效问题的根源。
怎么确认当前生效的 Packages 目录在哪?
别猜路径,也别复制网上搜来的默认路径。Windows/macOS/Linux/便携版/Snap 版的路径都可能不同,且 ST3 和 ST4 的目录名还不一样(比如 ST4 默认是 sublime-text,不是 sublime-text-4)。
- 在 Sublime 中按
Ctrl+` 调出控制台,输入import sublime; sublime.packages_path(),回车后直接看到真实路径 - 更简单:菜单栏
Preferences → Browse Packages…,点一下就打开文件管理器,这个窗口里的位置就是唯一可信的加载目录 - 如果打开的是空文件夹,说明你还没装过任何插件,但目录本身是有效的——直接往里放就行
下载的 GitHub ZIP 解压后怎么放才对?
GitHub 点 “Download ZIP” 得到的压缩包,解压后通常多出一层 plugin-name-main 或 plugin-name-master 文件夹。这层是 GitHub 自动生成的包装壳,Sublime 不会识别它里面的 .py 文件。
- 进到那层文件夹里,把真正含
__init__.py或主模块文件(如git_gutter.py)的子文件夹单独拎出来 - 重命名为干净名称,例如
GitGutter(首字母大写、无空格、无中文、无点号) - 整个文件夹拖进
Packages目录顶层,不能嵌套在其他子文件夹里 - 检查该文件夹内至少有一个
.py文件,且其中定义了继承自sublime_plugin.TextCommand或sublime_plugin.EventListener的类
为什么重启后插件还是不出现?
Sublime 不会在运行时扫描新增文件夹,而且后台进程常驻会导致旧代码残留。只关窗口或按 Ctrl+R 是不够的。
- macOS:右键 Dock 图标 → Quit(不是关窗口),再检查活动监视器里是否还有
subl进程 - Windows:任务管理器 → 结束所有
subl.exe进程(注意区分 ST3/ST4 的多个实例) - Linux:终端执行
pkill -f "subl"或先ps aux | grep subl再kill -9对应 PID - 重启后立刻按
Ctrl+Shift+P,输入插件名看命令是否出现;没反应就打开控制台(Ctrl+`),看有没有reloading plugin XXX failed或ImportError
离线更新插件和依赖怎么处理?
替换 ≠ 覆盖。Sublime 缓存模块导入状态,旧代码可能还在内存里;而且很多插件依赖额外模块(比如 sublime_lib),只换主插件文件夹没用。
- 必须先彻底退出 Sublime,再进
Packages目录,删掉整个旧插件文件夹(如ConvertToUTF8) - 再把新版本文件夹放进去,确保名字大小写完全一致(
PyV8不是pyv8) - 如果控制台报
ImportError: No module named 'xxx',说明缺依赖——得去对应仓库找requirements.txt或文档,手动下载依赖包,同样以文件夹形式放进Packages - ST4 已移除
PyV8,若必须用,只能降级到 ST3,或从 Gitee 镜像站下载对应系统的二进制包(如pyv8-win64-p3.zip),解压后把全部内容(含pyv8.pyd和__init__.py)塞进Packages/PyV8/
最常被忽略的一点:多版本共存(ST3 + ST4 同时装)时,Packages 目录完全隔离,手动安装前务必确认你打开的是哪个版本的 Browse Packages… ——点错一次,插件就永远不生效。


















