Этот репозиторий содержит слои с открытым исходным кодом редактора Microsoft Visual Studio. Это включает в себя все общедоступные определения API и некоторые реализации редактора низкого уровня, включая текстовую модель, текстовую логику и примитивы редактора и операции. Эти слои предназначены для того, чтобы авторы расширения лучше интегрировались с редактором.
С несколькими предостережениями слои в этом репозитории питания как Visual Studio в Windows, так и Visual Studio для редакторов Mac. В то время как оба редактора построены на этой кодовой базе, многие аспекты редактора не являются открытым исходным кодом, включая слои WPF и какао.
Visual Studio для Mac 8.1 представила совершенно новый нативный текстовый редактор MacOS, основанный на «Real» Visual Studio Editor Core. Центральные в наших постоянных усилиях по предоставлению пособий по паритету и производительности разработчикам путем использования и обмена большим количеством кода с Visual Studio в Windows слои пользовательского интерфейса были перенесены непосредственно от WPF до современного какао.
В частности, редактор Cocoa использует основной текст Apple, основную графику и технологии основной анимации для выполнения макета поддержанного режима и рендеринг текста с высокой точностью. Среди других улучшений для и интеграции с MacOS, теперь он поддерживает все методы ввода macOS с помощью протокола NSTextInputClient .
В настоящее время новый нативный редактор, основанный на Visual Studio и The Legacy Editor, сосуществует, в то время как мы переходим все языковые услуги от редактора Legacy. Visual Studio для Mac поддерживает C# и XAML (в 8.2 предварительных просмотрах), но будет продолжать поддерживать другие языки в предстоящих выпусках. Пожалуйста, обратитесь к Visual Studio для Mac Roadmap для получения подробной информации о том, что будет дальше.
Эта диаграмма должна помочь визуализировать наслоение Visual Studio для Mac по сравнению с Visual Studio, в то время как редактор Legacy все еще существует для некоторых языков.
Чтобы облегчить портирование редактора WPF из Windows в MacOS, были внесены некоторые разбитые изменения в некоторых из интерфейсов нижнего уровня. Продолжающийся план состоит в том, чтобы примирить эти различия, так что между редакторами WPF и какао нет различий в API.
На данный момент, однако, существует два отдельных набора пакетов Nuget для нацеливания на Visual Studio и Visual Studio для Mac, доступные в соответствующих разделах ниже.
В то время как большинство интерфейсов, не связанных с UI, идентичны для реализаций редактора WPF и какао, многие из них являются новыми, но знакомыми: при нацеливании на какао, интерфейсы ICocoa* обычно можно найти вместо аналогичных интерфейсов IWpf* .
Следующие ресурсы должны помочь авторам расширения ознакомиться с API и возможностями редактора, а также для Mac.
Пакеты Nuget будут предстояться, но все сборки доступны для расширений для Visual Studio для Mac при использовании Add-Maker. Сборки также могут быть произведены непосредственно из этого репозитория (см. Построение API редактора ниже).
Для получения подробной информации обратитесь к расширяющейся Visual Studio для документации Mac.
В Windows API API Visual Studio Editor доступен через Nuget, а также установлен с рабочей нагрузкой Development Extension Visual Studio.
| Nuget Package | Текущая версия |
|---|---|
| Microsoft.visualStudio.coreutility | |
| Microsoft.visualstudio.text.data | |
| Microsoft.visualstudio.text.logic | |
| Microsoft.visualStudio.text.ui |
Хотя этот репозиторий в значительной степени предназначен для справки, он может создать жизнеспособную сборку более низких уровней редактора. Либо откройте VSEditorCore.sln в Visual Studio или Visual Studio для Mac и создайте из IDE, либо постройте командную строку.
Visual Studio 2019 или Visual Studio для Mac 8.0 или новая.
Сборки будут доступны в bin/ каталоге в корне репозитория.
$ msbuild /restore Пакеты NUGET также могут быть произведены локально и будут доступны в каталоге _artifacts/nuget/ в корне репозитория.
$ msbuild /t:PackЭтот проект принял код поведения с открытым исходным кодом Microsoft. Для получения дополнительной информации см. Кодекс поведения FAQ или свяжитесь с [email protected] с любыми дополнительными вопросами или комментариями.
Как правило, мы не принимаем запросы на привлечение этого репозитория для кода основного редактора в настоящее время. Пожалуйста, не стесняйтесь отправлять запросы на привлечение другого контента в этом репозитории, включая новые образцы.