我正在使用Sublime Text 3,但无法打开~~~ .sublime-package文件。
当我用Sublime Text 3打开它时,它看起来像这样:
504b 0304 1400 0000 0800 9496 084d 8c0b
5989 b600 0000 0501 0000 0a00 0000 2e67
6974 6967 6e6f 7265 358e c16a 0331 0c44
effa 0a43 6f81 557f 2297 420a 8524 a752
8a62 2bae a9d7 32b2 b224 7f1f 3b9b 5c84
f466 18cd 06eb eddb cb0f 6cd0 e61d 9578
该文件的长度当然比文件长,但是无论如何,我无法读取它。
如何阅读和编辑此文件?
答案 0 :(得分:6)
sublime-package
文件只是扩展名已更改的zip
文件;也就是说,如果您有一个可以打开zip文件的工具,则可以打开该包并使用它查看内容。这可能会或可能不需要您临时将文件重命名为扩展名zip
,具体取决于工具。
也就是说,仅当您最初是创建文件的人时,才建议直接修改sublime-package
;否则,您有可能在最不期望的时候丢失更改。
解释一下原因,有一点背景知识。首先,可以在两个位置存在sublime-package
文件。
第一个位于名为Packages
的文件夹中,该文件夹位于Sublime本身的安装文件夹中(即可执行文件所在的位置)。这些之所以称为Shipped
软件包,是因为它们与Sublime一起提供,并且所有使用Sublime的人都可以使用。
第二个位于名为Installed Packages
的文件夹中,该文件夹包含在用户特定的Sublime Data
文件夹中。该位置因平台而异,但是您始终可以通过选择Preferences > Browse Packages
然后升至一个文件夹级别来找到它。这里的软件包称为Installed
软件包,是您自己安装在Sublime中的软件包。一般来说,这里的软件包是由Package Control
安装的。
将Sublime Text更新为新版本时,它会用(可能是)全新的Shipped
文件替换所有sublime-package
软件包,以便进行更新。
类似地,当Package Control升级软件包时,它会丢弃旧的sublime-package
文件,并用较新的版本代替。
这全部归结为以下内容: 从不 直接修改您自己没有亲自复制到适当位置的sublime-package
文件,或在将来的某个时候,您的更改将在软件包升级期间毫不客气地消失。
因此,剩下的问题是如何在需要时实际修改软件包文件,答案是创建一个Override
。
有一个名为Packages
的文件夹,您可以从菜单中选择Preferences > Browse Packages
进入该文件夹。这个文件夹也可以包含包,但是这里是Unpacked
;而不是有一个名为MyPackage.sublime-package
的文件包含一些文件,而是有一个名为MyPackage
的包含文件的文件夹。
当Sublime正在检查sublime-package
文件并加载其中包含的文件时,它会在Packages
文件夹中查找是否有一个与{{1 }}文件;如果存在 和 ,则该文件夹中有一个文件,其名称为{strong> exact 和文件{{1}中的文件的路径},Sublime将从而不是sublime-package
文件中加载该文件。
例如;假设有一个名为sublime-package
的软件包,其中包含一个名为sublime-package
的文件;由于Sublime正在通过Foo.sublime-package
扫描应加载的文件,因此会发现存在foo.py
文件。因此,它将检查文件Foo.sublime-package
是否存在,如果存在,它将加载该文件并忽略foo.py
文件内部的内容。
在升级存储为Packages/Foo/foo.py
文件的软件包的过程中,未触及sublime-package
文件夹的内容,因此,这意味着如果您以这种方式创建Packages
,则所做的更改即使基础软件包升级也将持续存在。
创建此类替代的最简单方法是使用PackageResourceViewer。安装此软件包后,您可以使用命令面板中的sublime-package
轻松打开任何软件包中的任何文件,保存文件将使Override
自动为您创建替代。
PackageResourceViewer: Open Resource
将导致您的更改毫不客气地被丢弃,而没有任何警告,而创建替代将导致Sublime始终使用 软件包被修改。
取决于文件和修改,这可能很重要。在上面的示例中,如果您在PackageResourceViewer
上创建了一个替代项以对其进行更改,然后sublime-package
程序包的作者对foo.py
进行了更改以修复错误或添加更多功能,当程序包更新时,您所做的更改不会丢失,但它们也会阻止更新中的更改生效。
OverrideAudit软件包可以为您提供帮助;它所做的一件事是检查升级,以查看是否已覆盖已升级程序包中的文件,并发出警告,以便您可以查看正在发生的事情。
答案 1 :(得分:1)
您要打开的文件基本上是一个压缩包或zip文件(只是没有通常的命名约定)
您可能需要解压缩zip或将其存储在正确的位置,以便Sublime Text Application可以使用它们。