Este repositório contém as camadas de código aberto do editor do Microsoft Visual Studio. Isso inclui todas as definições de API públicas e algumas implementações de baixo nível do editor, incluindo o modelo de texto, a lógica de texto e os subsistemas de primitivos e operações do editor. Essas camadas destinam -se aos autores de extensão para se integrar melhor ao editor.
Com algumas advertências, as camadas deste repositório poderão o Visual Studio no Windows e o Visual Studio para editores do MAC. Embora os dois editores sejam construídos nesta base de código, muitos aspectos do editor não são de código aberto, incluindo as camadas WPF e Cacau UI.
O Visual Studio para Mac 8.1 introduziu um novo editor de texto MacOS nativo construído no Core "Real" Visual Studio Editor. Central para o nosso esforço contínuo para trazer benefícios de paridade e desempenho aos desenvolvedores, aproveitando e compartilhando mais código com o Visual Studio no Windows, as camadas da interface do usuário foram portadas diretamente do WPF para o cacau moderno.
Mais notavelmente, o editor de cacau usa o texto principal da Apple, os gráficos principais e as tecnologias de animação principal para executar o layout de modo retido e a renderização de texto de alta fidelidade. Entre outros aprimoramentos e integrações com o MacOS, agora suporta todos os métodos de entrada do MacOS através do protocolo NSTextInputClient .
Atualmente, o novo editor nativo baseado no Visual Studio e no editor do Legacy coexistem enquanto fazemos a transição de todos os serviços de idiomas para longe do editor do Legacy. Até agora, o Visual Studio para Mac suporta C# e XAML (em 8,2 visualizações), mas continuarão a permitir o suporte a outros idiomas nos próximos lançamentos. Consulte o Roteiro Visual Studio para Mac para obter detalhes sobre o que vem a seguir.
Este diagrama deve ajudar a visualizar a camada do Visual Studio para Mac em comparação com o Visual Studio, enquanto o editor do Legacy ainda existe em alguns idiomas.
Para facilitar a transferência do editor do WPF do Windows para o MacOS, foram feitas algumas mudanças de ruptura em algumas das interfaces de nível inferior. O plano em andamento é conciliar essas diferenças, de modo que não haja diferença de API entre os editores do WPF e do Cacau.
Por enquanto, no entanto, existem dois conjuntos separados de pacotes Nuget para direcionar o Visual Studio e o Visual Studio para Mac, disponíveis nas respectivas seções abaixo.
Embora a maioria das interfaces não relacionadas a UI seja idêntica nas implementações do WPF e do cacau do editor, muitas são novas, mas familiares: ao segmentar cacau, as interfaces ICocoa* geralmente podem ser encontradas no lugar de interfaces análogas IWpf* .
Os seguintes recursos devem ajudar os autores de extensão a se familiarizarem com as APIs e capacidades do editor e são relevantes para o Visual Studio e o Visual Studio para Mac.
Os pacotes NUGET estão próximos, mas todos os assembléias estão disponíveis para extensões para o Visual Studio para Mac ao usar o suplemento criador. Os assemblies também podem ser produzidos diretamente a partir deste repositório (consulte a criação da API do editor abaixo).
Consulte o Extending Visual Studio para documentação do MAC para obter detalhes.
No Windows, a API do Visual Studio Editor está disponível via Nuget e também é instalada com a carga de trabalho de desenvolvimento de extensão do Visual Studio.
| Pacote Nuget | Versão atual |
|---|---|
| Microsoft.VisualStudio.Coreutility | |
| Microsoft.visualstudio.text.data | |
| Microsoft.visualstudio.text.logic | |
| Microsoft.visualstudio.text.ui |
Embora esse repositório seja amplamente destinado a referência, ele pode produzir uma construção viável dos níveis mais baixos do editor. Open VSEditorCore.sln no Visual Studio ou Visual Studio para Mac e construa a partir do IDE ou construa na linha de comando.
Visual Studio 2019 ou Visual Studio para Mac 8.0 ou mais recente é necessário.
Os conjuntos estarão disponíveis no bin/ diretório na raiz do repositório.
$ msbuild /restore Os pacotes Nuget também podem ser produzidos localmente e estarão disponíveis no diretório _artifacts/nuget/ na raiz do repositório.
$ msbuild /t:PackEste projeto adotou o Código de Conduta Open Microsoft. Para obter mais informações, consulte o Código de Conduta Perguntas frequentes ou entre em contato com [email protected] com quaisquer perguntas ou comentários adicionais.
Geralmente, não estamos aceitando solicitações de tração para este repositório para o código do editor principal no momento. Sinta -se à vontade para enviar solicitações de puxar para outros conteúdos neste repositório, incluindo novas amostras.