En Visual Studio SDK
hay muchas maneras de extender Visual Studio. El común tres unos es: automatización, extensiones de VSPackage, y extensiones de managed extensibility (MEF) framework.
Automatización se utiliza principalmente para automatizar tareas repetitivas, como con macros y complementos, o proporcione una estructura para los datos proporcionados por el usuario, como con los asistentes.
Crear un VSPackage es una manera eficaz de extender Visual Studio. Visual Studio incluye muchos componentes que son VSPackages, por ejemplo el depurador y las barras de herramientas predefinidas. Una extensión de VSPackage puede tener acceso y extender muchos de los componentes de Visual Studio, como el shell y el sistema del proyecto.
Managed extensibility framework es (MEF) un mecanismo de extensibilidad que se utiliza por primera vez en el editor de Visual Studio 2010. MEF permite personalizar y que extiende el editor sin tener que crear un VSPackage.
El modelo de extensibilidad de Visual Studio
El modelo de extensibilidad de Visual Studio se compone de las diversas bibliotecas que permiten a los extensores tienen acceso y que extienden los componentes de Visual Studio.
El primer nivel de modelo se encuentra en Visual Studio API, que es el mismo conjunto de interfaces que los desarrolladores de Microsoft utilizan para desarrollar Visual Studio. Puede usar una biblioteca con denominada biblioteca (VSL) de Visual Studio para escribir extensiones en código no administrado.
Si está escribiendo una extensión en código administrado, puede utilizar los ensamblados de interoperabilidad de Visual Studio directamente, o utilizar el (MPF) managed package. El managed package proporciona clases que contienen muchas de las interfaces en Visual Studio API.
Si amplía el editor de Visual Studio 2010, puede utilizar los ensamblados del editor junto con los ensamblados MEF que definen los contratos para los que la extensión hace anunciar el editor de Visual Studio.
Para obtener más información, vea:
servicios de Visual Studio
Un servicio proporciona un conjunto específico de interfaces para que los componentes consuman. Visual Studio proporciona un conjunto de servicios que se pueden usar en cualquier componente, incluyendo extensiones. Por ejemplo, se ocultars a los servicios de Visual Studio habilitan las ventanas de herramientas que se mostrarán o dinámicamente, el acceso habilitado que ayudan, la barra de estado, o eventos de interfaz de usuario. El editor de Visual Studio 2010 también proporciona servicios que pueden importarse por las extensiones del editor.
Para obtener más información, vea:
componentes extensibles de Visual Studio
Los siguientes componentes son los que está más a menudo por las extensiones de Visual Studio:
Comandos de shell
Menús y barras de herramientas
Ventanas de herramientas
Ventanas de documento
Editores
Servicios
Proyectos
Plantillas
Comandos
Los comandos son funciones que realizan tareas, como imprimir un documento, actualizar una vista, o crear un nuevo archivo.
Al extender Visual Studio, puede crear comandos y registrarlos con el shell de Visual Studio. Puede especificar cómo estos comandos aparecerán en el IDE, por ejemplo, en un menú o una barra de herramientas. Un comando personalizado aparece normalmente en el menú de Herramientas , y un comando para mostrar una ventana de herramientas aparecería en el submenú de Otras ventanas de menú de Ver .
Cuando se crea un comando, también debe crear un controlador de eventos para él. El controlador de eventos determina cuando el comando está visible o habilitado, le permite modificar el texto, y garantiza que responde el comando correctamente cuando se desencadena. En la mayoría de las instancias, el IDE controla comandos con la interfaz de IOleCommandTarget . Los comandos de Visual Studio son el inicio controlado al contexto más interno de comando, en función de la selección local, y seguir el contexto más externo, en función de la selección global. Los comandos agregados al menú principal están inmediatamente disponibles para el script.
Para obtener más información, vea Cómo VSPackages agrega elementos de la interfaz de usuario al IDE.
Menús y barras de herramientas
Los menús y barras de herramientas proporcionan una manera de que los usuarios invocar comandos. Los menús son filas o columnas de los comandos que se muestran habitualmente como elementos individuales del texto en la parte superior una ventana de herramientas. Los submenús son menús secundarios que aparecen cuando un usuario hace clic en los comandos que incluyen una flecha pequeña. Los menús contextuales aparecen cuando un usuario hace clic con el botón secundario en determinados elementos de la interfaz de usuario. algunos nombres de menú comunes son Archivo, Editar, Ver, y Ventana. Para obtener más información, vea Tareas comunes con los comandos, menús, barras de herramientas y.
Las barras de herramientas son filas o columnas de botones y otros controles, como cuadros combinados, cuadros de lista, y cuadros de texto. Los botones de la barra de herramientas tienen normalmente imágenes de icono, como un icono de carpeta para un comando de Abrir archivo o una impresora para un comando de Imprimir . Todos los elementos de barra de herramientas están asociados con comandos. Al hacer clic en un botón de la barra de herramientas, el comando asociado ejecuta. En el caso de un control desplegable, cada elemento de la lista desplegable está asociado a otro comando. Algunos controles de barra de herramientas, como un control splitter, son híbridos. Un lado del control es un botón de la barra de herramientas y el otro lado es una flecha abajo que muestra varios comandos cuando se haga clic en.
Para obtener más información, vea
Comando, menú, e información general de la barra de herramientas
Comando predeterminado, grupo, y la posición de la barra de herramientas
Ventanas de herramientas
Las ventanas de herramientas se utilizan en el IDE para mostrar información. Cuadro de herramientas, Explorador de soluciones, ventana de Propiedades , y Explorador web son ejemplos de ventanas de herramientas.
Las ventanas de herramientas proporcionan normalmente los distintos controles con los que el usuario puede interactuar. Por ejemplo, la ventana de Propiedades permite las propiedades del conjunto de usuarios de los objetos que respondan a un propósito determinado. La ventana de Propiedades está especializada en este sentido, pero también general porque se puede utilizar en muchos escenarios diferentes. De igual forma, sirve para la ventana de Resultados porque proporciona resultados basada en texto, sólo general porque muchos subsistemas en Visual Studio pueden utilizarlo para proporcionar la salida al usuario de Visual Studio.
Considere la siguiente imagen de Visual Studio, que contiene varias ventanas de herramientas.
Algunas de las ventanas de herramientas están acopladas en un único panel que muestra la ventana de herramientas del explorador de soluciones y ocultar las otras ventanas de herramientas pero las disponibles haciendo clic en las fichas. La imagen muestra dos otras ventanas de herramientas, la ventana de Lista de errores y de Resultados , acoplada conjuntamente en un único panel.
También se muestra el panel de documento principal, que muestra varias ventanas del editor. Aunque las ventanas de herramientas tienen normalmente una sola instancia (por ejemplo, solo puede abrir un Explorador de soluciones), las ventanas del editor pueden tener varias instancias, que se utiliza para modificar un documento independiente pero que se acoplan al mismo panel. La imagen se muestra un panel de documento con dos ventanas del editor, una ventana del diseñador de formularios, y una ventana del explorador que muestre la página principal. Todas las ventanas en el panel del documento están disponibles haciendo clic en las fichas, pero la ventana del editor que contiene el archivo de EditorPane.cs está visible y activo.
Al extender Visual Studio, puede crear ventanas de herramientas que permiten a los usuarios de Visual Studio interactuar con la extensión. También puede crear dispone los editores que permiten a los usuarios de Visual Studio editar documentos. Dado que las ventanas de herramientas y editores se integran en Visual Studio, no tiene que programa ellos acoplar o a aparecer en una ficha correctamente. Cuando esté correctamente registradas en Visual Studio, automáticamente tendrán las características típicas de ventanas de herramientas y ventanas de documento en Visual Studio.
Para obtener más información, vea
Ventanas de documento
Una ventana de documento es una ventana secundaria enmarcada de una ventana (MDI) de interfaz de múltiples documentos. Las ventanas de documento se utilizan normalmente los editores de texto host, editores de formularios (también denominados diseñadores), o los controles de edición, pero también pueden hospedar otros tipos funcionales. El cuadro de diálogo de Nuevo archivo incluye ejemplos de las ventanas de documento que proporciona Visual Studio.
La mayoría de los editores son específicos de un lenguaje de programación o un tipo de archivo, como páginas HTML, conjuntos de marcos, archivos de C++, o archivos de encabezado. Seleccionando una plantilla en el cuadro de diálogo de Nuevo archivo , un usuario crea dinámicamente una ventana de documento para el editor para el tipo de archivo que está asociado a la plantilla. Una ventana de documento también se crea cuando un usuario abre un archivo existente.
Las ventanas de documento se limitan al área de cliente MDI. Cada ventana de documento tiene una pestaña en la parte superior, y el orden de tabulación se vincula a otras ventanas que se pueden abrir en el área de MDI. el botón secundario en la ficha de una ventana de documento muestra un menú contextual que incluye opciones de dividir el área de MDI en grupos horizontales o verticales varios de la pestaña. Dividir el área MDI habilita varios archivos que se verán al mismo tiempo.
Para obtener más información, vea
Editores
el editor de Visual Studio 2010 es una nueva clase de componente de Visual Studio. Mientras el nuevo editor es en sí mismo un VSPackage, permite lo personalizar y que lo utilice para el propio tipo de contenido mediante managed extensibility framework. (MEF) En muchos casos no necesitará crear un VSPackage para extender el editor, aunque si desea incluir características de shell (por ejemplo, un comando de menú o una tecla de método abreviado), puede combinar una extensión MEF con un VSPackage.
También puede crear un editor personalizado, por ejemplo si desea leer y escribir en una base de datos, o si desea utilizar un diseñador. También puede usar un editor externo como Bloc de notas o Microsoft Wordpad.
Para obtener más información, vea editores.
Servicios
Si desea que el editor de Visual Studio para admitir nuevas palabras clave de programación ni un nuevo lenguaje de programación, se crea un servicio de lenguaje. Cada servicio de lenguaje puede implementar determinadas características del editor completamente, parcial, o en absoluto. Dependiendo de la configuración, el servicio de lenguaje puede proporcionar el resaltado de sintaxis, llave coincidente, IntelliSense admite, y otras características del editor.
En el núcleo de un servicio de lenguaje son un analizador y un escáner. Un escáner (o el lexer) divide un archivo de código fuente en los elementos que se conocen como tokens, y un analizador establece las relaciones entre estos tokens. Cuando se crea un servicio de, debe implementar el analizador y el escáner para poder entender los tokens y la gramática del lenguaje.
Puede crear servicios administrados o no administrados.
Para obtener más información, vea
Proyectos
En Visual Studio, los proyectos son contenedores que los programadores usan para organizar y compilar el código fuente y otros recursos. Los proyectos permiten organizar, compilar, depurar, e implementar código fuente, referencias a servicios web y a las bases de datos, y otros recursos. VSPackages puede extender el sistema de proyectos de Visual Studio mediante tipos de proyecto, a subtipos del proyecto, y las herramientas personalizadas.
Los proyectos también se pueden recopilar en una solución, que es una agrupación de uno o varios proyectos que funcionan juntos para crear una aplicación. El proyecto y la información de estado que pertenece a la solución se almacena en dos archivos de solución, el archivo basado en texto de solución (.sln) y el archivo binario de opciones de usuario de la solución (.suo). Estos archivos son similares a los archivos de grupo (.vbg) utilizados en versiones anteriores de Visual Basic, y el área de trabajo (.dsw) y los archivos en las opciones de usuario (.opt) utilizados en versiones anteriores de Visual C++.
Para obtener más información, vea
Plantillas de proyecto y de elementos
Visual Studio incluye plantillas de proyecto y plantillas predefinidas de elemento de proyecto. También puede crear sus propios plantillas o adquirir las plantillas de la comunidad, y después se integra en Visual Studio. Galería de código de MSDN Es el lugar para ir para las plantillas y las extensiones.
Las plantillas contienen la estructura del proyecto y los archivos básicos necesarios para compilar una clase determinada de aplicación, de control, de biblioteca, o clase. Si desea desarrollar software que es similar a una de las plantillas, cree un proyecto basado en la plantilla y después modifique los archivos de ese proyecto.
Nota
Esta arquitectura de plantilla no se admite en proyectos de Visual C++ .Para obtener información sobre cómo crear plantillas de proyecto de Visual C++ , vea Diseñar un asistente.
Para obtener más información, vea Plantillas de proyecto y de elementos de proyecto de suma.
Aplicaciones integradas de shell y del shell de Isolated
Puede integrar la extensión en Visual Studio en cualquier modo integrado o modo aislado.
Utilizando el shell integrado permite proporcionar herramientas personalizadas que los clientes pueden utilizar junto con otros componentes de Visual Studio. El shell integrado se optimiza a las herramientas de idioma y herramienta de software de host.
Utilizando el shell aislado permite crear herramientas personalizadas que se ejecutan en el shell de Visual Studio solo con los componentes de Visual Studio que elija para incluir. El shell aislado se optimiza para las herramientas especializadas que tienen acceso total a los servicios de Visual Studio pero también tiene un aspecto y una marca comercial personalizados.
Para obtener más información, vea