Este repositorio contiene las capas de código abierto del editor de Microsoft Visual Studio. Esto incluye todas las definiciones de API públicas y algunas implementaciones de bajo nivel del editor, incluido el modelo de texto, la lógica de texto y los subsistemas de primitivos y operaciones del editor. Estas capas están destinadas a que los autores de extensión se integren mejor con el editor.
Con algunas advertencias, las capas en este repositorio alimentan tanto Visual Studio en Windows como en Visual Studio para editores de Mac. Si bien ambos editores se basan en esta base de código, muchos aspectos del editor no son de código abierto, incluidas las capas WPF y Cocoa UI.
Visual Studio para Mac 8.1 introdujo un nuevo editor de texto de MacOS nativo construido en el núcleo de editor de Visual Studio "Real". Central para nuestro esfuerzo continuo para brindar la paridad y los beneficios de rendimiento a los desarrolladores aprovechando y compartiendo más código con Visual Studio en Windows, las capas de interfaz de usuario se portaban directamente de WPF a Cocoa moderna.
En particular, el editor de cacao utiliza el texto principal de Apple, los gráficos principales y las tecnologías de animación central para realizar el diseño de modo retenido y la representación de texto de alta fidelidad. Entre otras mejoras e integraciones con macOS, ahora admite todos los métodos de entrada de MacOS a través del protocolo NSTextInputClient .
Actualmente, el nuevo editor nativo basado en Visual Studio y el editor de Legacy coexisten mientras que transitimos todos los servicios de idiomas del editor heredado. Visual Studio para Mac admite C# y XAML (en 8.2 vistas previas) hasta ahora, pero continuará habilitando el soporte para otros idiomas durante los próximos lanzamientos. Consulte el Visual Studio para Mac Roadmap para obtener detalles sobre lo que sigue.
Este diagrama debería ayudar a visualizar la capa de Visual Studio para Mac en comparación con Visual Studio, mientras que el editor heredado todavía existe para algunos idiomas.
Para facilitar la transferencia del editor WPF desde Windows a MacOS, se han realizado algunos cambios de ruptura en algunas de las interfaces de nivel inferior. El plan en curso es conciliar estas diferencias de manera que no haya ninguna diferencia de API entre los editores de WPF y Cocoa.
Por ahora, sin embargo, hay dos conjuntos separados de paquetes Nuget para apuntar a Visual Studio y Visual Studio para Mac, disponibles en las secciones respectivas a continuación.
Si bien la mayoría de las interfaces no relacionadas con la UI son idénticas en las implementaciones de WPF y Cocoa del editor, muchas son nuevas pero familiares: cuando se dirigen a las interfaces de cacao, ICocoa* generalmente se pueden encontrar en lugar de interfaces IWpf* análogas.
Los siguientes recursos deben ayudar a los autores de extensión a familiarizarse con las API y las capacidades del editor, y son relevantes para Visual Studio y Visual Studio para Mac.
Los paquetes Nuget se presentan, pero todos los ensamblajes están disponibles para Extensions for Visual Studio para Mac cuando se usa el fabricante de complementos. Los ensamblajes también se pueden producir directamente a partir de este repositorio (consulte el edificio de la API del editor a continuación).
Consulte el Extensor Visual Studio para la documentación de Mac para más detalles.
En Windows, la API de Visual Studio Editor está disponible a través de Nuget y también está instalada con la carga de trabajo de Desarrollo de Extensión de Visual Studio.
| Paquete nuget | Versión actual |
|---|---|
| Microsoft.visualstudio.coreutility | |
| Microsoft.visualstudio.text.data | |
| Microsoft.visualstudio.text.logic | |
| Microsoft.visualstudio.text.ui |
Si bien este repositorio está destinado en gran medida a referencia, puede producir una construcción viable de los niveles inferiores del editor. Oen VSEditorCore.sln en Visual Studio o Visual Studio para Mac y construya desde el IDE, o construya en la línea de comandos.
Se requiere Visual Studio 2019 o Visual Studio para Mac 8.0 o más nuevo.
Los ensamblajes estarán disponibles en el bin/ directorio en la raíz del repositorio.
$ msbuild /restore Los paquetes Nuget también se pueden producir localmente y estarán disponibles en el directorio _artifacts/nuget/ en la raíz del repositorio.
$ msbuild /t:PackEste proyecto ha adoptado el Código de Conducta Open Open Microsoft. Para obtener más información, consulte el Código de Conducta Preguntas frecuentes o comuníquese con [email protected] con cualquier pregunta o comentario adicional.
Generalmente no estamos aceptando solicitudes de extracción de este repositorio para el código del editor central en este momento. No dude en enviar solicitudes de extracción de otro contenido en este repositorio, incluidas nuevas muestras.