Comenzar a desarrollar extensiones de Visual StudioStarting to Develop Visual Studio Extensions

Si nunca ha escrito una extensión de Visual Studio antes, probablemente tiene algunas preguntas.If you've never written a Visual Studio extension before, you probably have some questions. Presentamos algunas de las más comunes de aquí.We've listed some of the most common ones here. Si no ve la información que busca, use los botones de comentarios (resultó útil esta página? en la parte inferior de la pantalla) para pedir lo que se desea.If you don't see the information you're looking for, use the feedback buttons (Was this page helpful? at the bottom of the screen) to ask for what you want.

¿Qué software necesito para desarrollar extensiones de Visual Studio?What software do I need to develop Visual Studio extensions?

Deberá instalar el SDK de Visual Studio además de Visual Studio para desarrollar extensiones de Visual Studio.You need to install the Visual Studio SDK in addition to Visual Studio in order to develop Visual Studio extensions. Puede instalar el SDK de Visual Studio como parte del programa de instalación normal, o puede instalarlo más adelante.You can install the Visual Studio SDK as part of regular setup, or you can install it later on. Para obtener más información acerca de cómo instalar el SDK de Visual Studio, consulte SDK de Visual Studio.For more information about installing the Visual Studio SDK, see Visual Studio SDK.

¿Qué tipos de cosas puedo hacer con extensiones de Visual Studio?What kinds of things can I do with Visual Studio extensions?

El cielo su caso el límite cuando se trata de imaginar diferentes extensiones de Visual Studio.The sky's the limit when it comes to imagining different Visual Studio extensions. Por supuesto, la mayoría de las extensiones tener algo que ver con la escritura de código, pero que no tiene que ser el caso.Of course, most extensions have something to do with writing code, but that doesn't have to be the case. Estos son algunos ejemplos de los tipos de extensiones que puede crear:Here are some examples of the kinds of extensions you can build:

  • Compatibilidad con idiomas que no están incluidos en Visual Studio, con el color de la sintaxis, IntelliSense y compatibilidad de compilador y depuraciónSupport for languages that aren't included in Visual Studio, with syntax coloring, IntelliSense, and compiler and debug support

  • Herramientas de productividad que amplían el núcleo IDE experiencia con plantillas adicionales, los cuadros de diálogo nuevo, refactorización de código o ventanas de herramientasProductivity tools that extend the core IDE experience with additional templates, code refactoring, new dialogs or tool windows

  • Diseñadores de dominios para escenarios como la compatibilidad con datos de diseño o en la nubeDomain-specific designers for scenarios like data design or cloud support

    Para obtener ejemplos de extensiones, consulte el Visual Studio Marketplace.For examples of extensions, check out the Visual Studio Marketplace. Muchas extensiones son de código abierto y el catálogo de soluciones incluye vínculos a su repositorio de GitHub.Many extensions are open sourced, and the Marketplace includes links to their GitHub repo.

¿Qué características de Visual Studio se debe ampliar?Which Visual Studio features can I extend?

En teoría, puede ampliar cualquier parte de Visual Studio: menús, barras de herramientas, comandos, windows, soluciones, proyectos, editores y así sucesivamente.In theory, you can extend just about any part of Visual Studio: menus, toolbars, commands, windows, solutions, projects, editors, and so on.

En la práctica, hemos descubierto que las características en la mayoría de las personas que desea extender son comandos, menús y barras de herramientas, windows, IntelliSense y proyectos.In practice, we have found that the features most people want to extend are commands, menus and toolbars, windows, IntelliSense, and projects. Estos son vínculos a las secciones correspondientes:Here are links to the relevant sections:

¿Qué plantillas de proyecto se proporcionan por VSSDK?What project templates are provided by the VSSDK?

Los dos tipos principales de las extensiones son extensiones MEF y VSPackages.The two main types of extensions are VSPackages and MEF extensions. En general, las extensiones de VSPackage se usan para las extensiones que utilizan o amplían los comandos, ventanas de herramientas y proyectos.In general, VSPackage extensions are used for extensions that use or extend commands, tool windows, and projects. Se usan las extensiones MEF para ampliar o personalizar el editor de Visual Studio.MEF extensions are used to extend or customize the Visual Studio editor.

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 creación los comandos de menú, ventanas de herramientas y extensiones de editor.For Visual C# and Visual Basic extensions, the VSSDK provides an empty VSIX project template that you can use together with the new item templates that create menu commands, tool windows, and editor extensions. También puede usar esta plantilla para plantillas de proyecto de paquete, fragmentos de código y otros artefactos para su distribución a otros usuarios.You can also use this template to package project templates, code snippets, and other artifacts for distribution to other users.

En C++, el Asistente de VSPackage proporciona el código para agregar los comandos de menú, ventanas de herramientas y editores personalizados.For C++, the VSPackage wizard provides the code to add menu commands, tool windows, and custom editors.

La plantilla de Shell aislado se usa para empaquetar una extensión en una versión de Visual Studio shell que se puede personalizar y distribuir como su propio.The Isolated Shell template is used to package an extension in a version of the Visual Studio shell that you can brand and distribute as your own. Los temas siguientes muestran cómo empezar a trabajar con cada tipo de extensión:The following topics show you how to get started with each kind of extension:

¿Cómo se puede obtener una extensión my al aspecto Visual Studio?How do I get my extension to look like Visual Studio?

Obtenga sugerencias excelente para diseñar la interfaz de usuario para la extensión en directrices de experiencia de usuario de Visual Studio.Get great tips for designing the UI for your extension in Visual Studio User Experience Guidelines.

¿Dónde puedo encontrar ejemplos de código VSSDK?Where can I find examples of VSSDK code?

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.Each of the links listed in the preceding section have step-by-step walkthroughs that show you how to implement specific features. También puede encontrar código abierto muestras de VSSDK en GitHub en ejemplos de Visual Studio.You can also find open source VSSDK samples on GitHub at Visual Studio Samples.

¿Cómo puedo distribuir mi extensión?How can I distribute my extension?

Puede instalar la extensión en otro equipo o envíe a sus amigos como un archivo .vsix, que instala haciendo doble clic en él.You can install your extension on another computer or send it to your friends as a .vsix file, which you install by double-clicking it. Puede encontrar más información acerca de los paquetes VSIX en envío extensiones de Visual Studio.You can find out more about VSIX packages at Shipping Visual Studio Extensions.

También puede publicar su extensión en Visual Studio Marketplace, lo que es visible a un gran número de clientes de Visual Studio.You can also publish your extension on the Visual Studio Marketplace, which makes it visible to large numbers of Visual Studio customers. Para obtener un ejemplo de empaquetado de una extensión en Marketplace, consulte Tutorial: publicar una extensión de Visual Studio.For an example of packaging an extension to the Marketplace, see Walkthrough: Publishing a Visual Studio Extension. Para obtener más información sobre lo que necesita hacer para publicar en Marketplace, consulte productos y extensiones para Visual Studio.For more information about what you need to do to publish on the Marketplace, see Products and Extensions for Visual Studio.