Partager via


Utilisation des modèles d'éditeur pour créer des extensions

Vous pouvez utiliser les modèles inclus dans Visual Studio 2010 Kit de développement logiciel pour créer des extensions de base d'éditeur qui ajoutent des classifieurs, d'ornements, et les marges dans l'éditeur.

Composants requis

Pour utiliser des modèles d'extension de l'éditeur, vous devez installer Visual Studio 2010 Kit de développement logiciel.

Notes

Pour plus d'informations sur le kit de développement Visual Studio, consultez Étendre la présentation de Visual Studio.Pour savoir comment télécharger le kit de développement Visual Studio, consultez Visual Studio Extensibility Developer Center sur le site Web MSDN.

Créer une extension de classifieur

Le modèle de classifieur d'éditeur crée un classifieur d'éditeur les couleurs le texte approprié (dans ce cas, tout) dans un fichier texte.

Pour créer une extension de classifieur à l'aide de le modèle de classifieur d'éditeur

  1. Dans le menu de Fichier , pointez sur Nouveau puis cliquez sur Nouveau projet. Dans la boîte de dialogue de Nouveau projet , développez Visual C# ou Visual Basic puis cliquez sur Extensibilité. dans le volet de Modèles , sélectionnez Classifieur d'éditeur. Dans la zone de Nom , tapez TestClassifier. Cliquez sur OK.

    le projet de TestClassifier est ouvert.

  2. Ouvrez le fichier source.extension.vsixmanifest et modifiez -le comme suit :

    • Nom du produit: TestClassifier

    • Auteur: Fabrikam

    • Version: 1,0

    • Description: Il s'agit d'une extension de classifieur de test.

    Ne modifiez pas l'ID. il est généré automatiquement.

  3. L'en-tête de Contenu spécifie le type de contenu dans ce projet (répertoire du modèle de projet, répertoire de modèle d'élément, l'Assistant de modèle, VSPackage, composant MEF, ou type d'extension personnalisée). Un projet peut contenir un ou plusieurs types de contenu, par exemple, un VSPackage et un composant MEF. Cette extension est un composant MEF, et le contenu est défini dans TestClassifier.

  4. Il existe trois fichiers de code, comme suit :

    • TestClassifierType contient la classe d' OrdinaryClassificationType .

    • TestClassifierFormat contient la classe d' OrdinaryFormat .

    • TestClassifier contient la classe d' OrdinaryClassifier et la classe d' OrdinaryClassifierProvider .

  5. La classe d' OrdinaryClassificationType exporte ClassificationTypeDefinition, et définit le texte qui doit être mis en forme (dans ce cas, toutes texte). Cette classe est exportée avec NameAttribute, qui est utilisée pour identifier ce classifieur. Pour plus d'informations sur les classifications, consultez « étendre des types de classification et la classification met en forme la section » d' Points d'extension de l'éditeur.

  6. La classe d' OrdinaryFormat hérite d' ClassificationFormatDefinition, puis définit les effets visuels que la mise en forme produira, dans ce cas, la couleur de police d' BlueViolet et un Underline. Cette classe doit être exporté comme type d' EditorFormatDefinition . Vous pouvez spécifier si la mise en forme est visible à l'utilisateur à l'aide de UserVisibleAttribute, et vous pouvez spécifier l'ordre dans lequel le format est appliqué au texte à l'aide de OrderAttribute.

  7. La classe d' OrdinaryClassifier implémente la méthode d' GetClassificationSpans qui identifie le texte qui doit être classifié à l'aide de le classifieur « plaine » (dans ce cas, tout texte).

  8. La classe d' OrdinaryClassifierProvider hérite d' IClassifierProvider, et implémente la méthode d' GetClassifier , qui instancie le classifieur. Cette classe est exportée avec ContentTypeAttribute, qui spécifie le type de contenu (texte, le code, ou autres) auquel ce classifieur s'applique. Il prend également TextViewRoleAttribute, qui spécifie le genre d'affichage de texte, qui peut être l'une des valeurs d' PredefinedTextViewRoles.

  9. Lorsque vous générez cette solution, des copies de l'assembly et le manifeste sont placées dans le répertoire expérimental.

  10. Lorsque vous exécutez ce projet dans le débogueur, une deuxième instance de Visual Studio est instanciée. Si vous ouvrez un fichier texte, tout le texte est affiché comme souligné pouvoir être lue sur un arrière-plan violet.

