新 VSCode 设置编辑器:每次击键时调用 onDidChangeConfiguration

New VSCode Settings editor: onDidChangeConfiguration invoked at every keystroke

在我的扩展插件中,我注册了一个 onDidChangeConfiguration 事件侦听器:

export function activate(context: vscode.ExtensionContext) {
  vscode.workspace.onDidChangeConfiguration(event => {
    ...
}

在 vscode 1.27 与新的 Settings editor 当更改 属性 值时,每次击键都会调用回调 onDidChangeConfiguration,这改变了旧行为:

在以前的 vscode 版本中(以及在使用命令 Open setting (JSON) 打开的设置编辑器中),更改配置事件在我保存新设置时触发。

有没有办法至少在 属性 编辑结束时触发 onDidChangeConfiguration? (return 击键或焦点离开)

更新:具体用例

我的一个属性代表一个 makefile 构建目录,当我更改值时 onDidChangeConfiguration cd 到该目录并启动 make 命令来配置 cpp intellisense。

这种新行为带来了令人讨厌的副作用和糟糕的用户体验:下图让您明白:

这是一个恰逢其时的问题,因为我刚刚合并了一个在 VS Code 中解决这个问题的 PR。文本输入设置的去抖率已更改为 1 秒,因此更改的触发频率应该大大降低。

您可以在下周的下一个预览体验成员版本中看到更改,或者在几周后的 1.28 中看到更改。

https://github.com/Microsoft/vscode/issues/58537