包
包是资源的容器。
包位置(和缩写)
有三个位置用于存储不同用途的包。
包可以是
Data/Packages
(简写:Packages
)下的 **文件夹**或者
Data/Installed Packages
(简写:Installed Packages
)或其任何子目录下的 **zip 压缩文件**,扩展名为.sublime-package
。此外,Sublime Text 在
Application/Packages
(简写:Shipped Packages
)中提供了一组默认包作为 **zip 压缩文件**,其中 Application 指的是 Sublime Text 可执行文件所在的文件夹。此文件夹不应由用户修改。
注意
为简单起见,我们有时会将所有这些目录简单地称为 Packages
,并将任何文件夹中的包(.sublime-package
或非 .sublime-package
)称为 Packages/PackageName
。因此,包内的文件也可以称为 PackageName/a_file.extension
。
.sublime-package
包
作为 .sublime-package
zip 压缩文件分发的包应被视为只读的资源容器,切勿手动修改。由于它们通常作为一个整体进行更新,因此对它们进行的任何手动更改都将在更新过程中丢失。
如果您确实想修改这些压缩文件中的文件,请参阅 overriding-packages
。
具有相同名称的包之间的交互
如果 Installed Packages
和 Shipped Packages
中都存在两个具有相同名称的包,则将使用 Installed Packages
中的包,而 Shipped Packages
中的包将被忽略。
Packages/PackageName
中的任何文件优先于 Installed Packages/PackageName.sublime-package
或 Shipped Packages/PackageName.sublime-package
中的同名文件。
另请参阅 overriding-packages
。
包内容
包中常见的资源包括
- 构建系统 (
.sublime-build
) - 配色方案 (
.sublime-color-scheme
,.tmTheme
) - 键映射 (
.sublime-keymap
) - 宏 (
.sublime-macro
) - 菜单 (
.sublime-menu
) - 元数据 (
.tmPreferences
) - 鼠标映射 (
.sublime-mousemap
) - 插件 (
.py
) - 设置 (
.sublime-settings
) - 代码片段 (
.sublime-snippet
) - 语法定义 (
.sublime-syntax
,.tmLanguage
) - 主题 (
.sublime-theme
)
某些包可能包含其他包或核心功能的支持文件。例如,拼写检查器使用 Installed Packages/Language - English.sublime-package
作为英语词典的数据存储。
包类型
在本指南中,我们对包进行分类以在讨论此主题时保持清晰,但 Sublime Text 不使用此术语,您无需学习它。
已发布的软件包 或 默认软件包:Sublime Text 附带的一组软件包。其中一些软件包是核心软件包,而另一些则增强了 Sublime Text,以便开箱即用地支持常见的编程语言。
示例:默认、Python、Java、C++、Markdown。
位于 Shipped Packages
中。
核心软件包:Sublime Text 需要这些软件包才能正常运行。
完整列表:默认、主题 - 默认、配色方案 - 默认、文本、语言 - 英语。
它们是已发布的软件包的一部分,位于 Shipped Packages
中。
用户软件包:由用户安装或创建以扩展 Sublime Text 的功能。它们不是 Sublime Text 的一部分,并且始终由用户或第三方贡献。
示例:用户。
位于 Packages
和 Installed Packages
中。
已安装的软件包:用户软件包 的一种子类型。
已安装的软件包是 .sublime-package
存档,通常由包管理器维护。
位于 Installed Packages
中。
注意
由于此文件夹的名称不太好,因此在 Sublime Text 中谈论安装软件包会让人感到困惑。
有时,在本指南中,安装是指“将用户/第三方软件包添加到 Sublime Text”(以任何形式),有时我们使用该术语的更严格含义,即“将 .sublime-package
存档复制到 Installed Packages
”。
覆盖软件包:用户软件包 的一种特殊类型。
覆盖软件包用于自定义作为 .sublime-package
文件分发的软件包。它们实际上被注入到原始软件包中,并且不独立存在。
有关详细信息,请参阅 自定义或覆盖软件包。
位于 Packages
中。
请注意,第三方 也指其他编辑器(尤其是 Textmate)的用户,因为 Sublime Text 和 Textmate 共享一些类型的资源文件,这些文件可以在不修改的情况下重复使用。
管理软件包
安装软件包
软件包可以通过两种主要方式安装
- 将 Sublime Text 资源复制到
Packages
下的文件夹中,或者 - 将
.sublime-package
文件复制到Installed Packages
中。
禁用软件包
要临时禁用软件包,您可以将它们添加到 Packages/User/Preferences.sublime-settings
文件中的 ignored_packages
列表中。保存设置文件后,软件包将根据需要加载或卸载。
启用软件包
要重新启用软件包,请从 Packages/User/Preferences.sublime-settings
文件中的 ignored_packages
列表中删除软件包的名称。
删除软件包
如果您使用包管理器安装了软件包,请使用包管理器提供的 method 删除它。
如果您手动安装了软件包,请按照以下步骤安全删除软件包
- 在 Sublime Text 运行时 禁用 该软件包。
- 关闭 Sublime Text。
- 从磁盘中删除软件包的资源。
- 从
ignored_packages
列表中删除软件包的名称。
除了最初放置在 Packages
文件夹或 Installed Packages
中的资源外,插件还可能创建配置文件(例如 .sublime-settings
文件)或其他文件来存储与软件包相关的数据。通常,您会在用户软件包中找到它们。因此,如果您想删除软件包的所有痕迹,则需要找到并删除它可能安装的所有其他文件。
警告
已发布的软件包在每次 Sublime Text 更新期间都会被恢复,因此您无法永久删除它们。如果您想停止使用已发布的软件包,请 禁用 它。
自定义或覆盖软件包
由于 .sublime-package
zip 存档中的软件包 是只读的,因此您无法直接修改它们。但是,Sublime Text 允许您创建一个 :override_package:,它将有效地将文件注入到原始存档中,而无需修改存档本身。
要创建覆盖软件包,请在 Packages
下创建一个新文件夹,并将其命名为要覆盖的 .sublime-package
文件的名称,不包括扩展名。您在此软件包中创建的任何文件都将优先于原始软件包中任何同名文件。
在覆盖包中的 Python 插件能够使用相对导入来访问对应 ` .sublime-package` 文件中的其他模块,就好像它们是该文件的一部分一样。
警告
覆盖包中的文件会覆盖整个文件。如果对应 ` .sublime-package` 文件中被覆盖的文件更新了,您不会收到通知。
OverrideAudit 包提供了对覆盖文件的监控,并在被覆盖的文件更新时通知您。
合并和优先级顺序
包优先级对于合并某些资源很重要,例如 ` .sublime-keymap` 和 ` .sublime-settings` 文件,以及加载插件(` .py` 文件)。
如果 ` .sublime-package` 包存在一个 :override_package:,它将与 ` .sublime-package` 存档同时加载。
Sublime Text 按以下顺序加载包
Packages/Default
;- :shipped_package:shipped_packages: 按字典顺序;
- :installed_package:installed_packages: 按字典顺序;
- 所有剩余的 :user_package:user_packages:,除了 ` Packages/User`,它们没有覆盖任何东西,按字典顺序;
Packages/User
将 Sublime Text 还原到默认配置
将 Sublime Text 还原到初始状态可以解决许多看似是 Sublime Text 错误的问题,但实际上是由行为不当的包和插件引起的。
要将 Sublime Text 还原到默认配置并删除所有设置和配置,请删除 数据目录 并重新启动编辑器。请注意,` Installed Packages` 文件夹也会被删除,因此您将丢失所有已安装的包。
在采取这种极端措施之前,请务必备份您的数据!