tutorial: vincular un tipo de contenido a una extensión de nombre de archivo
Puede definir dispone del tipo de contenido y para vincular una extensión de nombre de archivo a ella con extensiones administradas editor del marco (MEF) de extensibilidad de. En algunos casos, la extensión de nombre de archivo fue ya definido por un servicio de lenguaje; sin embargo, para utilizarla con MEF todavía debe vincularlo a un tipo de contenido.
Para realizar este tutorial, debe instalar Visual Studio 2010 SDK. Para obtener más información, 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 un proyecto MEF
Para crear un proyecto de MEF
Cree un proyecto de C# o del Editor de Visual Basic Clasificador. Llame a la solución ContentTypeTest.
Abra el archivo source.extension.vsixmanifest del editor de Manifiesto VSIX.
Asegúrese de que la dirección de Content contiene un tipo de contenido componente MEF y que la ruta de acceso está establecida en ContentTypeTest.dll.
Guarde y cierre source.extension.vsixmanifest.
elimine los archivos existentes de la clase.
Definición de tipo de contenido
para definir un tipo de contenido
Agregue un archivo de clase y denomínelo FileAndContentTypes.
Agregue las siguientes directivas de using (instrucciones deImports en Visual Basic).
Imports System.ComponentModel.Composition Imports Microsoft.VisualStudio.Text.Classification Imports Microsoft.VisualStudio.Utilities
using System.ComponentModel.Composition; using Microsoft.VisualStudio.Text.Classification; using Microsoft.VisualStudio.Utilities;
declare una clase estática (módulo en Visual Basic) que contenga las definiciones.
Friend Module FileAndContentTypeDefinitions End Module
internal static class FileAndContentTypeDefinitions
En esta clase, exportar ContentTypeDefinition denominado “ocultó” y declare el definición base para ser “text”.
<Export(), Name("hid"), BaseDefinition("text")> Friend myDefinition1 As ContentTypeDefinition
[Export] [Name("hid")] [BaseDefinition("text")] internal static ContentTypeDefinition hidingContentTypeDefinition;
vincular una extensión de nombre de archivo a un tipo de contenido
para vincular una extensión de nombre de archivo a un tipo de contenido
Para asignar este tipo de contenido a una extensión de nombre de archivo, exportar FileExtensionToContentTypeDefinition con la extensión “.hid” y el tipo de contenido “ocultó”.
<Export(), FileExtension(".hid"), ContentType("hid")> Friend myDefinition2 As FileExtensionToContentTypeDefinition
[Export] [FileExtension(".hid")] [ContentType("hid")] internal static FileExtensionToContentTypeDefinition hiddenFileExtensionDefinition;
Agregar el tipo de contenido a una exportación del editor
Para agregar el tipo de contenido a una extensión del editor
Cree una extensión del editor.
Al exportarlo, agregue ContentTypeAttribute de tipo “ocultó” a.
<Export(), ContentType("hid")> Friend myDefinition3 As FileExtensionToContentTypeDefinition
[Export] [ContentType("hid")]