Editor Monaco adalah editor kode unggulan penuh dari VS Code. Lihatlah dokumen VS Code untuk melihat beberapa fitur yang didukung.

Cobalah editor dan lihat berbagai contoh di taman bermain interaktif kami.
Taman bermain adalah cara terbaik untuk belajar tentang cara menggunakan editor, fitur mana yang merupakan dukungan, untuk mencoba versi yang berbeda dan untuk membuat contoh yang dapat direproduksi minimal untuk laporan bug.
> npm install monaco-editor
Anda akan mendapatkan:
/esm : Versi ESM dari Editor (kompatibel dengan EG Webpack)/dev : AMD dibundel, tidak terpencil/min : AMD Bundled, dan Minified/min-maps : Peta Sumber untuk minmonaco.d.ts : Ini menentukan API editor (inilah yang sebenarnya diversi, yang lainnya dianggap pribadi dan mungkin pecah dengan rilis apa pun). Dianjurkan untuk berkembang terhadap versi dev , dan dalam produksi untuk menggunakan versi min .
Editor Monaco terkenal sebagai editor teks yang Powers vs Code. Namun, ini sedikit lebih bernuansa. Beberapa pemahaman dasar tentang konsep yang mendasari diperlukan untuk menggunakan editor Monako secara efektif.
Model berada di jantung editor Monako. Ini adalah apa yang Anda berinteraksi saat mengelola konten. Model mewakili file yang telah dibuka. Ini bisa mewakili file yang ada pada sistem file, tetapi tidak harus. Misalnya, model memegang konten teks, menentukan bahasa konten, dan melacak riwayat edit konten.
Setiap model diidentifikasi oleh URI. Inilah sebabnya mengapa tidak mungkin dua model memiliki URI yang sama. Idealnya ketika Anda mewakili konten di editor Monaco, Anda harus memikirkan sistem file virtual yang cocok dengan file yang diedit oleh pengguna Anda. Misalnya, Anda dapat menggunakan file:/// sebagai jalur dasar. Jika model dibuat tanpa URI, URI -nya akan menjadi inmemory://model/1 . Jumlahnya meningkat karena lebih banyak model dibuat.
Editor adalah pengguna yang menghadapi tampilan model. Inilah yang melekat pada DOM dan apa yang dilihat pengguna Anda secara visual. Operasi editor yang khas menampilkan model, mengelola keadaan tampilan, atau melaksanakan tindakan atau perintah.
Penyedia menyediakan fitur editor pintar. Misalnya, ini termasuk informasi penyelesaian dan melayang. Ini tidak sama dengan, tetapi sering memetakan ke fitur protokol server bahasa.
Penyedia bekerja pada model. Beberapa fitur pintar tergantung pada file URI. Misalnya, untuk TypeScript untuk menyelesaikan impor, atau untuk JSON Intellisense untuk menentukan skema JSON mana yang akan diterapkan pada model mana. Jadi penting untuk memilih URI model yang tepat.
Banyak objek terkait Monako sering mengimplementasikan metode .dispose() . Metode ini dimaksudkan untuk melakukan pembersihan ketika sumber daya tidak lagi diperlukan. Misalnya, panggilan model.dispose() akan membatalkan pendaftaran, membebaskan URI untuk model baru. Editor harus cenderung untuk membebaskan sumber daya dan menghapus pendengar model mereka.
monaco.d.ts .Buat masalah dalam repositori ini untuk apa pun yang terkait dengan editor Monako. Harap cari masalah yang ada untuk menghindari duplikat.
❓ Apa hubungan antara VS Code dan editor Monako?
Editor Monaco dihasilkan langsung dari sumber VS Code dengan beberapa shims di sekitar layanan yang perlu dilakukan kode untuk dijalankan di browser web di luar rumahnya.
❓ Apa hubungan antara versi VS Code dan versi editor Monako?
Tidak ada. Editor Monaco adalah perpustakaan dan mencerminkan langsung kode sumber.
❓ Saya sudah menulis ekstensi untuk VS Code, apakah ini akan berfungsi pada editor Monaco di browser?
TIDAK.
Catatan: Jika ekstensi sepenuhnya didasarkan pada LSP dan jika server bahasa ditulis dalam JavaScript, maka itu akan dimungkinkan.
❓ Mengapa semua pekerja web ini dan mengapa saya harus peduli?
Layanan bahasa membuat pekerja web untuk menghitung barang -barang berat di luar utas UI. Harganya hampir tidak ada biaya dalam hal overhead sumber daya dan Anda tidak perlu terlalu khawatir tentang mereka, selama Anda membuatnya bekerja (lihat di atas kasus lintas domain).
❓ Apa loader.js ini? Bisakah saya menggunakan require.js ?
Ini adalah loader AMD yang kami gunakan dalam kode VS. Ya.
❓ Saya melihat peringatan "tidak dapat membuat pekerja web". Apa yang harus saya lakukan?
HTML5 tidak mengizinkan halaman yang dimuat pada file:// untuk membuat pekerja web. Harap muat editor dengan server web di http:// atau https:// skema.
❓ Apakah editor didukung di browser seluler atau kerangka kerja aplikasi web seluler?
TIDAK.
❓ Mengapa editor tidak mendukung tata bahasa TextMate?
monaco-editor , vscode-oniguruma dan vscode-textmate untuk mendapatkan dukungan tata bahasa TM di editor. Kami menyambut kontribusi dari komunitas! Silakan lihat berkontribusi untuk detail bagaimana Anda dapat berkontribusi secara efektif, bagaimana Anda dapat menjalankan editor dari sumber dan bagaimana Anda dapat men -debug dan memperbaiki masalah.
Proyek ini telah mengadopsi kode perilaku open source Microsoft. Untuk informasi lebih lanjut, lihat FAQ Kode Perilaku atau hubungi [email protected] dengan pertanyaan atau komentar tambahan.
Berlisensi di bawah lisensi MIT.