插件源码在本地Packages目录中,如Windows为%APPDATA%\Sublime Text\Packages\,macOS为~/Library/Application Support/Sublime Text/Packages/,Linux为~/.config/sublime-text/Packages/;进入对应插件名文件夹后查找.py文件(如main.py、plugin.py)即为源码主体,而非GitHub远程仓库。

插件源码在哪?别去 GitHub 盲搜
Sublime Text 的插件本质是 Python 文件,就放在你本地的 Packages 目录里,不是远程仓库。直接改 GitHub 上的代码没用,运行时加载的是本地副本。
正确路径:
- Windows:
%APPDATA%\Sublime Text\Packages\ - macOS:
~/Library/Application Support/Sublime Text/Packages/ - Linux:
~/.config/sublime-text/Packages/
进这个目录后,你会看到一堆文件夹,比如 SideBarEnhancements、EditorConfig、SublimeLinter——这些就是插件名,点进去找 .py 文件(如 main.py、plugin.py 或同名文件)就是源码主体。
注意:Packages/Default/ 里的东西是 Sublime 自带功能,不是第三方插件;Packages/User/ 里只有你的配置,没有源码。
怎么改插件默认参数?别碰源码文件
插件作者通常会把可调参数写在 Packages/User/插件名.sublime-settings 里,这是唯一推荐的修改方式。直接改 .py 源码不仅下次更新就丢,还可能因语法或逻辑变更导致插件崩溃。
操作步骤:
- 菜单栏 → Preferences → Package Settings → [插件名] → Settings,会自动打开左右两栏:左侧是插件自带的默认配置(只读),右侧是你的用户配置(可编辑)
- 在右侧 JSON 中添加你要覆盖的键值,比如想关掉
SublimeLinter的保存即校验:"lint_mode": "background"改成"lint_mode": "manual" - 保存后立即生效,无需重启
常见陷阱:
- 文件名必须严格匹配插件名,大小写、中划线都不能错(
SideBarEnhancements.sublime-settings≠sidebarenhancements.sublime-settings) - 如果插件没提供 Settings 菜单项(比如某些轻量插件),说明它不支持用户配置,硬加
.sublime-settings文件也无效 - 部分插件(如
EditorConfig)会动态覆盖你的设置——先关掉它再试
改完不生效?先确认插件是否真在运行
很多“改了没反应”的问题,根源是插件根本没加载成功。Sublime 启动时遇到语法错误的 Python 插件会静默跳过,不会报错也不会提示。
排查方法:
- 按
Ctrl+Shift+P(Windows/macOS)或Cmd+Shift+P(macOS),输入Package Control: List Packages,看插件名是否在列表中 - 打开
Console(Ctrl+`),启动时如果有类似ImportError或SyntaxError的红字,基本就是源码被你改崩了 - 运行
subl --safe-mode启动,如果这时插件功能恢复,说明是其他插件冲突或你的用户配置干扰了它
特别注意:Package Control.sublime-settings 控制插件安装行为,但它不决定插件是否启用——插件启停靠的是 Preferences → Package Control → Enable Package。
想调试插件逻辑?Console 是唯一入口
Sublime 没有断点调试器,但所有 print() 输出都会进 Console(Ctrl+`)。在插件源码里加 print("here", view.file_name()) 是最直接的验证手段。
但要注意:
- Python 3 的
print()必须带括号,写成print "here"会直接让插件加载失败 - 不要在
on_load等高频触发函数里狂打日志,容易卡死 UI - Console 日志不会自动清空,旧输出会堆积,每次调试前手动清一下更清晰(右键 → Clear
真正难的从来不是找到哪行代码,而是搞清哪个对象在什么时候、以什么方式被传进来——view、edit、region 这些变量的生命周期和作用域,得靠反复打日志 + 查官方 API 文档才能理顺。

















