Analisis ringkas tentang cara menggunakan editor monaco dalam sudut

青灯夜游
Lepaskan: 2022-10-17 20:04:09
ke hadapan
2658 orang telah melayarinya

Bagaimana untuk menggunakan monaco-editor dalam

sudut? Artikel berikut merekodkan penggunaan monaco-editor dalam sudut yang digunakan dalam perniagaan baru-baru ini. Saya harap ia akan membantu semua orang!

Analisis ringkas tentang cara menggunakan editor monaco dalam sudut

Pasang kebergantungan

Dalam angular12 dan sebelumnya, anda boleh memilih

  • monaco-editor
  • ngx-monaco-editor

Ini tiada masalah tetapi jika anda menggunakan versi sudut yang lebih tinggi, anda perlu memasang ngx-monaco-editor menggunakan npm. Laporkan ralat. [Cadangan tutorial berkaitan: "tutorial video angularjs"]

Oleh kerana pengarang asal nampaknya telah berhenti mengekalkan perpustakaan ini, sokongan akhir kekal pada versi angular12

Analisis ringkas tentang cara menggunakan editor monaco dalam sudut

Sudah tentu anda boleh memilih untuk menggunakan --force atau --legacy-peer-deps seperti yang digesa untuk menyelesaikan masalah

Tetapi untuk menghapuskan/mengelakkan beberapa masalah tersembunyi saya tambah mereka kepada pengarang asal Pada asasnya, sokongan sudut rangka kerja telah dinaik taraf kepada 14 dan akan dikemas kini secara berterusan

@rickzhou/ngx-monaco-editor

github github .com/rick-chou/ n…

npm www.npmjs.com/package/@ri…

Sudah tentu anda juga boleh memilih untuk Tidak ada masalah untuk memindahkan kod sumber pengarang ke dalam kod tempatannya sendiri

  • base-editor.ts memperkenalkan monaco-editor
  • config.ts
  • diff -editor.component.ts
  • editor.component.ts
  • editor.module.ts
  • types.ts

Analisis ringkas tentang cara menggunakan editor monaco dalam sudut

github.com/rick-chou/n…

Anda hanya perlu mengalihkan enam fail dalam lib dan layan mereka sebagai projek anda sendiri Hanya gunakan modul dalam

Gunakan

Malah, semua API boleh didapati dalam editor.api.d.ts fail

// 在这个editor下就可以找到所有TS类型
import { editor } from 'monaco-editor';
Salin selepas log masuk

Mari rakam yang biasa digunakan

1.

// eg
export const READ_EDITOR_OPTIONS: editor.IEditorOptions = {
  readOnly: true,
  automaticLayout: false,
  minimap: {
    enabled: false,
  },
  renderFinalNewline: false,
  scrollbar: {
    vertical: 'visible',
  },
  mouseWheelZoom: true,
  contextmenu: false,
  fontSize: 16,
  scrollBeyondLastLine: false,
  smoothScrolling: true,
  cursorWidth: 0,
  renderValidationDecorations: 'off',
  colorDecorators: false,
  hideCursorInOverviewRuler: true,
  overviewRulerLanes: 0,
  overviewRulerBorder: false,
};
Salin selepas log masuk

2 >3. Dapatkan kedudukan kursor semasa

<ngx-monaco-editor
  [options]="readEditorOptions"
  [(ngModel)]="originLogVal"
  (onInit)="initViewEditor($event, false)">
</ngx-monaco-editor>

public initViewEditor(editor: editor.ICodeEditor): void {
  // 这个editor就是实例
  // 下面方法中的editor就是这里的editor
  this.editor = editor
}
Salin selepas log masuk

4 Dapatkan teks yang sedang dipilih oleh tetikus

editor.getPosition()
Salin selepas log masuk

5 >6. Tatal baris yang ditentukan ke tengah kawasan yang boleh dilihat

editor.getModel().getValueInRange(editor.getSelection());
Salin selepas log masuk

7 Ikat acara

editor.setPosition({
      column: 1,
      lineNumber: 1,
    });
Salin selepas log masuk

8 >9. Sekat acara

editor.revealLineInCenter(1);
Salin selepas log masuk

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati:

Video Pengaturcaraan
editor.onMouseDown(event => {
  // do something
});
editor.onKeyDown(event => {
  // do something
});
Salin selepas log masuk
! !

Atas ialah kandungan terperinci Analisis ringkas tentang cara menggunakan editor monaco dalam sudut. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:juejin.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!