我有一个使用摩纳哥编辑器的项目。我们使用ST语言,需要实现变量值的实时显示。对于此功能,我想使用 CodeLens 来显示值,然后当用户单击此 CodeLens 编辑器时打开窗口来设置变量值。
问题:CodeLens 标题设置了,如何使用计时器更新标题 代码示例:
monaco.languages.registerCodeLensProvider(langName, {
provideCodeLenses: async function (model, token) {
/*code*/
codeLenses.push({
range: {
startLineNumber: startPos.lineNumber,
startColumn: startPos.column,
endLineNumber: endPos.lineNumber,
endColumn: endPos.column,
},
command: {
id: 'showVariableValue',
title: `${variable}: ${value}`,
})
}
}
return { lenses: codeLenses, dispose: () => { } };
},
});
setInterval(() => {
call update CodeLenses
}, 1000);
我找到了解决方案,但很糟糕。
function UpdateValuesFromHTML() {
document.querySelectorAll('.codelens-decoration > a').forEach(el => {
let variable = el.text.split(': ')[0];
el.text = variable + ": " + getRandomMoonitoringValue();
})
}