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

Si nunca ha escrito una extensión de Visual Studio antes, probablemente tenga algunas preguntas.If you've never written a Visual Studio extension before, you probably have some questions. Presentamos algunos de los más comunes que aquí.We've listed some of the most common ones here. Si no ve la información que está buscando, utilice los botones de comentarios (¿le resultó útil esta página? en la parte inferior de la pantalla) para pedir lo que 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 es necesario desarrollar extensiones de Visual Studio?What software do I need to develop Visual Studio extensions?

Debe 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 instalar 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, vea SDK de Visual Studio.For more information about installing the Visual Studio SDK, see Visual Studio SDK.

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

El cielo a su caso el límite cuando se trata de uno se imagina 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 tienen algo relacionado 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 se puede compilar:Here are some examples of the kinds of extensions you can build:

  • Compatibilidad con idiomas que no se incluyen en Visual Studio, con colores de sintaxis, IntelliSense y compatibilidad de compilador y de 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 del IDE experiencia con plantillas adicionales, los cuadros de diálogo de refactorización, nueva del código o las ventanas de herramientasProductivity tools that extend the core IDE experience with additional templates, code refactoring, new dialogs or tool windows

  • Diseñadores de específico de dominio 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, eche un vistazo el Visual Studio Marketplace.For examples of extensions, check out the Visual Studio Marketplace. Muchas de las extensiones están abiertas con origen y el Marketplace 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 extender?Which Visual Studio features can I extend?

En teoría, puede ampliar casi cualquier elemento 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, encontramos que las características en la a que mayoría de los usuarios desea extender son comandos, menús y barras de herramientas, ventanas, 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 con el VSSDK?What project templates are provided by the VSSDK?

Los dos tipos principales de extensiones son extensiones MEF y VSPackages.The two main types of extensions are VSPackages and MEF extensions. En general, las extensiones del VSPackage se usan para las extensiones que usar 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 utilizan las extensiones MEF para ampliar o personalizar el editor de Visual Studio.MEF extensions are used to extend or customize the Visual Studio editor.

Las extensiones de Visual C# y Visual Basic, el 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.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 distribuirlo 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 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 del shell de Visual Studio 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 muestra 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 que se parezca a Visual Studio?How do I get my extension to look like Visual Studio?

Obtener sugerencias interesantes para diseñar la interfaz de usuario para la extensión en instrucciones para la experiencia del 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 tener 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 una extensión?How can I distribute my extension?

Puede instalar la extensión en otro equipo o enviarla a sus amigos como un archivo .vsix, que se 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 trasvase extensiones de Visual Studio.You can find out more about VSIX packages at Shipping Visual Studio Extensions.

También puede publicar la extensión en Visual Studio Marketplace, que lo hace 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 cómo empaquetar una extensión Marketplace, vea 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, vea 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.