Редактор Monaco - интеграция с JSHint

Есть ли способ интегрировать редактор monaco с инструментом линтинга jshint?

Я знаю, что в monaco есть возможность настроить параметры компилятора, но мне их недостаточно. Например, я хотел бы требовать точки с запятой в конце операторов, но не могу найти способ сделать это.


person mkapiczy    schedule 26.07.2018    source источник


Ответы (1)


Хорошо, я нашел один способ, но все еще думаю, есть ли лучший.

По сути, я могу запустить JSHint-анализ своего кода вручную.

jshint.JSHINT(this.code, options, predef)

А потом, основываясь на результатах, я могу создать свои собственные маркеры модели. Что-то вроде:

let errors = jshint.JSHINT.data().errors.map(e => {
        return {
          startLineNumber: e.line,
          startColumn: e.character,
          endLineNumber: e.line,
          endColumn: e.character,
          message: e.raw,
          severity: e.code.startsWith('E') ? monaco.Severity.Error : monaco.Severity.Warning
        }
      })

И установил маркеры модели для моего редактора.

monaco.editor.setModelMarkers(this.editor.getModel(), 'test', errors)

Это работает, хотя я все еще хотел бы настроить маркеры ошибок, но, может быть, есть более естественный способ сделать это?

person mkapiczy    schedule 26.07.2018
comment
Серьезность теперь MarkerSeverity - person Abhay; 09.03.2021