procedura dettagliata: Collegare un tipo di contenuto a un'estensione di file
È possibile definire diventi proprietaria del tipo di contenuto e associare un'estensione di file a utilizzare le estensioni del Framework di estensibilità gestite (MEF) editor. In alcuni casi, l'estensione di file è già stata definita da un servizio di linguaggio; tuttavia, per utilizzarla con il framework MEF è necessario collegarla a un tipo di contenuto.
Per eseguire questa procedura dettagliata, è necessario installare Visual Studio 2010 SDK. Per ulteriori informazioni, vedere Cenni preliminari sull'estensione di Visual Studio. Per ulteriori informazioni su come scaricare Visual Studio SDK, vedere Centro per sviluppatori di estensibilità di Visual Studio il sito Web MSDN.
Creare un progetto MEF
Per creare un progetto MEF
Creare un progetto c# o classificatore di Visual Basic Editor. Assegnare alla soluzione ContentTypeTest.
Aprire il file source.extension.vsixmanifest nell'editor del manifesto VSIX.
Assicurarsi che la direzione di Content contenga un tipo di contenuto componente MEF e che il percorso è impostato su ContentTypeTest.dll.
salvare e chiudere source.extension.vsixmanifest.
Eliminare i file di classe esistenti.
Definizione del tipo di contenuto
Per definire un tipo di contenuto
Aggiungere il file di classe e denominarlo FileAndContentTypes.
Aggiungere le seguenti direttive di using (istruzioni diImports in 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;
Dichiarare una classe statica (il modulo in Visual Basic) contenente le definizioni.
Friend Module FileAndContentTypeDefinitions End Module
internal static class FileAndContentTypeDefinitions
In questa classe, esportare ContentTypeDefinition denominato “è nascosto„ e dichiarano la relativa definizione di base per essere “testo„.
<Export(), Name("hid"), BaseDefinition("text")> Friend myDefinition1 As ContentTypeDefinition
[Export] [Name("hid")] [BaseDefinition("text")] internal static ContentTypeDefinition hidingContentTypeDefinition;
Associare un'estensione di file a un tipo di contenuto
Per associare un'estensione di file a un tipo di contenuto
Per eseguire il mapping di questo tipo di contenuto a un'estensione di file, esportare FileExtensionToContentTypeDefinition con estensione “.hid„ e il tipo di contenuto “è nascosto„.
<Export(), FileExtension(".hid"), ContentType("hid")> Friend myDefinition2 As FileExtensionToContentTypeDefinition
[Export] [FileExtension(".hid")] [ContentType("hid")] internal static FileExtensionToContentTypeDefinition hiddenFileExtensionDefinition;
Aggiunta del tipo di contenuto a un'esportazione dell'editor
Per aggiungere il tipo di contenuto a un'estensione dell'editor
Creare un'estensione dell'editor.
Quando la si esporta, aggiungere ContentTypeAttribute di tipo “è nascosto„ in.
<Export(), ContentType("hid")> Friend myDefinition3 As FileExtensionToContentTypeDefinition
[Export] [ContentType("hid")]