4

我想掌握摩纳哥编辑器默认创建的错误。

在此处输入图像描述

4

3 回答 3

4

看起来您可以调用monaco.editor.getModelMarkers({})以获取文档中所有标记的列表,然后自己过滤以将其限制为您感兴趣的错误。我更喜欢记录更清楚的路线,但在我的临时测试这个工作。

于 2017-09-06T02:32:24.720 回答
3

给定一个 monaco 模型,你可以访问 worker。这类似于 ts.LanguageService,但签名是异步的。然后,您可以调用 getSemanticDiagnostics() 和所有其他方法。

monaco.languages.typescript.getTypeScriptWorker()
  .then(_worker=>{_worker(model.uri)
  .then(worker=>{

    worker.getScriptFileNames().then(ff=>{
      ff.forEach(sf=>{
        worker.getSemanticDiagnostics(sf).then(dd=>{          
          console.log('\n\n DIAGNOSTICS FOR '+sf)
          console.log(dd.map(d=>d.messageText))})
        })
于 2018-06-26T21:07:21.067 回答
0

这是一个记录错误的简单示例:

import * as monaco from 'monaco-editor'

// ...

monaco.editor.onDidChangeMarkers(([uri]) => {
  const markers = monaco.editor.getModelMarkers({resource: uri})
  console.log('markers:', markers.map(
    ({ message, startLineNumber, startColumn, endLineNumber, endColumn }) =>
      `${message} [${startLineNumber}:${startColumn}-${endLineNumber}:${endColumn}]`,
  ))
})
于 2022-02-12T20:45:22.967 回答