Compartir a través de


Usar plantillas de editor para crear extensiones

Puede utilizar las plantillas incluidas en Visual Studio 2010 SDK para crear extensiones básicas de editor que agregan clasificadores, elementos gráficos, y márgenes al publicador.

Requisitos previos

Para utilizar las plantillas de extensión del editor, debe instalar Visual Studio 2010 SDK.

Nota

Para obtener más información sobre el SDK de Visual Studio, vea Información general de Visual Studio que extiende.Para averiguar cómo descargar el SDK de Visual Studio, vea Centro para desarrolladores de extensibilidad de Visual Studio en el sitio web de MSDN.

Crear una extensión del clasificador

La plantilla del clasificador del editor crea un clasificador de editor que los colores texto adecuado (en este caso, todo) en cualquier archivo de texto.

Para crear una extensión del clasificador mediante la plantilla del clasificador del editor

  1. En el menú de Archivo , elija Nuevo y haga clic en Nuevo proyecto. En el cuadro de diálogo de Nuevo proyecto , expanda Visual c# o Visual Basic y haga clic en Extensibilidad. En el panel de Plantillas , seleccione Clasificador del editor. en el cuadro de Nombre , TestClassifierescrito. Haga clic en Aceptar.

    se abre el proyecto de TestClassifier.

  2. Abra el archivo source.extension.vsixmanifest y editarlo como sigue:

    • Nombre del producto: TestClassifier

    • Author: Fabrikam

    • versión: 1,0

    • descripción: Esto es una extensión del clasificador de pruebas.

    no cambie la identificación se genera automáticamente.

  3. El encabezado de Contenido especifica el tipo de contenido en este proyecto (directorio de plantillas de proyecto, directorio de plantillas de elementos, Asistente para plantillas, VSPackage, componente MEF, o extensión personalizada tipo). Un proyecto puede contener una o más clases de contenido, por ejemplo, un Paquete y a componente MEF. Esta extensión es un componente MEF, y el contenido se define en TestClassifier.

  4. hay tres archivos de código, como sigue:

    • TestClassifierType contiene la clase de OrdinaryClassificationType .

    • TestClassifierFormat contiene la clase de OrdinaryFormat .

    • TestClassifier contiene la clase de OrdinaryClassifier y la clase de OrdinaryClassifierProvider .

  5. La clase de OrdinaryClassificationType exporta ClassificationTypeDefinition, y define el texto que se debe proporcionar formato (en este caso, todo texto). esta clase se exporta así como NameAttribute, que se utiliza para identificar este clasificador. Para obtener más información sobre clasificaciones, vea “tipos de Clasificación que extienden y Clasificación da formato a la sección” Puntos de extensión del editor.

  6. la clase de OrdinaryFormat hereda de ClassificationFormatDefinition, y define los efectos visuales que el formato generará, en este caso, un color de fuente de BlueViolet y Underline. esta clase se debe exportar como tipo de EditorFormatDefinition . Puede especificar si el formato es visible para el usuario mediante UserVisibleAttribute, y especificar el orden en que el formato se aplica al texto mediante OrderAttribute.

  7. La clase de OrdinaryClassifier implementa el método de GetClassificationSpans que identifica el texto que se debe ordenar mediante el clasificador “normal” (en este caso, todo texto).

  8. La clase de OrdinaryClassifierProvider hereda de IClassifierProvider, e implementa el método de GetClassifier , que crea instancias del clasificador. Esta clase se exporta así como ContentTypeAttribute, que especifica el tipo de contenido (texto, código, o tan on) a la que este clasificador aplica. También se TextViewRoleAttribute, que especifica la clase de vista de texto, que puede ser cualquiera de los valores de PredefinedTextViewRoles.

  9. Al generar esta solución, las copias del ensamblado y el manifiesto se colocan en el directorio experimental.

  10. Al ejecutar este proyecto en el depurador, una segunda instancia de Visual Studio se crea instancias. Si abre un archivo de texto, todo el texto se genera como subrayado con un fondo violeta.

Crear una extensión de elemento gráfico de Texto-Relative

La plantilla de elemento gráfico del texto del editor crea un elemento gráfico texto-relativa que represente todas las instancias de caracteres de texto “a” utilizando un cuadro que tenga un contorno rojo y un fondo azul. Es texto-relativo porque el cuadro superpone siempre caracteres “a”, incluso cuando se mueven o cambian el formato.

Para crear una extensión de elemento gráfico de texto mediante el editor text a la plantilla de elemento gráfico

  1. En el menú de Archivo , elija Nuevo y haga clic en Nuevo proyecto. En el cuadro de diálogo de Nuevo proyecto , expanda Visual c# o Visual Basic y haga clic en Extensibilidad. En el panel de Plantillas , seleccione Elemento gráfico de texto del editor. en el cuadro de Nombre , TestTextAdornmentescrito. Haga clic en Aceptar.

    se abre el proyecto de TestTextAdornment.

  2. Abra el archivo source.extension.vsixmanifest y editarlo como sigue:

    • Nombre del producto: TestTextAdornment

    • Author: Fabrikam

    • versión: 1,0

    • descripción: Esto es una extensión texto-relativa de elemento gráfico de la prueba.

    no cambie la identificación se genera automáticamente.

  3. El encabezado de Contenido especifica el tipo de contenido en este proyecto. Esta extensión es un componente MEF, y el contenido se define en TestTextAdornment.

  4. hay dos archivos de código, como sigue:

    • TestTextAdornment contiene la clase de ScarletCharacter .

    • TestTextAdornmentFactory contiene la clase de EditorAdornmentFactory .

  5. La clase de ScarletCharacter proporciona características (UI) de interfaz de usuario del elemento gráfico en su constructor y controla el evento de LayoutChanged buscar todas las apariciones del carácter “a” en IWpfTextView y agregando el elemento gráfico de ScarletCharacter.

  6. La clase de EditorAdornmentFactory hereda de IWpfTextViewCreationListener e implementa el método de TextViewCreated creando instancias del elemento gráfico. Esta clase también declara AdornmentLayerDefinition que corresponde al elemento gráfico de ScarletCharacter, y exportarlo así como NameAttribute, OrderAttribute, y TextViewRoleAttribute.

  7. Al generar esta solución, las copias del ensamblado y el manifiesto se colocan en el directorio experimental.

  8. Al ejecutar este proyecto en el depurador, una segunda instancia de Visual Studio se crea instancias. Si abre un archivo de texto, todos los caracteres “a” en el texto se muestran a rojo con un fondo azul.