créer une extension d'ornement de Texte-Parent

Le modèle d'ornements de texte de l'éditeur crée un ornement de texte-parent qui décore toutes les instances du caractère de texte « a » à l'aide d'une zone qui a un plan rouge et un arrière-plan bleu. C'est texte-parent car la zone chevauche toujours les caractères « a », même lorsqu'ils sont déplacés ou reformatés.

Pour créer une extension d'ornements de texte à l'aide de l'éditeur de texte le modèle d'ornements

  1. Dans le menu de Fichier , pointez sur Nouveau puis cliquez sur Nouveau projet. Dans la boîte de dialogue de Nouveau projet , développez Visual C# ou Visual Basic puis cliquez sur Extensibilité. dans le volet de Modèles , sélectionnez Ornements de texte de l'éditeur. Dans la zone de Nom , tapez TestTextAdornment. Cliquez sur OK.

    le projet de TestTextAdornment est ouvert.

  2. Ouvrez le fichier source.extension.vsixmanifest et modifiez -le comme suit :

    • Nom du produit: TestTextAdornment

    • Auteur: Fabrikam

    • Version: 1,0

    • Description: Il s'agit d'une extension d'ornement de texte-parent de test.

    Ne modifiez pas l'ID. il est généré automatiquement.

  3. L'en-tête de Contenu spécifie le type de contenu dans ce projet. Cette extension est un composant MEF, et le contenu est défini dans TestTextAdornment.

  4. Il existe deux fichiers de code, comme suit :

    • TestTextAdornment contient la classe d' ScarletCharacter .

    • TestTextAdornmentFactory contient la classe d' EditorAdornmentFactory .

  5. La classe d' ScarletCharacter fournit les fonctionnalités de (UI) l'interface utilisateur de l'ornement dans son constructeur et gère l'événement d' LayoutChanged en recherchant toutes les occurrences du caractère « a » dans IWpfTextView et en ajoutant l'ornement à ScarletCharacter.

  6. La classe d' EditorAdornmentFactory hérite d' IWpfTextViewCreationListener et implémente la méthode d' TextViewCreated en instanciant l'ornement. Cette classe indique également AdornmentLayerDefinition qui correspond à l'ornement à ScarletCharacter, et l'exporte avec NameAttribute, OrderAttribute, et TextViewRoleAttribute.

  7. Lorsque vous générez cette solution, des copies de l'assembly et le manifeste sont placées dans le répertoire expérimental.

  8. Lorsque vous exécutez ce projet dans le débogueur, une deuxième instance de Visual Studio est instanciée. Si vous ouvrez un fichier texte, les caractères « a » dans le texte s'affichent comme au rouge pouvoir être lue sur un arrière-plan bleu.

créer une extension d'ornement de Fenêtre d'affichage-Parent

Le modèle d'ornement de la fenêtre d'affichage de l'éditeur crée un ornement de fenêtre d'affichage-parent qui ajoute une zone violette qui a un plan rouge à l'angle supérieur droit de la fenêtre d'affichage.

Notes

La fenêtre d'affichage est le domaine de l'affichage de texte actuellement affiché.

