Monacoエディターは、VSコードの完全に機能するコードエディターです。サポートされている機能のいくつかを確認するには、VSコードドキュメントをチェックしてください。

編集者を試してみて、インタラクティブな遊び場でさまざまな例をご覧ください。
遊び場は、エディターの使用方法について学ぶための最良の方法です。この機能は、サポート、さまざまなバージョンを試し、バグレポートの最小限の再現性の例を作成します。
> npm install monaco-editor
あなたが得るでしょう:
/esm :EDITORのESMバージョン(EG Webpackと互換性)/dev :AMDはバンドルされており、縮小されていません/min :AMDがバンドルされ、削除されました/min-maps : minのソースマップmonaco.d.ts :これは、エディターのAPIを指定します(これは実際にバージョンされているものであり、他のすべてはプライベートと見なされ、リリースで壊れる可能性があります)。 devバージョンに対して開発し、生産中にminバージョンを使用することをお勧めします。
Monaco Editorは、コードとコードをパワーするテキストエディターであることで最もよく知られています。しかし、それはもう少し微妙です。 Monaco Editorを効果的に使用するには、根本的な概念に関するいくつかの基本的な理解が必要です。
モデルはモナコの編集者の中心にあります。コンテンツを管理するときにやり取りするものです。モデルは、開かれたファイルを表します。これは、ファイルシステムに存在するファイルを表すことができますが、そうする必要はありません。たとえば、モデルはテキストコンテンツを保持し、コンテンツの言語を決定し、コンテンツの編集履歴を追跡します。
各モデルはURIによって識別されます。これが、2つのモデルが同じURIを持つことができない理由です。理想的には、Monaco Editorでコンテンツを表すときは、ユーザーが編集しているファイルに一致する仮想ファイルシステムを検討する必要があります。たとえば、 file:///ベースパスとして使用できます。モデルがURIなしで作成された場合、そのURIはinmemory://model/1になります。より多くのモデルが作成されると、数が増加します。
エディターは、モデルのビューに直面するユーザーです。これは、DOMに添付されるものであり、ユーザーが視覚的に表示されるものです。典型的なエディター操作は、モデルの表示、ビュー状態の管理、またはアクションまたはコマンドの実行です。
プロバイダーはスマートエディター機能を提供します。たとえば、これには完了とホバー情報が含まれます。それは同じではありませんが、多くの場合、言語サーバーのプロトコル機能をマッピングします。
プロバイダーはモデルに取り組んでいます。いくつかのスマート機能は、ファイルURIに依存します。たとえば、TypeScriptがインポートを解決するため、またはJSON Intellisenseがどのモデルに適用するかを決定するJSON Intellisenseの場合。したがって、適切なモデルURIを選択することが重要です。
多くのモナコ関連オブジェクトは、しばしば.dispose()メソッドを実装します。この方法は、リソースが不要になったときにクリーンアップを実行することを目的としています。たとえば、Calling model.dispose()はそれを解除し、新しいモデルのためにURIを解放します。編集者は、リソースを解放し、モデルリスナーを削除するために処分する必要があります。
monaco.d.tsから直接読んでください。Monacoエディターに関連するものについて、このリポジトリに問題を作成します。重複を避けるために、既存の問題を検索してください。
vs VSコードとモナコエディターの関係は何ですか?
Monacoエディターは、VSコードのソースから直接生成され、サービスの周りにいくつかのシムがあり、コードは自宅の外のWebブラウザで実行するために必要です。
vs VSコードのバージョンとMonaco Editor'sバージョンの関係は何ですか?
なし。 Monaco Editorはライブラリであり、ソースコードを直接反映しています。
vs VSコードの拡張機能を書きましたが、ブラウザのMonacoエディターで動作しますか?
いいえ。
注:拡張機能がLSPに完全に基づいており、言語サーバーがJavaScriptで承認されている場合、それは可能です。
❓なぜこれらすべてのWebワーカーとなぜ私は気にする必要があるのですか?
言語サービスは、UIスレッドの外側に重いものを計算するためにWebワーカーを作成します。リソースのオーバーヘッドに関してはほとんど何もかかりません。あなたがそれらを動作させる限り、あなたはそれらについてあまり心配するべきではありません(クロスドメインの場合は上記を参照)。
loader.jsは何ですか? require.jsを使用できますか?
これは、VSコードで使用するAMDローダーです。はい。
「警告は「Webワーカーを作成できなかった」と表示されます。どうすればいいですか?
HTML5ではfile://にロードされたページがWebワーカーを作成することを許可していません。 http://またはhttps:// schemesにWebサーバーを編集してください。
editorエディターは、モバイルブラウザまたはモバイルWebアプリフレームワークでサポートされていますか?
いいえ。
editor編集者がテキストメイトの文法をサポートしないのはなぜですか?
monaco-editor 、 vscode-oniguruma 、 vscode-textmateをまとめます。 コミュニティからの貢献を歓迎しています!詳細については、どのように効果的に貢献できるか、ソースから編集者を実行する方法、および問題をデバッグおよび修正する方法をご覧ください。
このプロジェクトは、Microsoftのオープンソース行動規範を採用しています。詳細については、FAQのコードを参照するか、追加の質問やコメントについては[email protected]にお問い合わせください。
MITライセンスに基づいてライセンスされています。