我在我的 angular 8 项目中使用 ngx-monaco@^8.0.0 和以下选项。
app.module.ts:
const monacoConfig: NgxMonacoEditorConfig = {
defaultOptions: { scrollBeyondLastLine: false }, // pass default options to be used
onMonacoLoad: () => { console.log((<any>window).monaco); }
};
组件.ts:
const editorOptions = {theme: 'vs-light', language: 'perl', readOnly: true, glyphMargin: true };
onInit(editor) {
this.editor = editor;
if (this.code !== '') {
this.editor.getModel().setValue(this.code);
this.editor.deltaDecorations([], [{
range: new this.window.nativeWindow.monaco.Range(2, 1, 2, 1),
options: {
glyphMarginClassName: 'error',
glyphMarginHoverMessage: { value: 'This line has error' },
minimap: {
position: 1
}
}
}]);
}
}
组件.html
<ngx-monaco-editor class="file-viewer" [options]="editorOptions" (onInit)="onInit($event)"></ngx-monaco-editor>