在 属性 更改事件处理程序

On property change event handler

在 VSCode extension 中,我正在寻找一种在用户修改 [=17= 的 contributes.configuration 部分中定义的扩展 属性 时做出反应的方法].

是否存在类似 onPropertyChange 的事件或其他注册事件处理程序的方式?

重新阅读 vscode 文档后,我找到了答案:

workspace.onDidChangeConfiguration 回调在配置 属性 被修改时收到 ConfigurationChangeEvent

使用方法 affectsConfiguration 然后可以对特定的 属性 变化做出反应,例如:

export function activate(context: vscode.ExtensionContext) {

    vscode.workspace.onDidChangeConfiguration(event => {
        let affected = event.affectsConfiguration("riot.compiler");
        if (affected) {
            // rebuild cpp project settings
            setup();
        }
    })

    ...