Comienzo del desarrollo de extensiones en Visual Studio
Si nunca ha escrito una extensión de Visual Studio antes, probablemente tenga algunas preguntas. Aquí hemos enumerado algunas de los más comunes. Si no ve la información que busca, use el botón de comentarios situado en la esquina superior derecha de esta página para solicitar lo que desea.
Nota:
Este artículo se aplica a Visual Studio para Windows. Para Visual Studio Code, consulte API de extensión de Visual Studio Code.
¿Qué software necesito para desarrollar extensiones de Visual Studio?
Debe instalar el SDK de Visual Studio además de Visual Studio para desarrollar extensiones de Visual Studio. Puede instalar el SDK de Visual Studio como parte de la configuración normal o puede instalarlo más adelante. Para obtener más información sobre cómo instalar el SDK de Visual Studio, consulte Instalación del SDK de de Visual Studio.
¿Qué puedo hacer con las extensiones de Visual Studio?
No hay límite sobre lo que puede hacer con las extensiones de Visual Studio. Por supuesto, la mayoría de las extensiones están relacionadas con la escritura de código, pero no tiene por qué ser así. Estos son algunos ejemplos de los tipos de extensiones que puede compilar:
Compatibilidad con lenguajes que no se incluyen en Visual Studio, con coloración de sintaxis, IntelliSense y compatibilidad con compilador y depuración.
Herramientas de productividad que amplían la experiencia básica del IDE con más plantillas, refactorización de código, cuadros de diálogo nuevos o ventanas de herramientas.
Diseñadores específicos del dominio para escenarios como el diseño de datos o la compatibilidad con la nube.
Para obtener ejemplos de extensiones, consulte Visual Studio Marketplace. Muchas extensiones son de código abierto y Marketplace incluye vínculos a su repositorio de GitHub.
¿Qué características de Visual Studio puedo ampliar?
En teoría, puede ampliar casi cualquier parte de Visual Studio: menús, barras de herramientas, comandos, ventanas, soluciones, proyectos, editores, etc.
En la práctica, hemos visto que las características que la mayoría de las personas quieren ampliar son comandos, menús y barras de herramientas, ventanas, IntelliSense y proyectos. Estos son vínculos a las secciones pertinentes:
Extensión de menús y comandos: agregue sus propios elementos a los menús y barras de herramientas de Visual Studio. Puede usarlos para iniciar una nueva funcionalidad de Visual Studio o sus propias aplicaciones auxiliares externas. También puede proporcionar accesos directos personalizados para los elementos de menú.
Extensión y personalización de ventanas de herramientas: amplíe las ventanas de herramientas existentes o cree sus propias ventanas de herramientas. Por ejemplo, podría agregar nuevas propiedades a las Propiedades o crear una nueva ventana de herramientas para agregar más características.
Editor y extensiones de servicio de lenguaje: agregue sus propias personalizaciones a IntelliSense para los lenguajes de Visual Studio o cree compatibilidad con nuevos lenguajes de programación. Puede crear nuevas finalizaciones de instrucciones, sugerencias e información sobre herramientas de QuickInfo. Con las bombillas puede agregar sugerencias de refactorización y correcciones de código para admitir nuevos lenguajes de programación.
¿Qué plantillas de proyecto proporciona VSSDK?
Los dos tipos principales de extensiones son VSPackages y MEF. En general, las extensiones VSPackage se usan para extensiones que usan o extienden comandos, ventanas de herramientas y proyectos. Las extensiones MEF se usan para ampliar o personalizar el editor de Visual Studio.
Para las extensiones de Visual C# y Visual Basic, VSSDK proporciona una plantilla de proyecto VSIX vacía que puede usar junto con las nuevas plantillas de elemento que crean comandos de menú, ventanas de herramientas y extensiones de editor. También puede usar esta plantilla para empaquetar plantillas de proyecto, fragmentos de código y otros artefactos para la distribución a otros usuarios.
Para C++, el asistente de VSPackage proporciona el código para agregar comandos de menú, ventanas de herramientas y editores personalizados.
En los artículos siguientes se muestra cómo empezar a trabajar con cada tipo de extensión:
Comandos de menú: Creación de una extensión con un comando de menú
Ventanas de herramientas: Creación de una extensión con una ventana de herramientas
Extensiones del editor: Creación de una extensión con una plantilla de elemento de editor
VSPackages básicos: Creación de una extensión con un VSPackage
Plantilla de proyecto VSIX: Introducción a la plantilla de proyecto VSIX
¿Cómo consigo que mi extensión se parezca a Visual Studio?
Consulte consejos muy útiles para diseñar la interfaz de usuario de la extensión en Instrucciones sobre la experiencia de usuario de Visual Studio.
¿Dónde puedo encontrar ejemplos de código VSSDK?
Cada uno de los vínculos enumerados en la sección anterior tiene tutoriales paso a paso que muestran cómo implementar características específicas. También puede encontrar ejemplos de VSSDK de código abierto en GitHub en Ejemplos de Visual Studio.
¿Cómo puedo distribuir mi extensión?
Puedes instalar la extensión en otro equipo o enviarla a sus amigos como un archivo .vsix, que se instala al hacer doble clic en él. Puede obtener más información sobre los paquetes VSIX en Envío de extensiones de Visual Studio.
También puede publicar la extensión en Visual Studio Marketplace, lo que hace que sea visible para un gran número de clientes de Visual Studio. Para obtener un ejemplo de empaquetado de una extensión en Marketplace, consulte Tutorial: Publicación de una extensión de Visual Studio. Para obtener más información sobre lo que necesita hacer para publicar en Marketplace, consulte Productos y extensiones para Visual Studio.