Compartir a través de


Acerca de VisualStudio.Extensibility (versión preliminar)

VisualStudio.Extensibility es un nuevo marco para desarrollar extensiones de Visual Studio que se centra principalmente en extensiones que se ejecutan fuera de proceso desde el IDE para mejorar el rendimiento y la confiabilidad. Cuenta con una API moderna y asincrónica optimizada y cuidadosamente diseñada para maximizar la productividad del desarrollador. VisualStudio.Extensibility está en desarrollo activo y está disponible como versión preliminar.

Con la versión preliminar actual, puede desarrollar una amplia gama de extensiones para Visual Studio, entre las que se incluyen, entre otras:

  • Creación de comandos
  • Trabajar con código o texto en el editor
  • Mostrar mensajes o diálogos al usuario
  • Creación de visualizadores de depuración

VisualStudio.Extensibility tiene como objetivo abordar muchos de los problemas que experimentan los desarrolladores al usar y escribir extensiones en Visual Studio. Escribir extensiones con VisualStudio.Extensibility proporciona las siguientes ventajas:

  • Mayor confiabilidad: Visual Studio sigue respondiendo y no se bloqueará si una extensión falla o se cuelga.
  • Complejidad reducida de la API: VisualStudio.Extensibility tiene una arquitectura simplificada, API coherentes y documentación clara.
  • Funcionalidad de carga activa: No es necesario reiniciar Visual Studio al instalar extensiones.

Finalmente, podrá usar el SDK de extensibilidad de VisualStudio.Extensibility para escribir cualquier extensión que pueda escribir con el SDK de Visual Studio. Sin embargo, hasta ese momento, podría encontrarse con situaciones en las que la funcionalidad que necesita en la extensión aún no está disponible en VisualStudio.Extensibility. En ese caso, puede usar el SDK VisualStudio.Extensibility junto con el SDK de Visual Studio que se ejecuta en el mismo proceso para cubrir cualquier brecha de características. Para más información, consulte Extensiones en proceso.

Puede encontrar la información más reciente sobre VisualStudio.Extensibility en el repositorio de GitHub VSExtensibility en anuncios.

Artículo Descripción
Instalación de VisualStudio.Extensibility Descargue e instale la versión preliminar más reciente de VisualStudio.Extensibility.
Introducción Comience con inicios rápidos para principiantes y tutoriales introductorios si no ha desarrollado una extensión antes.
Conceptos Cree su modelo mental de cómo funcionan el SDK y las extensiones.
Descripciones Para más información, lea información general de cada área principal de funcionalidad.
Muestras Explore el código de ejemplo que muestra las características principales.
Referencia de las API Examine la documentación de la API de extensibilidad de VisualStudio.Extensibility.
API experimentales y cambios importantes Obtenga información sobre nuestro enfoque para las API estables versus experimentales y sobre los cambios importantes de la versión anterior.
Problemas conocidos Vea los problemas conocidos con el SDK de extensibilidad de VisualStudio.Extensibility.
Temas avanzados Obtenga información sobre los detalles de implementación del SDK de extensibilidad de VisualStudio.Extensibility.

Instalación de VisualStudio.Extensibility

La versión preliminar actual de VisualStudio.Extensibility funciona con Visual Studio 2022 versión 17.9 Preview 1 o posterior con la Visual Studio extension development carga de trabajo que se va a instalar.

Comienza

Los siguientes artículos le ayudarán a orientarse e iniciarse"

Para comprender cómo trabajar con VisualStudio.Extensibility, se recomienda una comprensión exhaustiva de la programación asincrónica con async y await y la inserción de dependencias. Además, la interfaz de usuario de VisualStudio.Extensibility se basa en Windows Presentation Foundation (WPF), por lo que es posible que quiera revisar la documentación de WPF.

Conceptos

Si está familiarizado con el SDK de Visual Studio, consulte Introducción a visualStudio.Extensibility para los usuarios de VSSDK.

Para crear el modelo mental de cómo funcionan las extensiones de Visual Studio, consulte Partes de una nueva extensión de Visual Studio para obtener información sobre la arquitectura de una extensión. Además, puede leer sobre la inserción de dependencias que se usa para compartir componentes entre componentes de una extensión.

Para averiguar lo que se incluye en el SDK, consulte Áreas funcionales del SDK.

¿Cuándo y dónde debe aparecer la extensión en el IDE? Las extensiones de Visual Studio aparecen en el IDE cuando se cumplen determinadas condiciones. Para tener control sobre cómo y cuándo aparece la extensión en el IDE, consulte Restricciones de activación basadas en reglas.

Las extensiones de Visual Studio hacen que sus características estén disponibles para Visual Studio mediante contribuciones. Para obtener más información, consulte Contribuciones.

Obtenga información sobre el modelo de interfaz de usuario remota usado en la extensibilidad de VisualStudio.Extensibility.

Temas de introducción

