在属性更改事件处理程序上



在VSCode扩展中,我正在寻找一种在用户修改package.json的contributes.config部分中定义的扩展属性时做出反应的方法。

它是否存在像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();
        }
    })
    ...

最新更新