如何在 MonacoEditor 中删除模型标记
How to remove Model-Markers in MonacoEditor
目前,我正在尝试使用以下方法从摩纳哥模型中删除模型标记。
monac.editor.getModelMarkers({owner: "owner"}).forEach(marker => {
console.log(marker)
marker.dispose()
})
标记当前是通过 setModelMarker() 方法设置的
monaco.editor.setModelMarkers(editor.getModel(), "owner", markers)
为模型设置一个空数组会覆盖模型标记,因此这可以用作解决方法。
monaco.editor.setModelMarkers(editor.getModel(), "owner", [])
有什么方法可以可靠地删除模型标记
正如评论中所指出的,getModelMarkers()
returns IMarker 的数组,没有 dispose()
方法。
对于标记集的任何修改,setModelMarkers()
是方式。
主要解释是 IMarker
s 只是接口对象,因此必须具有 severity
、startLineNumber
等字段
Monaco 编辑器使用单个 setModelMarkers()
方法来更新标记集,因为调用该方法后对这些对象的任何修改都将无效:
var markers = [{
severity: monaco.MarkerSeverity.Warning,
message: "Some warning",
startLineNumber: 1,
startColumn: 1,
endLineNumber: 1,
endColumn: editor.getModel().getLineLength(1) + 1
}];
monaco.editor.setModelMarkers(editor.getModel(), "owner", markers);
markers[0].severity = monaco.MarkerSeverity.Error; // No effect
同理,不能删除标记(例如delete markers[0];
),如the delete operator deletes only a reference.
目前,我正在尝试使用以下方法从摩纳哥模型中删除模型标记。
monac.editor.getModelMarkers({owner: "owner"}).forEach(marker => {
console.log(marker)
marker.dispose()
})
标记当前是通过 setModelMarker() 方法设置的
monaco.editor.setModelMarkers(editor.getModel(), "owner", markers)
为模型设置一个空数组会覆盖模型标记,因此这可以用作解决方法。
monaco.editor.setModelMarkers(editor.getModel(), "owner", [])
有什么方法可以可靠地删除模型标记
正如评论中所指出的,getModelMarkers()
returns IMarker 的数组,没有 dispose()
方法。
对于标记集的任何修改,setModelMarkers()
是方式。
主要解释是 IMarker
s 只是接口对象,因此必须具有 severity
、startLineNumber
等字段
Monaco 编辑器使用单个 setModelMarkers()
方法来更新标记集,因为调用该方法后对这些对象的任何修改都将无效:
var markers = [{
severity: monaco.MarkerSeverity.Warning,
message: "Some warning",
startLineNumber: 1,
startColumn: 1,
endLineNumber: 1,
endColumn: editor.getModel().getLineLength(1) + 1
}];
monaco.editor.setModelMarkers(editor.getModel(), "owner", markers);
markers[0].severity = monaco.MarkerSeverity.Error; // No effect
同理,不能删除标记(例如delete markers[0];
),如the delete operator deletes only a reference.