从VS-code扩展中添加条件到“when”?

时间:2017-06-30 18:16:44

标签: visual-studio-code vscode-extensions

我过去20年来一直使用的代码编辑器(codewright)允许您设置“选择模式”。设置后,所有键盘光标移动都会扩展选择范围。在VS Code中,您可以通过按住shift键来扩展选择(例如,Shift向下箭头),但我正在寻找一种方法,在没有shift键的情况下执行此操作。

我已经编写了一个主要是这样做的扩展,但如果我能为keybindings.json中的“when”子句创建一个新条件,那么我将不得不做更少的工作。例如,我本来想改变

{ "key": "shift+down",    "command": "cursorDownSelect",
                          "when": "editorTextFocus" },

类似

{ "key": "down",    "command": "cursorDownSelect",
                    "when": "editorTextFocus || extensionSelectionMode" },
{ "key": "down",    "command": "cursorDown",
                    "when": "editorTextFocus" },

有没有办法从扩展中添加这样的条件?

1 个答案:

答案 0 :(得分:2)

尝试在扩展程序中使用vscode.commands.executeCommand('setContext', 'extensionSelectionMode', true) 命令:

indent

有关此操作的示例,请参阅VSCode vim

我们正在跟踪用于设置上下文的更好的API:https://github.com/Microsoft/vscode/issues/10471