VS代码扩展-传播捕获的键绑定

时间:2019-01-10 03:09:12

标签: visual-studio-code vscode-extensions

在自定义扩展名中,我想向'tab'键添加命令。但是,我不想停止执行“ tab”键的常规工作。

因此,如果我捕获了“ tab”键,那么该如何“冒泡”此事件?我的package.json看起来像这样:

"contributes": {
    ...
    "commands": [
            {
                "command": "command_name"
                ...
            }
        ],
        "keybindings": [
            {
                "command": "command_name",
                "key": "tab",
                "when": "editorTextFocus && !editorReadonly"
            }   
        ]
}
当前,这捕获了'tab'字符,但是破坏了自动完成功能,插入了制表符字符等。我当然可以在命令中手动将\ t插入编辑器中,但这仍然会使自动完成功能失效。

1 个答案:

答案 0 :(得分:1)

在键盘快捷方式中键入"tab",带引号以查看所有 Tab 绑定。其中有When个使用它的上下文。

要排除上下文,请在其前面放置!。排除扩展所需的所有内容。像这样:

"when": "editorTextFocus && !editorReadonly && !suggestWidgetVisible && !inSnippetMode"// ...