如何将项目添加到 Sublime 3 中的菜单?

How do I add items to a menu in Sublime 3?

我想在 Sublime 3 的“编辑”菜单中添加几个项目。实际上,我只是想从“查找”菜单中复制“查找”和“替换”菜单项。叫我懒惰,但我只想使用我在许多其他程序中已经习惯的相同 Alt-E 菜单快捷方式。当我从 Sublime 切换到其他任何东西时,我不喜欢从 Alt-E 到 Alt-I 的心理切换。

无论如何,从 sublime documentation 我读到我可以在 Packages/Default(或 Packages/User)目录中创建一个文件 Main.sublime-menu。 JSON 格式很容易遵循。但问题是默认没有这个文件。如果我添加一个(我确实添加了),那么 sumblime 会替换整个主菜单,这不是我想要的结果。

我不想替换整个菜单,我只想在“编辑”菜单中添加两个条目。理想情况下,我想从“查找”菜单中复制并粘贴“查找和替换”条目。这将节省我计算命令名称的时间。

Sublime 附带的资源文件存储在 sublime-package 个文件中,这些文件存在于存储在 Sublime 安装文件夹(可执行文件所在的位置)中的特殊文件夹中,这可以防止修改,因为 Sublime 将替换他们在更新时批发。

您可以使用命令面板中的 View Package File 命令查看 Sublime 当前已知的任何资源文件的内容。它将向您显示每个资源的列表,您可以像命令面板条目一样过滤列表以向下钻取以找到您需要的内容:

从此列表中选择一项将打开文件供您查看。如果它来自 sublime-package 文件,它将是一个您无法修改的只读缓冲区,以提醒您您无法编辑该文件。然而,直接来自您的 Packages 文件夹的资源将是可编辑的(例如您的 User 包)。

Default 包定义了默认设置、键绑定和菜单等内容。因此,虽然您在列表中看到的内容取决于您安装的软件包,但您在这里想要的项目是 Default/Main.sublime-menu.

请注意,如果您只想添加一些项目,则需要将修改放入 User 包中。您在此处添加的任何项目都会扩充现有菜单;也就是说,您只能添加项目,不能修改或删除它们。

如果您将文件放入 Default 包文件夹(您可能需要创建也可能不需要),您创建的文件将覆盖 sublime-package 文件中提供的文件.如果您想删除条目、更改它们执行的命令等,您可以这样做。

如果你走那条路,请注意 Sublime 将永远使用这个文件,即使未来的更新修改了这个文件。在那种情况下,我会推荐 OverrideAudit 包(免责声明:我是所述包的作者),因为它会在发生这种情况时警告你。

如果这是您的意图,OverrideAudit 的 Create Override 命令将允许您无缝地打开文件并保存它以创建覆盖,从而省去寻找文件正确放置位置的麻烦。