如何将项目添加到 "Edit > Permute Lines" 子菜单?

How do I add an item to "Edit > Permute Lines" submenu?

根据 this 来源的定义,如果 Permute Lines 子菜单如下:

{
    "caption": "Permute Lines",
    "children": [...]
}

而且它不包含 id。有没有办法将项目添加到此子菜单?

此外,此源已有 5 年历史,可能用于 Sublime Text 2。是否有更新版本的默认菜单文件?

首先回答你的第二个问题,你总是可以从你自己的 Sublime 副本中获得最新的菜单定义;它存储在文件 Default\Main.sublime-menu 中,您可以使用 PackageResourceViewer 轻松打开它。

就是说,您在问题中引用的菜单部分在 Sublime Text 2 和 Sublime Text 3 之间是相同的,并且它们都没有直接在 Permute Lines 子 -菜单。

通过在其他包(例如您的 User 包)中创建 Main.sublime-menu,您可以创建与该子菜单相邻的条目,但为了实际将新内容直接放入其中你需要创建一个 Override.

您可以通过 PackageResourceViewer 做到这一点;如果你用它打开 Default\Main.sublime-menu 文件,你可以修改文件,当你保存它时,它会被保存为覆盖。

从现在开始,您的覆盖将成为新的默认菜单;扩展菜单的其他软件包仍然可以这样做,但它们将与您的版本合并,而不是与发布的版本合并。

这并非没有风险,因为如果 Sublime Text 的未来版本包含菜单的修改版本,您的覆盖仍将优先,并且您不会收到警告它正在发生,因此您可能会错过修复。

最近发生了这种情况,因为最新版本的 Sublime 修改了基本菜单以包含 PackageControl 的安装 link,例如。

此外,如果您想根据自己的目的编辑菜单,这只是一个可行的解决方案;如果您是包作者,则不能使用此方法分发您自己的更改。