2016-01-15 48 views
4

所以,很顯然有對命令的參數和註冊命令狀參數的命令在VS代碼

vscode.commands.registerCommand("bla", (arg1: any, arg2: any) => {}); 

帶來arg1包含一個奇怪的物體只需一個鍵,這就是context;一個持有一些關於 - 你猜對 - 情況的信息的對象。

用戶也無法指定參數。不通過命令面板而不是鍵盤綁定。

那麼這些參數只適用於內部的東西,還是應該由擴展開發人員使用?

+0

除了背景下,什麼是你想在帶來了什麼?請記住,這些命令將通過命令托盤操作或鍵盤快捷方式由用戶的字符串觸發。從那裏,你可以收集背景或要求輸入。 –

+0

我寫了一個擴展名,您可以將選定的文本複製到寄存器。當觸發「複製到註冊」命令時,用戶被要求應該複製到哪個寄存器。但是在使用鍵盤時,使用鍵線很方便,然後通過鍵(a,b,c等)直接指定一個寄存器。爲了達到這個目的,我現在必須創建多個命令al'' copyToReg1',然後用戶可以擁有的寄存器數量在技術上與我創建的命令數量相關聯。將這個寄存器作爲'keyboard.json'中指定的字符串參數傳遞給它是不是很好? – Databyte

+0

爲什麼不在一個命令中爲用戶創建一個下拉列表?你只是將可用鍵的數量限制爲可能的命令,但你的想法似乎更有意義,就像一個帶有列表的命令。然後,用戶可以鍵入第一個垃圾並通過幾次擊鍵搜索/選擇他們想要的垃圾。更好的是,他們不會記住一個和絃 –

回答

0

在按鍵組合,你可以這樣指定參數:

{ 
    "command": "workbench.action.tasks.runTask", 
    "key": "alt+d", 
    "args": "docker" 
}