在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();
}
})
...