[英]VSCode: Assign key command to a snippet?
在以前的編輯器中,我有用戶,特別是SublimeText和Atom,我能夠創建一個簡單的命令來添加像
這樣的字符
當我輸入option-space
。
例如,在Atom中,我在init.coffee
創建了命令:
atom.commands.add 'atom-text-editor',
'editor:insert-nbsp': (event) ->
editor = @getModel()
editor.insertText(' ')
然后是簡單部分,一個用於調用自定義命令的鍵綁定:
'alt-enter': 'editor:insert-br'
在vscode中,我知道如何執行后者(創建鍵綁定)但是如何創建命令。
我意識到我可以創建一個片段,我已經制作了幾個,但我想基本上觸發
帶有鍵綁定的片段。
我怎樣才能做到這一點?
您可以創建一個Keybinding
並為其分配一個Snippet
。
為此,您必須使用editor.action.insertSnippet
作為command
,並使用args
屬性中的代碼段名稱。
請遵循以下示例:
```
{
"key": "ctrl+shift+alt+i",
"command": "editor.action.insertSnippet",
"args": {
"name": "YourSnippetName" // name of a snippet defined by an extension or user
}
}
```
從1.9開始,它在VSCode中實際上要容易得多:
{
"key": "alt+space",
"command": "type",
"args": {
"text": " "
},
"when": "editorTextFocus"
},
我遇到了麻煩,所以這里是創建一個鍵綁定,片段並將它們鏈接在一起的整個過程:
文件>首選項>用戶代碼段>新的全局代碼段文件...
這將提示您創建片段文件。
無論如何命名新的Snippet文件,我將其命名為“global”
這將創建一個名為global.code-snippets
的文件
創建您的代碼段
新的代碼段文件將有一個注釋掉的示例。 只是取消注意跟隨。
保存文件
您現在擁有一個包含一個代碼段的全局文件。 通常,代碼段文件將包含許多代碼段,並根據工作空間,環境或其他內容進行划分 - 這超出了此范圍,但是一旦您開始創建更高級的代碼段,您就可以掌握它。
文件>首選項>鍵盤快捷鍵
這將打開您的鍵盤快捷鍵菜單
在編輯器窗口的右上角,找到看起來像括號=> {}
=>的按鈕
這將打開keybindings.json
,這是一個可以存儲自定義鍵盤快捷鍵的文件。
在編輯器窗格的底部,您將看到一個按鈕,顯示“ 定義鍵綁定(Ctrl + K Ctrl + K) ”單擊該按鈕
這將提示您輸入組合鍵。
按Ctrl Shift c ,然后按Enter
記錄Ctrl + Shift + c,Enter自動為該組合鍵創建新的鍵綁定。
如果您不需要更深入的解釋,那么最后您的新鍵綁定應該是什么樣子:
[
{
"key":"ctrl+shift+c",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"name": "Print to console"
}
}
]
在鍵綁定中,將命令更改為“editor.action.insertSnippet”
"command": "editor.action.insertSnippet",
添加一個args鍵,它的值是一個對象
*當您開始輸入args
VSCode將接收它並建議代碼完成,繼續按Tab鍵或輸入,它將自動為您輸入引號並構建一個空對象。
"args": {}
在args
對象內,添加name
。
*與以前相同,只需鍵入名稱,VSC將建議代碼完成,接受它,並將構建必要的語法。
"args": { "name": "" }
name
是指代碼段名稱,它是代碼段對象的第一個元素。 對於我們的示例,這將是“打印到控制台”。
"args": { "name": "Print to console" }
.js
結尾的文件) console.log('')
可以打印在您的文件中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.