Visual studio code VSCode:是否将密钥命令分配给代码段?
在以前的编辑器中,我有很多用户,特别是SublimiteText和Atom,我能够创建一个简单的命令,在键入Visual studio code VSCode:是否将密钥命令分配给代码段?,visual-studio-code,Visual Studio Code,在以前的编辑器中,我有很多用户,特别是SublimiteText和Atom,我能够创建一个简单的命令,在键入选项空间时添加一个字符,如 例如,在Atom中,我在init.coffee中创建了命令: atom.commands.add 'atom-text-editor', 'editor:insert-nbsp': (event) -> editor = @getModel() editor.insertText(' ') 然后是简单的部分,一个调用自定义
选项空间时添加一个字符,如
例如,在Atom中,我在init.coffee
中创建了命令:
atom.commands.add 'atom-text-editor',
'editor:insert-nbsp': (event) ->
editor = @getModel()
editor.insertText(' ')
然后是简单的部分,一个调用自定义命令的键绑定:
'alt-enter': 'editor:insert-br'
在vscode中,我知道如何执行后者(创建键绑定),但知道如何创建命令
我意识到我可以创建一个代码段,我已经制作了好几个,但是我想用一个键绑定触发
代码段
如何执行此操作?您可以创建Keybinding
并为其分配代码段
为此,必须使用editor.action.insertSnippet
作为命令
,并在args
属性中使用代码段名称
请遵循以下示例:
```
```从1.9开始,在VSCode中实际上要容易得多:
{
"key": "alt+space",
"command": "type",
"args": {
"text": " "
},
"when": "editorTextFocus"
},
我在这方面遇到了麻烦,下面是创建键绑定、代码片段并将它们链接在一起的整个过程:
1.创建一个代码段
文件>首选项>用户代码段>新建全局代码段文件
这将提示您创建代码段文件
给新的代码段文件命名不管怎样,我会把我的命名为“全局”
这将创建一个名为global.code snippets
创建您的代码片段
新的代码段文件将注释掉一个示例。只需取消注释即可
保存文件
现在,您有了一个包含单个代码段的全局文件。通常,代码段文件将包含许多代码段,并根据工作区、环境或其他内容进行划分-这超出了此范围,但一旦开始创建更高级的代码段,您就会掌握其中的诀窍
2.创建密钥绑定
文件>首选项>键盘快捷键
这将打开键盘快捷键菜单
在编辑器窗口的右上角,找到看起来像方括号的按钮=>{}
=>单击它
这将打开keybindings.json
,您可以在其中存储自定义键盘快捷键
在编辑器窗格的底部,您将看到一个按钮,上面写着“定义键绑定(Ctrl+K Ctrl+K)”单击该按钮
这将提示您输入组合键
按CtrlShiftc,然后输入
Ctrl+Shift+c被记录,Enter会自动为该组合键创建一个新的键绑定
3.将Keybinding链接到代码段
如果您不需要更深入的解释,下面是您的新密钥绑定最后的样子:
[
{
"key":"ctrl+shift+c",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"name": "Print to console"
}
}
]
在keybinding中,将命令更改为“editor.action.insertSnippet”
“命令”:“editor.action.insertSnippet”,
添加一个args键,它的值是一个对象
*当您开始键入args
VSCode时,它会提示您完成代码,然后按tab或enter键,它会自动添加引号并为您构建一个空对象
“args”:{}
在args
对象内,添加name
*和以前一样,只需键入name,VSC将建议代码完成,接受它,并构建必要的语法
“args”:{“name”:“}
名称
指的是代码段名称,它是代码段对象的第一个元素。对于我们的示例,这将是“打印到控制台”
“args”:{“name”:“打印到控制台”}
4.确保它有效
创建或打开javascript文件(以.js
结尾的任何文件)
按下CTRLSHIFTCC
console.log(“”)
应该打印在您的文件中
如果不起作用,请确保名称完全匹配-大写很重要李>
[
{
"key":"ctrl+shift+c",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"name": "Print to console"
}
}
]