2017-03-31 71 views
0

this源的定義,如果Permute Lines子菜單如下:如何將項目添加到「Edit> Permute Lines」子菜單?

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

而且它不包含的ID。有沒有添加項目到這個子菜單的方法?

另外這個來源是5歲,可能是崇高的文字2.是否有更新版本的默認菜單文件?

回答

1

要首先回答第二個問題,您可以隨時從您自己的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的安裝鏈接時。

此外,如果您想爲自己的目的編輯菜單,這只是一個可行的解決方案;如果您是包作者,則不能使用此方法分發自己的更改。

+0

我無法在軟件包或Sublime安裝目錄中找到'Default'。它應該在窗戶的位置? – Poma

+0

'Default.sublime-package'存儲在一個'Packages'文件夾中,該文件夾位於存儲該可執行文件的位置內部;它並不存儲在你想要的'Packages'目錄中的任何地方,例如, '首選項>瀏覽包',因爲你不應該直接混淆它。 PackageResourceViewer可以找到並打開您想要的文件,而不是手動執行它。 – OdatNurd

+0

謝謝,發現它。另一個問題:看起來像我需要使用此方法覆蓋整個菜單結構。有沒有辦法只覆蓋單個子菜單? – Poma

相關問題