自定义插件
通常情况下,一个插件可能几乎完全按照您期望的方式工作,但进行一些小的调整可以使它更完美。根据您使用的 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_packages 为 false,则有一些设置控制包的升级方式。ignore_vcs_packagestruefalse包括以下选项: git_binary、git_update_command、hg_binary、hg_update_command。
备份
如果您发现对包的编辑被Package Control覆盖,您可以在Backup/文件夹中找到一个备份副本。可以通过选择首选项 > 浏览包…菜单来找到此文件夹,然后向上浏览一个文件夹。备份存储在标记时间戳的文件夹中。