如何将项目添加到“编辑>置换线”子菜单?

时间:2017-03-31 20:11:34

标签: sublimetext3 sublimetext sublime-text-plugin

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

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

它不包含id。有没有办法在这个子菜单中添加项目?

此源也是5年,可能是Sublime Text 2.是否有更新版本的默认菜单文件?

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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

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

最近,当最新版本的Sublime修改了基本菜单以包含PackageControl的安装链接时,最近发生了这种情况。

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