Ce référentiel contient les couches open source de l'éditeur Microsoft Visual Studio. Cela inclut toutes les définitions publiques d'API et quelques implémentations de bas niveau de l'éditeur, y compris le modèle de texte, la logique de texte et les sous-systèmes de primitives et d'opérations de l'éditeur. Ces couches sont destinées aux auteurs d'extension pour mieux s'intégrer à l'éditeur.
Avec quelques mises en garde, les couches de ce référentiel alimentent à la fois Visual Studio sur Windows et Visual Studio pour les éditeurs Mac. Bien que les deux éditeurs soient construits sur cette base de code, de nombreux aspects de l'éditeur ne sont pas open source, y compris les couches WPF et CoCoa UI.
Visual Studio pour Mac 8.1 a introduit un tout nouvel éditeur de texte macOS natif construit sur le "vrai" Visual Studio Editor Core. Au cœur de nos efforts continus pour apporter des avantages de parité et de performance aux développeurs en tirant parti et en partageant plus de code avec Visual Studio sous Windows, les couches d'interface utilisateur ont été transférées directement de WPF au cacao moderne.
Plus particulièrement, l'éditeur de cacao utilise le texte de base, les graphiques de base d'Apple et les technologies d'animation de base pour effectuer la disposition en mode retenu et le rendu haute fidélité du texte. Parmi les autres améliorations et intégrations avec MacOS, il prend désormais en charge toutes les méthodes d'entrée MacOS via le protocole NSTextInputClient .
Actuellement, le nouvel éditeur natif basé sur Visual Studio et l'éditeur Legacy coexistent pendant que nous transitionnons tous les services linguistiques loin de l'éditeur Legacy. Visual Studio pour Mac prend en charge C # et XAML (dans 8.2 aperçus) jusqu'à présent, mais continuera de permettre la prise en charge d'autres langues au cours des versions à venir. Veuillez vous référer au Visual Studio pour la feuille de route Mac pour plus de détails sur la prochaine étape.
Ce diagramme devrait aider à visualiser la superposition de Visual Studio pour Mac par rapport à Visual Studio tandis que l'éditeur Legacy existe toujours pour certaines langues.
Afin de faciliter le portage de l'éditeur WPF de Windows à MacOS, certaines modifications de rupture ont été apportées à certaines des interfaces de niveau inférieur. Le plan en cours consiste à concilier ces différences de telle sorte qu'il n'y a aucune différence API entre les éditeurs WPF et Cocoa.
Pour l'instant, cependant, il existe deux ensembles distincts de packages NuGet pour cibler Visual Studio et Visual Studio pour Mac, disponible dans les sections respectives ci-dessous.
Alors que la plupart des interfaces non liées à l'UI sont identiques à travers les implémentations WPF et cacao de l'éditeur, beaucoup sont nouvelles mais familières: lors du ciblage des interfaces de cacao, ICocoa* se trouvent généralement à la place des interfaces analogues IWpf* .
Les ressources suivantes devraient aider les auteurs d'extension se familiariser avec les API et les capacités de l'éditeur, et sont pertinents pour Visual Studio et Visual Studio pour Mac.
Les packages NuGet sont à venir, mais tous les assemblages sont disponibles pour les extensions pour Visual Studio pour Mac lors de l'utilisation de Maker complément. Les assemblages peuvent également être produits directement à partir de ce référentiel (voir la construction de l'API de l'éditeur ci-dessous).
Reportez-vous à l'extension Visual Studio pour la documentation Mac pour plus de détails.
Sur Windows, l'API Visual Studio Editor est disponible via NUGET et est également installé avec la charge de travail de développement d'extension Visual Studio.
| Package Nuget | Version actuelle |
|---|---|
| Microsoft.VisualStudio.Coreutility | |
| Microsoft.visualstudio.text.data | |
| Microsoft.visualstudio.text.logic | |
| Microsoft.visualstudio.text.ui |
Bien que ce référentiel soit largement destiné à référence, il peut produire une construction viable des niveaux inférieurs de l'éditeur. Open VSEditorCore.sln dans Visual Studio ou Visual Studio pour Mac et construit à partir de l'IDE, soit construire sur la ligne de commande.
Visual Studio 2019 ou Visual Studio pour Mac 8.0 ou plus nouveau est requis.
Les assemblages seront disponibles dans le bin/ répertoire à la racine du référentiel.
$ msbuild /restore Les packages NuGet peuvent également être produits localement et seront disponibles dans le répertoire _artifacts/nuget/ à la racine du référentiel.
$ msbuild /t:PackCe projet a adopté le code de conduite open source Microsoft. Pour plus d'informations, consultez le code de conduite FAQ ou contactez [email protected] avec toute question ou commentaire supplémentaire.
Nous n'acceptons généralement pas les demandes de traction pour ce référentiel pour le code de l'éditeur de base pour le moment. N'hésitez pas à soumettre des demandes de traction pour d'autres contenus dans ce référentiel, y compris de nouveaux échantillons.