如何在 VS 代码中创建自定义键绑定片段

How to Create Custom Key Binded Snippets in VS Code

我是 Sublime Text 的忠实用户,并且学习了使用 Sublime text 中的自定义来提高我的工作效率的方法。但是随着VScode越来越受欢迎,想看看有没有什么方法可以把快捷键绑定到自定义操作上。

例如,我在 VSCode 中的任何文件中 select 一个单词 ABC 并按下 CTRL+B,它会在周围放置我自己定义的值它应该变成

<b>ABC</b>

我在 Sublime Text 中创建了以下代码片段,当我在 Visual Studio 代码中编写时 - keybindings.json 没有任何效果。

{
    "keys": [
        "ctrl+b"
    ],
    "command": "insert_snippet",
    "args": {
        "contents": "<b>${0:$SELECTION}</b>"
    }
}

这将适用于您的 keybindings.json:

{
    "key": "ctrl+b",
    "command": "editor.action.insertSnippet",
    "when": "resourceExtname == .html",         // this is optional
    "args": {
      "snippet": "<b>${TM_SELECTED_TEXT}</b>"
    }
},

可选的 when 子句用于将代码段的操作限制为 .html 个文件。

更通用的方法是使用命令面板中的 built-in: Emmet: Wrap with Abbreviation 的 emmet 命令。 Select 您的文本,打开命令选项板,找到该命令并触发它 - 输入 b 或任何您的元素,它将用开始和结束元素包裹所选文本。

[请注意,有一个命令 workbench.action.toggleSidebarVisibility 已经绑定到 Ctrl-B,但是上面的代码片段似乎优先 - 意味着你失去了 toggleSidebarVisibility 键绑定功能 - 这可能是你可以接受的?]