Der Monaco -Editor ist der vollständig vorgestellte Code -Editor von VS Code. Schauen Sie sich die VS -Code -Dokumente an, um einige der unterstützten Funktionen anzuzeigen.

Probieren Sie den Herausgeber aus und sehen Sie verschiedene Beispiele auf unserem interaktiven Spielplatz.
Der Spielplatz ist der beste Weg, um zu erfahren, wie der Editor verwendet wird, der unterstützt wird, um verschiedene Versionen auszuprobieren und minimal reproduzierbare Beispiele für Fehlerberichte zu erstellen.
> npm install monaco-editor
Sie werden:
/esm : ESM -Version des Editors (kompatibel mit EG WebPack)/dev : Amd gebündelt, nicht abgebrochen/min : amd gebündelt und abgebaut/min-maps : Quellenkarten für minmonaco.d.ts : Dies gibt die API des Editors an (dies ist tatsächlich, was tatsächlich versioniert wird, alles andere wird als privat angesehen und könnte mit jeder Veröffentlichung brechen). Es wird empfohlen, sich gegen die dev und in der Produktion zu entwickeln, um die min -Version zu verwenden.
Der Monaco -Editor ist am besten dafür bekannt, der Texteditor zu sein, der gegen Code versorgt. Es ist jedoch etwas nuancierter. Ein grundlegendes Verständnis der zugrunde liegenden Konzepte ist erforderlich, um den Monaco -Editor effektiv zu verwenden.
Modelle sind das Herzstück des Monaco -Herausgebers. Es ist das, womit Sie beim Verwalten von Inhalten interagieren. Ein Modell repräsentiert eine Datei, die geöffnet wurde. Dies könnte eine Datei darstellen, die in einem Dateisystem vorhanden ist, muss dies jedoch nicht. Zum Beispiel enthält das Modell den Textinhalt, bestimmt die Sprache des Inhalts und verfolgt den Bearbeitungsverlauf des Inhalts.
Jedes Modell wird durch einen URI identifiziert. Aus diesem Grund ist es nicht möglich, dass zwei Modelle dieselbe URI haben. Wenn Sie Inhalte im Monaco -Editor darstellen, sollten Sie sich ein virtuelles Dateisystem vorstellen, das den Dateien entspricht, die Ihre Benutzer bearbeiten. Sie können beispielsweise file:/// als Basispfad verwenden. Wenn ein Modell ohne URI erstellt wird, ist seine URI inmemory://model/1 . Die Anzahl steigt, wenn mehr Modelle erstellt werden.
Ein Editor ist eine Benutzeransicht des Modells. Dies ist, was dem DOM und dem, was Ihre Benutzer visuell sehen, beigefügt werden. Typische Editoroperationen zeigen ein Modell an, verwalten den Ansichtsstatus oder führen Aktionen oder Befehle aus.
Anbieter bieten Smart Editor -Funktionen an. Dies beinhaltet beispielsweise die Abschluss- und Schwebeinformationen. Es ist nicht dasselbe wie, sondern kartiert häufig den Features des Sprachserverprotokolls.
Anbieter arbeiten an Modellen. Einige intelligente Funktionen hängen von der Datei -URI ab. Zum Beispiel, damit TypeScript -Importe oder JSON -IntelliSense, um zu bestimmen, welches JSON -Schema auf welches Modell angewendet werden soll. Daher ist es wichtig, die richtigen Modell -URIs zu wählen.
Viele von Monaco verwandte Objekte implementieren häufig die .dispose() -Methode. Diese Methode soll Reinigungen durchführen, wenn keine Ressource mehr benötigt wird. Zum Beispiel wird das Calling model.dispose() es nicht registrieren und die URI für ein neues Modell befreien. Die Redakteure sollten zu freien Ressourcen veranlasst sein und ihre Modellhörer entfernen.
monaco.d.ts .Erstellen Sie Probleme in diesem Repository für alles, was mit dem Monaco -Editor zu tun hat. Bitte suchen Sie nach vorhandenen Problemen, um Duplikate zu vermeiden.
❓ Wie ist die Beziehung zwischen VS Code und dem Monaco -Editor?
Der Monaco -Editor wird direkt aus den Quellen von VS Code mit einigen SCHWEISEN ROL -Diensten generiert, die der Code benötigt, um es in einem Webbrowser außerhalb seines Hauses zu betreiben.
❓ Wie ist die Beziehung zwischen der Version des VS -Code und der Version des Monaco Editors?
Keiner. Der Monaco -Editor ist eine Bibliothek und spiegelt direkt den Quellcode wider.
❓ Ich habe eine Erweiterung für VS Code geschrieben. Wird sie in einem Browser auf dem Monaco -Editor funktionieren?
NEIN.
Hinweis: Wenn die Erweiterung vollständig auf dem LSP basiert und der Sprachserver in JavaScript verfasst wird, wäre dies möglich.
❓ Warum all diese Webarbeiter und warum sollte ich mich interessieren?
Sprachdienste erstellen Webarbeiter, um schwere Sachen außerhalb des UI -Threads zu berechnen. Sie kosten kaum etwas in Bezug auf Ressourcenaufwand und Sie sollten sich nicht zu sehr Sorgen um sie machen, solange Sie sie zum Laufen bringen (siehe über dem Cross-Domain-Fall).
❓ Was ist dieser loader.js ? Kann ich require.js verwenden?
Es ist ein AMD -Loader, den wir im VS -Code verwenden. Ja.
❓ Ich sehe die Warnung "konnte keine Webarbeiter erstellen". Was soll ich tun?
HTML5 erlaubt nicht, dass Seiten in file:// Webarbeiter erstellt werden. Bitte laden Sie den Editor mit einem Webserver auf http:// oder https:// Schemen.
❓ Wird der Editor in mobilen Browsern oder mobilen Web -App -Frameworks unterstützt?
NEIN.
❓ Warum unterstützt der Editor nicht die Textmate -Grammatiken?
monaco-editor , vscode-oniguruma und vscode-textmate zusammenstellt, um TM-Grammatikunterstützung im Editor zu erhalten. Wir begrüßen Beiträge der Community! Weitere Informationen finden Sie unter Bereitstellungen, wie Sie effektiv beitragen können, wie Sie den Editor aus Quellen ausführen können und wie Sie Probleme debuggen und beheben können.
Dieses Projekt hat den Microsoft Open Source -Verhaltenscode übernommen. Weitere Informationen finden Sie im FAQ oder wenden Sie sich an [email protected] mit zusätzlichen Fragen oder Kommentaren.
Lizenziert unter der MIT -Lizenz.