Sublimetext3 如何向“添加项目”;编辑>;排列线“;子菜单?

Sublimetext3 如何向“添加项目”;编辑>;排列线“;子菜单?,sublimetext3,sublimetext,sublime-text-plugin,Sublimetext3,Sublimetext,Sublime Text Plugin,根据来源,如果排列行子菜单的定义如下: { "caption": "Permute Lines", "children": [...] } 它不包含id。是否有方法将项目添加到此子菜单 此外,这一来源是5年前,可能是崇高的文本2。是否有较新版本的默认菜单文件?首先回答第二个问题,您可以从自己的Sublime副本中获取最新的菜单定义;它存储在文件Default\Main.sublime menu中,您可以使用该文件轻松打开它 也就是说,您在问题中引用的菜单部分在升华文本2和升华文

根据来源,如果
排列行
子菜单的定义如下:

{
    "caption": "Permute Lines",
    "children": [...]
}
它不包含id。是否有方法将项目添加到此子菜单


此外,这一来源是5年前,可能是崇高的文本2。是否有较新版本的默认菜单文件?

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

也就是说,您在问题中引用的菜单部分在升华文本2和升华文本3之间是相同的,并且它们都没有直接在
排列行
子菜单中的id值

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

您可以通过PackageResourceViewer实现这一点;如果使用它打开
Default\Main.sublime菜单
文件,则可以修改该文件,并在保存时将其保存为覆盖

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

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

例如,最近升华的最新版本修改了基本菜单以包含PackageControl的安装链接时,就发生了这种情况


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

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

也就是说,您在问题中引用的菜单部分在升华文本2和升华文本3之间是相同的,并且它们都没有直接在
排列行
子菜单中的id值

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

您可以通过PackageResourceViewer实现这一点;如果使用它打开
Default\Main.sublime菜单
文件,则可以修改该文件,并在保存时将其保存为覆盖

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

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

例如,最近升华的最新版本修改了基本菜单以包含PackageControl的安装链接时,就发生了这种情况


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

我在软件包或Sublime install dir中找不到
Default
。它应该在windows中的哪个位置?
默认值。升华程序包
存储在一个
程序包
文件夹中,该文件夹位于升华可执行文件的存储位置内;它不会存储在您可以使用的
Packages
目录中的任何位置,例如
Preferences>Browse Packages
,因为您不应该直接处理它。PackageResourceViewer可以找到并打开您想要的文件,这比手动查找和打开文件要容易得多。谢谢,找到了。另一个问题:看起来我需要用这个方法覆盖整个菜单结构。有没有办法只覆盖一个子菜单?没有,很遗憾没有。我在软件包或Sublime install dir中找不到
Default
。它应该在windows中的哪个位置?
默认值。升华程序包
存储在一个
程序包
文件夹中,该文件夹位于升华可执行文件的存储位置内;它不会存储在您可以使用的
Packages
目录中的任何位置,例如
Preferences>Browse Packages
,因为您不应该直接处理它。PackageResourceViewer可以找到并打开您想要的文件,这比手动查找和打开文件要容易得多。谢谢,找到了。另一个问题:看起来我需要用这个方法覆盖整个菜单结构。有没有办法只覆盖一个子菜单?没有,很遗憾没有。