ctrl+shift+p filters: :st2 :st3 :win :osx :linux
文档

自定义插件

通常情况下,一个插件可能几乎完全按照您期望的方式工作,但进行一些小的调整可以使它更完美。根据您使用的 Sublime Text 版本以及插件的安装方式,您有几种不同的选择来自定义插件。

打包与未打包

Sublime Text 3 提供了更多选项来覆盖插件。默认情况下,通过将.sublime-package文件放置在Install Packages/文件夹中来安装插件。然后用户可以通过创建一个文件夹Packages/{Package Name}/并将修改后的文件放入其中来覆盖包内的单个文件。

不幸的是,并非所有包在存储为.sublime-package文件时都能正常工作。这通常是因为包中包含共享库或可执行文件等文件。如果开发者在其包根目录中放置一个名为.no-sublime-package的文件,Package Control 将将包提取到Packages/{Package Name}/.

Packages stored in.sublime-package文件中的包被称为 打包的,而提取到Packages/文件夹中的包被称为 未打包的。Sublime Text 2 只支持未打包的包。

未打包的包可以通过 用户包Git/Hg 克隆 进行自定义。打包的包可以使用 覆盖用户包Git/Hg 克隆

编辑未打包文件

除非您通过 Git/Hg 克隆了包,否则编辑未打包包的文件并不是一个好的主意。这是因为在默认情况下,Package Control 会自动升级包到最新版本。这将导致对文件的任何编辑都将被覆盖。如果您遇到这种情况,您可能需要查看 备份 部分,了解如何恢复文件的自定义版本。

用户包

ThePackages/User/文件夹是User包。它很独特,因为它是由 Sublime Text 最后加载的。这使用户可以将对.sublime-settings.sublime-keymap文件的更改放置在此文件夹中。

Sublime Text 通过名称加载这些文件。因此,如果一个包在包含一个名为Package Control.sublime-settings的文件,那么在User包含一个相同名称的文件的包将覆盖原始文件中的任何设置。这对键盘绑定也是如此。

覆盖

如果一个 Sublime Text 3 的包作为打包包安装,应该可以直接覆盖非 Python 文件的个别文件。为此,创建一个文件夹,并将自定义文件版本的文件以相同的名称保存到该文件中。Packages/{Package Name}/folder.sublime-packagefile

要查看原始文件,您可以通过 GitHub 或 BitBucket 的包在线存储库查看包,或者使用 zip 程序解压缩文件。.sublime-packagefile

Git/Hg Clone

为了完全自定义一个包,可能需要使用版本控制程序,例如 Git 或 Hg,将原始包存储库的一个副本克隆到相应的文件夹。Packages/folder

最好的定制方法可能是 fork 原始存储库并克隆您的改动副本。如果您认为您的定制可能对其他人有用,考虑将您的更改通过 pull request 合并到原始版本。

如果您从您的存储库分支中克隆它,不需要更改任何设置。如果您从原始存储库克隆它,您可能希望设置 ignore_vcs_packages 设置。

如果您已克隆了存储库但没有设置 ignore_vcs_packagesfalse,则有一些设置控制包的升级方式。ignore_vcs_packagestruefalse包括以下选项: git_binarygit_update_commandhg_binaryhg_update_command

备份

如果您发现对包的编辑被Package Control覆盖,您可以在Backup/文件夹中找到一个备份副本。可以通过选择首选项 > 浏览包…菜单来找到此文件夹,然后向上浏览一个文件夹。备份存储在标记时间戳的文件夹中。