Crear una extensión de elemento gráfico del Área De visualización-Relative

La plantilla de elemento gráfico de la ventanilla del editor crea un elemento gráfico área de visualización-relativa que agregue un cuadro violeta con un contorno rojo a la esquina superior derecha de la ventanilla.

Nota

La ventanilla es el área de la vista de texto que se muestra actualmente.

Para crear una extensión de elemento gráfico del área de visualización mediante la plantilla de elemento gráfico de la ventanilla del editor

  1. En el menú de Archivo , elija Nuevo y haga clic en Nuevo proyecto. En el cuadro de diálogo de Nuevo proyecto , expanda Visual c# o Visual Basic y haga clic en Extensibilidad. En el panel de Plantillas , seleccione Elemento gráfico de la ventanilla del editor. en el cuadro de Nombre , TestViewportAdornmentescrito. Haga clic en Aceptar.

    se abre el proyecto de TestViewportAdornment.

  2. Abra el archivo source.extension.vsixmanifest y editarlo como sigue:

    • Nombre del producto: TestViewportAdornment

    • Author: Fabrikam

    • versión: 1,0

    • descripción: Esto es una extensión área de visualización-relativa de elemento gráfico de la prueba.

    no cambie la identificación se genera automáticamente.

  3. El encabezado de Contenido especifica el tipo de contenido en este proyecto. Esta extensión es un componente MEF, y el contenido se define en TestViewportAdornment.

  4. hay dos archivos de código, como sigue:

    • TestViewportAdornment contiene la clase de PurpleCornerBox

    • TestViewportAdornmentFactory contiene la clase de AdornmentFactory

  5. La clase de PurpleCornerBox proporciona características de interfaz de usuario del elemento gráfico en su constructor y administra los eventos de ViewportHeightChanged y de ViewportWidthChanged por eliminar y la re-adición adornment en la esquina superior derecha de la ventanilla.

  6. La clase de AdornmentFactory hereda de IWpfTextViewCreationListener, e implementa el método de TextViewCreated creando instancias del elemento gráfico. Esta clase también declara AdornmentLayerDefinition que corresponde al elemento gráfico de PurpleCornerBox, y exportarlo así como NameAttribute, OrderAttribute, y TextViewRoleAttribute.

  7. Al generar esta solución, las copias del ensamblado y el manifiesto se colocan en el directorio experimental.

  8. Al ejecutar este proyecto en el depurador, una segunda instancia de Visual Studio se crea instancias. Si abre un archivo de texto, un cuadro violeta que tiene un contorno rojo se muestra en la esquina superior derecha de la ventanilla.

Crear una extensión Margin

La plantilla de Márgenes del editor crea un margen verde que aparezca junto con las palabras “Hello world!” bajo la barra de desplazamiento horizontal.

Para crear una extensión de marcado mediante la plantilla de Márgenes del editor

  1. En el menú de Archivo , elija Nuevo y haga clic en Nuevo proyecto. En el cuadro de diálogo de Nuevo proyecto , expanda Visual c# o Visual Basic y haga clic en Extensibilidad. En el panel de Plantillas , seleccione Margen del editor. en el cuadro de Nombre , TestMarginescrito. Haga clic en Aceptar.

    se abre el proyecto de TestMargin.

  2. Abra el archivo source.extension.vsixmanifest y editarlo como sigue:

    • Nombre del producto: TestMargin

    • Author: Fabrikam

    • versión: 1,0

    • descripción: Esto es una extensión de marcado de pruebas.

    no cambie la identificación se genera automáticamente.

  3. El encabezado de Contenido especifica el tipo de contenido en este proyecto. Esta extensión es un componente MEF, y el contenido se define en TestMargin.

  4. hay dos archivos de código, como sigue:

    • TestMargin contiene la clase de GreenMargin .

    • TestMarginFactory contiene la clase de MarginFactory .

  5. La clase de GreenMargin hereda de Canvas e implementa IWpfTextViewMargin. Proporciona características de interfaz de usuario del margen en su constructor.

  6. La clase de MarginFactory implementa IWpfTextViewMarginProvider, y la implementación del método de CreateMargin crea instancias del margen. esta clase se exporta así como NameAttribute, OrderAttribute, MarginContainerAttribute, ContentTypeAttribute, y TextViewRoleAttribute.

  7. Al generar esta solución, las copias del ensamblado y el manifiesto se colocan en el directorio experimental.

  8. Al ejecutar este proyecto en el depurador, una segunda instancia de Visual Studio se crea instancias. Si abre un archivo de texto, un margen verde que tiene las palabras “Hello world!” se muestra bajo la barra de desplazamiento horizontal.

Vea también

Conceptos

Puntos de extensión del editor