Подсвечивать ошибки в коде в ng2-ace-editor - PullRequest
1 голос
/ 11 июля 2019

Я использую ng2-ace-editor в моем проекте. Мне нужно показать сообщение об ошибке или предупреждение перед номером строки, где они являются ошибкой.

Я пробую способ, описанный здесь: https://github.com/fxmontigny/ng2-ace-editor/commit/11a9c4025465190e2c8e35081e09e51fb32e7848#diff-aa2cbbf8c50873cb0bf8e42f52cf1319

var Range = ace.require('ace/range').Range;

this.highlight.getEditor().session.addMarker(
  new Range(0, 0, 2, 1), "myMarker", "fullLine"
);

Это ничего не сделало в редакторе. Так называется редактор на странице.

this.editor.getEditor().setOptions({
  enableBasicAutocompletion: editorOption.snippet,
  highlightActiveLine: editorOption.highlight,
  showLineNumbers: editorOption.line,
  enableSnippets: editorOption.snippet,
  enableLiveAutocompletion: editorOption.snippet,
  behavioursEnabled: editorOption.behaviours,
  wrapBehavioursEnabled: editorOption.wrapb,
  autoScrollEditorIntoView: editorOption.auto,
  wrap: editorOption.wrap,
  keyboardHandler: null,
  readOnly: editorOption.readonly
});

Заранее спасибо за помощь.

Ответы [ 3 ]

1 голос
/ 16 июля 2019

Установить аннотации для редактора ace от angular 6 можно с помощью -

 this.editor._editor.session.setAnnotations([{ 
             row: 1, 
             column: 0, 
             text: "Error Message", // Or the Json reply from the par
             type: "error" // also "warning" and "information" 
 }]);
1 голос
/ 11 июля 2019

Чтобы показать символ ошибки или предупреждения, вы можете использовать setAnnotations:

this.editor._editor.getSession().setAnnotations([{
    row: 1,
    column: 0,
    text: "Error Message", // Or the Json reply from the parser 
    type: "error" // also "warning" and "information"
}]);

Для получения сессии вы можете использовать

var _session = _editor.getSession();
0 голосов
/ 19 июля 2019

Я мог бы решить эту проблему, добавив информацию о водосточном желобе.

this.editor._editor.session.addGutterDecoration( elementPosition, "fa fa-fire text-info gutterMessages"); 

Спасибо за ваше драгоценное время! :)

...