sublime插件必须按格式严格分放:.sublime-package文件放入installed packages/目录,github zip解压后的插件文件夹重命名(去-master等后缀、首字母大写、无特殊字符)后整体放入packages/根目录;路径错误、ignored_packages屏蔽或依赖缺失(如pyv8)均会导致静默失效。

Sublime 插件该往哪个目录放?
插件文件夹必须放进 Packages/ 目录,.sublime-package 文件必须放进 Installed Packages/ 目录——这两个目录不能混,Sublime 不会跨目录扫描。放错位置,插件就等于没装,控制台也不会报错,只会静默跳过。
别猜路径,也别复制网上搜来的默认路径。最可靠方式是:菜单栏 Preferences → Browse Packages…,点一下就打开当前真实 Packages/ 目录。它的上一级目录里那个叫 Installed Packages/ 的文件夹,才是放 .sublime-package 的地方。
验证路径是否正确,可按 Ctrl+` 调出控制台,输入:
import sublime; sublime.packages_path()
和
import sublime; sublime.installed_packages_path()
回车后直接看到绝对路径,一眼确认。
GitHub 下载的 ZIP 怎么解压才有效?
GitHub 点 “Download ZIP” 得到的压缩包,解压后通常多出一层 plugin-name-main 或 plugin-name-master。这层是 GitHub 自动生成的包装壳,不是插件本体——Sublime 加载时找不到入口 .py 文件,控制台会报 reloading plugin XXX failed 或完全没反应。
- 进到那层冗余文件夹里,把真正含
__init__.py或主模块(如git_gutter.py)的子文件夹单独拎出来 - 重命名为规范名称:首字母大写、无空格、无中文、无点号、无
-master后缀(例如把Emmet-master改成Emmet) - 整个文件夹拖进
Packages/顶层,不能嵌套在User/、Default/或其他子目录下 - 检查该文件夹内至少有一个
.py文件,且其中定义了继承自sublime_plugin.TextCommand或sublime_plugin.EventListener的类
插件放对了却没反应?先查 ignored_packages
命令面板搜不到、快捷键不触发、菜单不出现——大概率不是没装上,而是被 Sublime 主动屏蔽了。
打开 Preferences → Settings,看右侧用户配置里有没有 "ignored_packages" 字段。常见值如 ["Vintage", "Anaconda"],如果你刚放进去的插件叫 Origami,而它也在这个列表里,就会被静默忽略。
删掉对应项,或整行注释掉,保存后必须彻底退出 Sublime(Windows/macOS/Linux 都要关掉所有窗口进程),再重启才生效。
离线安装依赖模块(比如 PyV8)怎么办?
装 Emmet、CSScomb 等老插件时控制台反复报 ImportError: No module named 'PyV8',这不是网络问题,是二进制依赖缺失。
PyV8 官方源已归档,Package Control 拿不到下载地址,必须手动补全:
- 去 Gitee 镜像站找对应系统的包(如
pyv8-win64-p3.zip) - 解压后,把所有内容(含
__init__.py和pyv8.pyd/pyv8.so)直接塞进Packages/PyV8/文件夹 - 注意:文件夹名必须是
PyV8(首字母大写),不能小写,也不能叫pyv8或Pyv8
最容易被忽略的是命名大小写和路径层级——Sublime 不会提示“名字错了”,它只是沉默地跳过加载;ignored_packages 列表也从不报错,只让插件彻底消失。动手前多看一眼 sublime.version(),ST4 对模块校验更严格,旧版 Package Control.sublime-package 可能根本加载不了。











