在之前的编辑中,我是用户,特别是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中,我知道如何执行后者(创建键绑定)但是如何创建命令。
我意识到我可以创建一个代码片段,我已经制作了几个片段,但我想基本上使用键绑定触发
代码段。
我该怎么做?
答案 0 :(得分:4)
您可以创建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 :(得分:4)
从1.9开始,VSCode实际上要容易得多:
{
"key": "alt+space",
"command": "type",
"args": {
"text": " "
},
"when": "editorTextFocus"
},
答案 2 :(得分:0)
我对此很麻烦,所以这是创建键绑定,代码段并将它们链接在一起的整个过程:
文件>首选项>用户摘要>新的全局摘要文件...
这将提示您创建片段文件。
使用新的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或Enter键,它将自动为您添加引号并为您建立一个空对象。
"args": {}
在args
对象中,添加name
。
*与以前相同,只是键入名称,VSC会建议一个代码完成,接受它,并将建立必要的语法。
"args": { "name": "" }
name
引用代码段名称,这是代码段对象的第一个元素。对于我们的示例,这将是“打印到控制台”。
"args": { "name": "Print to console" }
.js
结尾的文件)console.log('')
会打印在您的文件中