插件文件必须按格式放对目录:.sublime-package文件放入installed packages/,解压后的插件文件夹放入packages/根目录;二者路径严格区分,混放或错位将导致插件不加载。

插件文件该扔进 Packages 还是 Installed Packages?
Sublime 对这两个目录有硬性分工,放错位置就等于没装。
.sublime-package 文件(比如 Emmet.sublime-package)必须直接丢进 Installed Packages/ 目录,不解压、不改名、不嵌套子文件夹。
GitHub 下载的 ZIP 解压后得到的文件夹(比如 Emmet-master/)必须整体复制进 Packages/ 根目录,且文件夹名要和插件官方名完全一致——删掉 -master 或 -main 后缀,大小写一个字母都不能错。
用 Preferences → Browse Packages… 打开的路径就是 Packages/;它的上一级目录里的 Installed Packages/ 才是另一个位置。
不确定路径?在控制台运行 print(sublime.packages_path()) 和 print(sublime.installed_packages_path()) 查真实路径。
怎么确认插件包文件名和结构对得上?
插件名不是“看着像就行”,Sublime 加载时会逐字比对。
Emmet 和 emmet 是两个不同插件(macOS/Linux 区分大小写);ConvertToUTF8-main 放进去不会加载,必须重命名为 ConvertToUTF8;Origami-dev 要改成 Origami。
.sublime-package 文件名通常就是插件名:GitGutter.sublime-package → 插件名是 GitGutter;ConvertToUTF8-2.4.0.sublime-package → 实际名仍是 ConvertToUTF8(去掉版本号和连字符,保留驼峰)。
别手动解压 .sublime-package 文件——它本质是 ZIP,但 Sublime 只认原文件,解压后反而失效。
从 GitHub 下载 ZIP 后,别把里面某个 .py 文件单独拖进去,必须整个文件夹扔进 Packages/。
拷贝完插件却没反应?先查 ignored_packages
命令面板搜不到、快捷键不触发、菜单不出现,八成不是没装上,而是被 Sublime 主动忽略了。
打开 Preferences → Settings,看右侧用户配置里有没有 "ignored_packages" 字段;常见值如 ["Vintage", "Anaconda"],如果你刚放进去的插件叫 "BracketHighlighter",而它也在这个列表里,就会被静默屏蔽。
删掉对应项,或整行注释掉,保存后必须彻底退出再重开 Sublime 才生效——仅关闭窗口或 Cmd+Q(macOS)可能残留后台进程。
有些插件只在特定语法下触发:比如 Vue Syntax Highlight 只响应 .vue 文件或 text.html.vue 作用域;打开纯 .html 文件时完全静默,这不是失败,是设计如此。
离线拷贝最常漏掉的三个地方
Package Control 本身也得手动拷:清空 Installed Packages/ 下所有含 Package Control 字样的文件,再放入官网镜像下载的 Package Control.sublime-package(大小应在 180–220 KB;小于 100 KB 说明下载不完整)。
别只复制 Data\Packages\User:它只含你的设置,不含插件代码(Data\Packages\Emmet)、压缩包缓存(Data\Installed Packages\Package Control.sublime-package)、或语言语法定义(Data\Packages\JavaScript)。
便携版迁移时,必须验证 Preferences → Browse Packages… 弹出路径是否以 Data\Packages 结尾;如果指向 %APPDATA% 或 ~/Library/Application Support,说明便携模式根本没触发——Data 文件夹不在 sublime_text.exe 同级目录,或名字拼错(data 或 DATA 都不行,必须是 Data)。
真正麻烦的从来不是“怎么拷”,而是“拷完之后 Sublime 看不见”——它不会报错,只是沉默跳过;ignored_packages 不提示,locale 写错大小写也不警告,路径差一级就全白干。动手前多看一眼 sublime.version(),ST4 对校验更严,旧包可能直接不加载。
Emmet 和 emmet 是两个不同插件(macOS/Linux 区分大小写);ConvertToUTF8-main 放进去不会加载,必须重命名为 ConvertToUTF8;Origami-dev 要改成 Origami。
.sublime-package 文件名通常就是插件名:GitGutter.sublime-package → 插件名是 GitGutter;ConvertToUTF8-2.4.0.sublime-package → 实际名仍是 ConvertToUTF8(去掉版本号和连字符,保留驼峰)。
别手动解压 .sublime-package 文件——它本质是 ZIP,但 Sublime 只认原文件,解压后反而失效。
从 GitHub 下载 ZIP 后,别把里面某个 .py 文件单独拖进去,必须整个文件夹扔进 Packages/。
拷贝完插件却没反应?先查 ignored_packages
命令面板搜不到、快捷键不触发、菜单不出现,八成不是没装上,而是被 Sublime 主动忽略了。
打开 Preferences → Settings,看右侧用户配置里有没有 "ignored_packages" 字段;常见值如 ["Vintage", "Anaconda"],如果你刚放进去的插件叫 "BracketHighlighter",而它也在这个列表里,就会被静默屏蔽。
删掉对应项,或整行注释掉,保存后必须彻底退出再重开 Sublime 才生效——仅关闭窗口或 Cmd+Q(macOS)可能残留后台进程。
有些插件只在特定语法下触发:比如 Vue Syntax Highlight 只响应 .vue 文件或 text.html.vue 作用域;打开纯 .html 文件时完全静默,这不是失败,是设计如此。
离线拷贝最常漏掉的三个地方
Package Control 本身也得手动拷:清空 Installed Packages/ 下所有含 Package Control 字样的文件,再放入官网镜像下载的 Package Control.sublime-package(大小应在 180–220 KB;小于 100 KB 说明下载不完整)。
别只复制 Data\Packages\User:它只含你的设置,不含插件代码(Data\Packages\Emmet)、压缩包缓存(Data\Installed Packages\Package Control.sublime-package)、或语言语法定义(Data\Packages\JavaScript)。
便携版迁移时,必须验证 Preferences → Browse Packages… 弹出路径是否以 Data\Packages 结尾;如果指向 %APPDATA% 或 ~/Library/Application Support,说明便携模式根本没触发——Data 文件夹不在 sublime_text.exe 同级目录,或名字拼错(data 或 DATA 都不行,必须是 Data)。
真正麻烦的从来不是“怎么拷”,而是“拷完之后 Sublime 看不见”——它不会报错,只是沉默跳过;ignored_packages 不提示,locale 写错大小写也不警告,路径差一级就全白干。动手前多看一眼 sublime.version(),ST4 对校验更严,旧包可能直接不加载。
Package Control 本身也得手动拷:清空 Installed Packages/ 下所有含 Package Control 字样的文件,再放入官网镜像下载的 Package Control.sublime-package(大小应在 180–220 KB;小于 100 KB 说明下载不完整)。
别只复制 Data\Packages\User:它只含你的设置,不含插件代码(Data\Packages\Emmet)、压缩包缓存(Data\Installed Packages\Package Control.sublime-package)、或语言语法定义(Data\Packages\JavaScript)。
便携版迁移时,必须验证 Preferences → Browse Packages… 弹出路径是否以 Data\Packages 结尾;如果指向 %APPDATA% 或 ~/Library/Application Support,说明便携模式根本没触发——Data 文件夹不在 sublime_text.exe 同级目录,或名字拼错(data 或 DATA 都不行,必须是 Data)。
真正麻烦的从来不是“怎么拷”,而是“拷完之后 Sublime 看不见”——它不会报错,只是沉默跳过;ignored_packages 不提示,locale 写错大小写也不警告,路径差一级就全白干。动手前多看一眼 sublime.version(),ST4 对校验更严,旧包可能直接不加载。











