codemirror component for Angular(^8.0+)
Has been formally verified by the production environment。
- support copy text in readOnly 'nocursor' mode.
- ensure init codemirror after nativeElement has been attached (codemirror need a real element width).
- support flexiable height by autoMaxHeight.
- support all options by codemirror(^5.52.0).
- ngx-codemirror: An Angular component wrapper for CodeMirror that extends ngModel.
$ npm i ng-codemirror --save
// or
$ yarn add ng-codemirrorImport CodemirrorModule and bring in the codemirror files for parsing the langague you wish to use.
In your NgModule:
import { NgModule } from '@angular/core';
import { CodemirrorModule } from 'ng-codemirror';
  // add to imports:
  imports: [
    BrowserModule,
    CodemirrorModule,
    ...
  ]In your main.ts or at the root of your application, see documentation:
import "codemirror/mode/javascript/javascript";
import "codemirror/mode/markdown/markdown";Import the scss file
@import "~ng-codemirror/index.scss";Use The Component
<ng-codemirror
  [options]="options"
  [ngModel]="code"
  [autoMaxHeight]="300"
></ng-codemirror>  // options 配置
  options = {
    lineNumbers: true,
    readOnly: false, // nocursor can not copy
    mode: 'javascript',
    autofocus: true,
    lineWiseCopyCut: true,
    cursorBlinkRate: 500 // hide cursor
  };