Lea una introducción a las áreas del SDK que puede necesitar para los proyectos de desarrollo de extensiones.

  • Cree comandos y expóselos a los usuarios en el IDE, consulte Comandos.
  • Trabaje con el contenido de archivos y documentos, Consulte Extensiones del editor.
  • Trabaje con la representación en memoria de esos propios documentos, consulte Documentos.
  • Use la ventana de salida en una extensión; consulte Ventana de salida.
  • Trabajar con ventanas de herramientas, ventanas acoplables en el IDE de Visual Studio, consulte Ventanas de herramientas.
  • Use avisos con botones personalizables para interactuar con el usuario, consulte Avisos del usuario.
  • Uso de diálogos con la interfaz de usuario personalizada para interactuar con el usuario, consulte Diálogos
  • Cree visualizaciones de datos personalizadas al depurar, consulte Visualizadores de depuración
  • Consulta o modificación de información sobre proyectos y soluciones, consulte Consulta de proyectos.
  • Definición, lectura y actualización de la configuración, consulte Configuración.
  • Trabajar con servidores de idioma/LSP para obtener compatibilidad con idiomas adicionales, consulte Proveedor de servidores de idioma.

Ejemplos y tutoriales

Puede encontrar una solución de Visual Studio que contenga todos los ejemplos en Samples.sln.

Ejemplo Descripción
Controlador de comandos simple Muestra los conceptos básicos de trabajar con comandos. Consulte también el tutorial Creación de la primera extensión de Visual Studio .
Insertar extensión GUID Muestra cómo insertar texto o código en el editor de código, cómo configurar un comando con una condición de activación específica y cómo usar un archivo de recursos para la localización. Consulte también el tutorial Creación de la extensión simple .
Crianza autoritaria Muestra cómo crear un comando que se puede asociar a distintos aspectos del IDE.
Selector de documentos Muestra cómo crear una extensión del editor que solo se aplica a los archivos que coinciden con un patrón de ruta de acceso de archivo.
Resultados (Ventana) Muestra el uso más básico de la API de ventana de salida
Ventana de herramientas Muestra cómo crear una ventana de herramientas y rellenarla con contenido.
Solicitud del usuario Muestra cómo mostrar un mensaje al usuario.
cuadro de diálogo Muestra cómo mostrar un cuadro de diálogo con la interfaz de usuario personalizada al usuario.
Margen de recuento de palabras Muestra cómo crear una extensión de margen del editor que muestre el recuento de palabras en un documento.
Linter de Markdown Muestra cómo pueden interactuar varios componentes juntos dentro de una extensión y cómo se pueden ampliar diferentes áreas de Visual Studio.
Consulta de proyecto Muestra varios tipos diferentes de consultas del sistema de proyecto que puede realizar.
Removedor de comentarios Muestra cómo consumir servicios del SDK de Visual Studio a través de la inserción de dependencias de .NET y usar las API de extensibilidad de VisualStudio.Extensibility para comandos, avisos y informe de progreso.
RegexMatchDebugVisualizer Muestra cómo usar la interfaz de usuario remota para crear un visualizador de depurador para visualizar las coincidencias de expresiones regulares que se iniciarán en una ventana de diálogo modal.
MemoryStreamDebugVisualizer Muestra cómo crear un visualizador de depurador para visualizar objetos MemoryStream que se inician en una ventana de herramientas no modal.
RustLanguageServiceProvider Muestra cómo crear una extensión de proveedor de servidor de lenguaje Rust que agrega IntelliSense y información sobre herramientas cuando se abre un archivo rust.
CompositeExtension Muestra cómo crear una extensión con componentes dentro del proceso y fuera del proceso que se comunican mediante servicios intermediados.

APIs experimentales y cambios disruptivos

A partir de nuestra versión 17.9, estamos listos para etiquetar la mayoría de nuestras API como estables. Es decir, no tenemos previsto realizar cambios importantes en estas API. Cualquier cambio que rompa la compatibilidad, como aquellos provocados por los comentarios de los usuarios sobre la usabilidad, se comunicará formalmente con suficiente antelación en nuestra página de cambios que rompen la compatibilidad.

Hay algunas de nuestras API que aún no cumplen esta barra para la estabilidad, por una de varias razones:

  • El área de características es nueva y se esperan cambios y características adicionales en versiones futuras.
  • La API es nueva y queremos incorporar comentarios de usuario al diseño antes de marcarla estable.
  • Hemos recibido comentarios sobre que una API determinada es difícil de usar, por lo que planeamos actualizarla en versiones futuras.

Estas API se etiquetan explícitamente mediante el [Experimental] atributo para ayudar a los autores de extensiones a crear sus extensiones con confianza en el SDK.

Para obtener más información, incluido cómo usar api experimentales, consulte nuestra página API experimentales .

Problemas conocidos

Agradecemos sus comentarios e informes de errores en nuestro Rastreador de problemas y trabajamos para solucionar los problemas encontrados en el SDK.

Visite nuestra página Problemas conocidos para obtener información sobre los problemas conocidos actuales.

Temas avanzados

Artículo Descripción
Otros conceptos de la interfaz de usuario remota Temas adicionales relacionados con el trabajo con el modelo de interfaz de usuario remota
Interfaz de usuario remota avanzada Información detallada sobre el modelo de interfaz de usuario remota
Extensiones en proceso de ejecución Guía rápida sobre diferentes opciones para usar el SDK de VisualStudio.Extensibility en proceso

Documentación de API

Enviar comentarios

Estamos buscando activamente comentarios y participación. La fase de vista previa es un buen momento para obtener información de la comunidad para ayudarnos a identificar problemas y oportunidades. Puede proporcionar comentarios e informar de errores en nuestro rastreador de problemas.