Monaco editor - настройка ошибок с иконками предупреждений / ошибок

Ранее я использовал редактор CodeMirror в своем проекте, но недавно я решил переключиться на редактор Monaco.

Сейчас я пытаюсь предоставить своим пользователям все функции, которые у них были ранее (+ дополнительные функции, предоставляемые Монако), и поэтому я хотел бы предоставить им аналогичный способ отображения предупреждений / ошибок.

Есть ли какой-нибудь способ добиться CodeMirror, как способ отображения ошибок, с использованием иконок в редакторе Monaco?

1 ответ

Решение

Хорошо, я понял это.

Сначала я получаю ошибки через какой-то внешний источник (я использую JSHINT). Затем я изменяю оформление:

let newDecorations = errors.map(e => {
      return {
        range: new monaco.Range(e.startLineNumber, 1, e.startLineNumber, 1),
        options: {
          glyphMarginClassName: e.severity === monaco.Severity.Error ? 'errorIcon' : 'warningIcon',
          glyphMarginHoverMessage: {value: e.message}
        }
      }
    })

    this.decorations = this.editor.deltaDecorations(this.decorations, newDecorations)

Классы errorIcon и warningIcon:

 .warningIcon {
  display: block;
  background-image: url('../assets/icons/warningIcon.png');
  background-size: contain;
  background-repeat: no-repeat;
}

.errorIcon {
  display: block;
  background-image: url('../assets/icons/errorIcon.png');
  background-size: contain;
  background-repeat: no-repeat;
}
Другие вопросы по тегам