Dieses Repository enthält die Open -Source -Schichten des Microsoft Visual Studio -Editors. Dies umfasst alle öffentlichen API -Definitionen und einige Implementierungen des Editors auf niedriger Ebene, einschließlich der Subsysteme des Textmodells, der Textlogik und der Editor Primitives & Operations -Subsysteme. Diese Ebenen sollen Erweiterungsautoren besser in den Editor integrieren.
Mit ein paar Vorbehalten werden die Ebenen in diesem Repository sowohl Visual Studio unter Windows als auch im Visual Studio für Mac -Redakteure betrieben. Während beide Redakteure auf dieser Codebasis basieren, sind viele Aspekte des Editors keine Open Source, einschließlich der WPF- und Cocoa -UI -Ebenen.
Visual Studio für Mac 8.1 stellte einen brandneuen nativen MacOS -Texteditor vor, der auf dem "Real" Visual Studio Editor Core basiert. Die UI -Ebenen wurden von zentraler Bedeutung für unsere kontinuierlichen Bemühungen, Paritäts- und Leistungsvorteilen für Entwickler zu bringen, indem mehr Code mit Visual Studio unter Windows genutzt und geteilt wurde.
Vor allem der Cocoa-Editor verwendet Apples Kerntext-, Kerngrafik- und Kernanimationstechnologien, um das Layout für das Haltenmodus und die High-Fidelity-Rendering von Text durchzuführen. Unter anderen Verbesserungen und Integrationen mit macOS unterstützt es nun alle MacOS -Eingabemethoden über das NSTextInputClient -Protokoll.
Derzeit existieren der neue native Editor basierend auf Visual Studio und dem Legacy Editor, während wir alle Sprachdienste vom Legacy-Editor wegwenden. Visual Studio for MAC unterstützt bisher C# und XAML (in 8.2 Vorschau), ermöglicht jedoch weiterhin Unterstützung für andere Sprachen in den kommenden Veröffentlichungen. In der Visual Studio finden Sie im Visual Studio für Mac Roadmap Details, was als nächstes kommt.
Dieses Diagramm sollte dazu beitragen, die Schicht von Visual Studio für Mac im Vergleich zu Visual Studio zu visualisieren, während der Legacy -Editor noch für einige Sprachen vorhanden ist.
Um das Portieren des WPF-Editors von Windows zu macOS zu erleichtern, wurden einige der Schnittstellen auf niedrigerer Ebene vorgenommen. Der laufende Plan besteht darin, diese Unterschiede so zu vereinbaren, dass zwischen den WPF- und Kakao -Herausgebern keinerlei API -Unterschied besteht.
Derzeit gibt es jedoch zwei separate Sätze von Nuget -Paketen für Visual Studio und Visual Studio für MAC, die in den jeweiligen Abschnitten unten verfügbar sind.
Während die meisten nicht-UI-verwandten Schnittstellen in WPF- und Kakao-Implementierungen des Editors identisch sind, sind viele neue und doch vertraute: ICocoa* -Schnitterflächen können im Allgemeinen anstelle von analogen IWpf* Schnittstellen gefunden werden.
Die folgenden Ressourcen sollten die Erweiterungsautoren helfen, sich mit den Editor -APIs und -Funktionen vertraut zu machen, und sind sowohl für Visual Studio als auch für Visual Studio für Mac relevant.
Nuget-Pakete stehen vor, aber alle Baugruppen stehen Erweiterungen für Visual Studio für Mac bei der Verwendung von Add-In-Hersteller zur Verfügung. Die Baugruppen können auch direkt aus diesem Repository hergestellt werden (siehe Erstellung der Editor -API unten).
Weitere Informationen finden Sie im erweiterten Visual Studio für Mac -Dokumentation.
Unter Windows ist die Visual Studio -Editor -API über Nuget erhältlich und wird auch mit der Workload der Visual Studio Extension Development Development installiert.
| Nuget -Paket | Aktuelle Version |
|---|---|
| Microsoft.visualstudio.coreutility | |
| Microsoft.visualstudio.text.data | |
| Microsoft.visualstudio.text.logic | |
| Microsoft.visualstudio.text.ui |
Während dieses Repository größtenteils als Referenz bestimmt ist, kann es einen praktikablen Aufbau der unteren Ebenen des Editors erzeugen. Entweder Open VSEditorCore.sln in Visual Studio oder Visual Studio für Mac und erstellen Sie aus der IDE, oder erstellen Sie auf der Befehlszeile.
Visual Studio 2019 oder Visual Studio für Mac 8.0 oder neuer ist erforderlich.
Die Baugruppen sind im Stammpunkt des Repositorys im bin/ Verzeichnis erhältlich.
$ msbuild /restore Nuget -Pakete können auch lokal erstellt werden und sind im _artifacts/nuget/ verzeichnis am root des repositorys erhältlich.
$ msbuild /t:PackDieses 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.
Wir akzeptieren zu diesem Zeitpunkt im Allgemeinen keine Pull -Anfragen für dieses Repository für den Core -Editor -Code. Bitte zögern Sie nicht, Pull -Anfragen für andere Inhalte in diesem Repository, einschließlich neuer Muster, zu senden.