VSCode:将键命令分配给片段?

时间:2016-10-03 17:35:20

标签: visual-studio-code

在之前的编辑中,我是用户,特别是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中,我知道如何执行后者(创建键绑定)但是如何创建命令。

我意识到我可以创建一个代码片段,我已经制作了几个片段,但我想基本上使用键绑定触发 代码段。

我该怎么做?

3 个答案:

答案 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)

我对此很麻烦,所以这是创建键绑定,代码段并将它们链接在一起的整个过程:

1。创建代码段

  1. 文件>首选项>用户摘要>新的全局摘要文件...

    这将提示您创建片段文件。

  2. 使用新的Snippet文件命名,我将其命名为“ global”

    这将创建一个名为global.code-snippets

  3. 的文件
  4. 创建代码段

    新的代码段文件将注释掉一个示例。只需取消注释即可。

  5. 保存文件

    您现在有了一个包含单个代码段的全局文件。通常,摘要文件会包含许多摘要,并根据工作空间,环境或其他内容进行划分-这不在此范围之内,但是一旦开始创建更多高级摘要,您将一头雾水。

2。创建密钥绑定

  1. 文件>首选项>键盘快捷键

    这将打开“键盘快捷键”菜单

  2. 在编辑器窗口的右上角,找到看起来像方括号的按钮=> {} =>单击它

    这将打开keybindings.json,这是一个文件,您可以在其中存储自定义键盘快捷键。

  3. 在编辑器窗格的底部,您将看到一个按钮,上面显示“ 定义键绑定(Ctrl + K Ctrl + K)”,然后单击该按钮

    这将提示您输入组合键。

  4. Ctrl Shift c ,然后 Enter

    记录

    Ctrl + Shift + c,然后Enter为该组合键自动创建一个新的键绑定。

3。将键盘绑定链接到代码段

如果您不需要更深入的说明,则这是您的新键绑定最后的外观:

[
    {
        "key":"ctrl+shift+c",
        "command": "editor.action.insertSnippet",
        "when": "editorTextFocus",
        "args": {
            "name": "Print to console"
        }
    }
]
  1. 在快捷键中,将命令更改为“ editor.action.insertSnippet”

    "command": "editor.action.insertSnippet",

  2. 添加一个args键,它的值是一个对象

    *当您开始输入args时,VSCode将在其上提示并建议代码完成,继续并按Tab或Enter键,它将自动为您添加引号并为您建立一个空对象。

    "args": {}

  3. args对象中,添加name

    *与以前相同,只是键入名称,VSC会建议一个代码完成,接受它,并将建立必要的语法。

    "args": { "name": "" }

  4. name引用代码段名称,这是代码段对象的第一个元素。对于我们的示例,这将是“打印到控制台”。

    "args": { "name": "Print to console" }

4。确保它有效

  1. 创建或打开一个javascript文件(任何以.js结尾的文件)
  2. Ctrl Shift c
  3. console.log('')会打印在您的文件中
  4. 如果不起作用,请确保名称完全匹配-大写很重要!