在VSCode extension中,我正在寻找一种方法来在用户修改package.json的contribs.configuration部分中定义的扩展属性时作出反应。
它是否存在像onPropertyChange之类的事件或其他一些注册事件处理程序的方式?
答案 0 :(得分:3)
重新阅读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();
}
})
...