Pour créer une extension d'ornement de la fenêtre d'affichage à l'aide de le modèle d'ornement de la fenêtre d'affichage de l'éditeur

  1. Dans le menu de Fichier , pointez sur Nouveau puis cliquez sur Nouveau projet. Dans la boîte de dialogue de Nouveau projet , développez Visual C# ou Visual Basic puis cliquez sur Extensibilité. dans le volet de Modèles , sélectionnez Ornement de la fenêtre d'affichage de l'éditeur. Dans la zone de Nom , tapez TestViewportAdornment. Cliquez sur OK.

    le projet de TestViewportAdornment est ouvert.

  2. Ouvrez le fichier source.extension.vsixmanifest et modifiez -le comme suit :

    • Nom du produit: TestViewportAdornment

    • Auteur: Fabrikam

    • Version: 1,0

    • Description: Il s'agit d'une extension d'ornement de fenêtre d'affichage-parent de test.

    Ne modifiez pas l'ID. il est généré automatiquement.

  3. L'en-tête de Contenu spécifie le type de contenu dans ce projet. Cette extension est un composant MEF, et le contenu est défini dans TestViewportAdornment.

  4. Il existe deux fichiers de code, comme suit :

    • TestViewportAdornment contient la classe d' PurpleCornerBox

    • TestViewportAdornmentFactory contient la classe d' AdornmentFactory

  5. La classe d' PurpleCornerBox fournit les fonctionnalités de l'interface utilisateur de l'ornement dans son constructeur et gère les événements d' ViewportHeightChanged et d' ViewportWidthChanged en supprimant et le re-ajout l'ornement à l'angle supérieur droit de la fenêtre d'affichage.

  6. La classe d' AdornmentFactory hérite d' IWpfTextViewCreationListener, et implémente la méthode d' TextViewCreated en instanciant l'ornement. Cette classe indique également AdornmentLayerDefinition qui correspond à l'ornement à PurpleCornerBox, et l'exporte avec NameAttribute, OrderAttribute, et TextViewRoleAttribute.

  7. Lorsque vous générez cette solution, des copies de l'assembly et le manifeste sont placées dans le répertoire expérimental.

  8. Lorsque vous exécutez ce projet dans le débogueur, une deuxième instance de Visual Studio est instanciée. Si vous ouvrez un fichier texte, une zone violette qui a un plan rouge s'affiche dans le coin supérieur droit de la fenêtre d'affichage.

créer une extension de marge

Le modèle de marge d'éditeur crée une marge verte qui apparaît avec monde de mots « hello ! » sous la barre de défilement horizontale.

pour créer une extension de marge à l'aide de l'éditeur mettez en marge le modèle

  1. Dans le menu de Fichier , pointez sur Nouveau puis cliquez sur Nouveau projet. Dans la boîte de dialogue de Nouveau projet , développez Visual C# ou Visual Basic puis cliquez sur Extensibilité. dans le volet de Modèles , sélectionnez marge d'éditeur. Dans la zone de Nom , tapez TestMargin. Cliquez sur OK.

    le projet de TestMargin est ouvert.

  2. Ouvrez le fichier source.extension.vsixmanifest et modifiez -le comme suit :

    • Nom du produit: TestMargin

    • Auteur: Fabrikam

    • Version: 1,0

    • Description: Il s'agit d'une extension de marge de test.

    Ne modifiez pas l'ID. il est généré automatiquement.

  3. L'en-tête de Contenu spécifie le type de contenu dans ce projet. Cette extension est un composant MEF, et le contenu est défini dans TestMargin.

  4. Il existe deux fichiers de code, comme suit :

    • TestMargin contient la classe d' GreenMargin .

    • TestMarginFactory contient la classe d' MarginFactory .

  5. la classe d' GreenMargin hérite d' Canvas et implémente IWpfTextViewMargin. Elle fournit des fonctionnalités d'interface utilisateur de la marge dans son constructeur.

  6. la classe d' MarginFactory implémente IWpfTextViewMarginProvider, et son implémentation de la méthode d' CreateMargin instancie la marge. Cette classe est exportée avec NameAttribute, OrderAttribute, MarginContainerAttribute, ContentTypeAttribute, et TextViewRoleAttribute.

  7. Lorsque vous générez cette solution, des copies de l'assembly et le manifeste sont placées dans le répertoire expérimental.

  8. Lorsque vous exécutez ce projet dans le débogueur, une deuxième instance de Visual Studio est instanciée. Si vous ouvrez un fichier texte, une marge verte qui a monde de mots « hello ! » s'affiche sous la barre de défilement horizontale.

Voir aussi

Concepts

Points d'extension de l'éditeur