2013-08-04 78 views
1

我想創建一個自定義包,我想要做的一件事就是在命令面板(show_overlay)中調出構建系統(位於工具菜單項中)。所以,我試圖在我的包來創建一個Default.sublime的命令文件,並鍵入...從命令選項板在ST2中缺少項目

[ 
    { "caption": "Build System", "command": "build_system" } 
] 

...啓用命令調色板(我也試過set_build_system)該菜單項,然後我在我的包中創建一個Default.sublime,鍵盤映射文件,這樣我可以從通過快捷方式訪問構建系統列表...

[ 
    { 
    "keys": ["f9"], "command": "show_overlay", 
    "args": {"overlay": "command_palette", "text": "Build System"} 
} 
] 

我沒有任何運氣露出構建系統菜單項命令調色板。我可以得到一些幫助嗎?我也注意到Tools菜單項在命令面板中也不可用。我錯過了什麼?

+0

命令面板和菜單是兩個截然不同的東西。只是因爲菜單中出現的東西,並不意味着與它相似的任何東西都會出現在命令面板中。我不認爲你想要的行動是可能的。 – skuroda

+0

我在擺弄它一段時間後使用它,並使用sublime.log_command()函數 –

+0

很高興你的工作。我以爲你想打開菜單,而不是選擇具體的東西。 – skuroda

回答

2

好吧我想通了。命令調色板只能由以崇高運行的現有命令填充。您可以查看哪些命令是以崇高運行的方式打開控制檯(CTR +〜)並鍵入sublime.log_command(True)

現在,只要您執行任何使崇高觸發命令的操作,將在控制檯中記錄該操作。有了這些知識,我們我們去工具>構建系統,並點擊我們想要的,比如說創建系統類型,C++,我們得到:

command: set_build_system {"file": "Packages/C++/C++.sublime-build"} 

甜!知道了這一點,我們可以去我們的.sublime的命令文件(也可以稱之爲Default.sublime的命令),然後鍵入下面的代碼:

[ 
    { 
      "caption": "Set Build System: C++", "command": "set_build_system", 
      "args": { "file":"Packages/C++/C++.sublime-build" } 
    } 

] 

提示:密切關注的「標題」這是我們將用於將我們的.sublime命令文件與我們的.sublime-keymap文件綁定。讓我們添加另一個編譯系統:

[ 
    { 
     "caption": "Set Build System: C++", "command": "set_build_system", 
     "args": { "file":"Packages/C++/C++.sublime-build" } 
    }, 

    { 
     "caption": "Set Build System: Python", "command": "set_build_system", 
     "args": { "file":"Packages/Python/Python.sublime-build" } 
    } 



] 

現在,我們已經暴露在我們的.sublime的命令文件這兩個命令。我們可以在我們的.sublime-keymap文件中爲它創建一個快捷方式。我打電話給我的Default.sublime-keymap:

[ 
    { 
     "keys": ["f8"], "command": "show_overlay", 
     "args": {"overlay": "command_palette", "text": "Set Build System:"} 
    } 
] 

注意「文本」鍵。看起來熟悉?這就是你如何連接你的鍵綁定到你的命令。保存按F8和繁榮!你有我們自己的自定義命令調色板菜單。請享用!您可以將.sublime-commands/.sublime-keymap文件放入您的用戶包中,或添加到任何現有的文件夾中,如果您只是想自定義崇高文本2而不製作自定義包裝。