Distribuer des extraits de code en tant qu'extension Visual Studio

Vous pouvez donner des extraits de code à vos amis pour qu’ils les installent sur leurs ordinateurs à l’aide du Gestionnaire des extraits de code. Cependant, si vous avez plusieurs extraits de code à distribuer ou que vous voulez les distribuer à plus grande échelle, vous pouvez inclure vos fichiers d’extraits de code dans une extension Visual Studio. Les utilisateurs de Visual Studio peuvent ensuite installer l’extension pour obtenir les extraits de code.

Prérequis

Installez la charge de travail Développement d’extension Visual Studio pour accéder aux modèles de projet Projet VSIX.

Charge de travail Développement d’extension Visual Studio

Configurer la structure des répertoires d’extension

Au cours de cette procédure, vous allez utiliser l’extrait de code Hello World créé dans Procédure pas à pas : création d’un extrait de code. Cet article fournit l’extrait de code XML : vous n’êtes donc pas obligé de revenir en arrière et de créer un extrait de code.

  1. Créez un projet à partir du modèle Projet VSIX vide et nommez le projet TestSnippet.

  2. Dans le projet TestSnippet, ajoutez un nouveau fichier XML et appelez-le VBCodeSnippet.snippet (.snippet est l'extension du nouveau fichier). Remplacez le contenu par le code XML suivant :

    <?xml version="1.0" encoding="utf-8"?>
    <CodeSnippets
        xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
      <CodeSnippet Format="1.0.0">
        <Header>
          <Title>Hello World VB</Title>
          <Shortcut>HelloWorld</Shortcut>
          <Description>Inserts code</Description>
          <Author>MSIT</Author>
          <SnippetTypes>
            <SnippetType>Expansion</SnippetType>
            <SnippetType>SurroundsWith</SnippetType>
          </SnippetTypes>
        </Header>
        <Snippet>
          <Code Language="VB">
            <![CDATA[Console.WriteLine("Hello, World!")]]>
          </Code>
        </Snippet>
      </CodeSnippet>
    </CodeSnippets>
    
  3. Dans Explorateur de solutions, sélectionnez le nœud de projet et ajoutez un dossier portant le nom que vous souhaitez donner à l’extrait dans le Gestionnaire des extraits de code. Dans le cas présent, il doit s’agir de HelloWorldVB.

  4. Déplacez le fichier .snippet vers le dossier HelloWorldVB.

  5. Sélectionnez le fichier .snippet dans Explorateur de solutions. Dans la fenêtre Propriétés, vérifiez que Action de génération a la valeur Contenu, que Copier dans le répertoire de sortie a la valeur Toujours copier et que Inclure dans VSIX a la valeur true.

Ajouter le fichier .pkgdef

  1. Ajoutez un fichier texte dans le dossier HelloWorldVB et nommez-le HelloWorldVB.pkgdef. Ce fichier permet d'ajouter certaines clés dans le Registre. Pour plus d'informations, consultez Afficher le registre de l'extrait de code (facultatif).

  2. Ajoutez les lignes ci-dessous au fichier.

    // Visual Basic
    [$RootKey$\Languages\CodeExpansions\Basic\Paths]
    "HelloWorldVB"="$PackageFolder$"
    

    Si vous examinez cette clé, vous pouvez voir comment spécifier des langages autres que Visual Basic.

  3. Sélectionnez le fichier .pkgdef dans l’Explorateur de solutions, puis, dans la fenêtre Propriétés, assurez-vous que :

    • Action de génération a la valeur Contenu
    • Copier dans le répertoire de sortie a la valeur Toujours copier
    • Inclure dans VSIX a la valeur true
  4. Ajoutez le fichier .pkgdef en tant que composant dans le manifeste VSIX. Dans le fichier source.extension.vsixmanifest, accédez à l’onglet Ressources, puis cliquez sur Nouveau.

  5. Dans la boîte de dialogue Ajouter un nouveau composant, affectez à Type la valeur Microsoft.VisualStudio.VsPackage, à Source la valeur Fichier sur le système de fichiers et à Chemin d’accès la valeur HelloWorldVB.pkgdef (qui doit apparaître dans la liste déroulante). Sélectionnez OK pour enregistrer cette nouvelle ressource.

Enregistrer l’extrait de code

  1. Accédez à Outils>Gestionnaire des extraits de code, puis affectez à Langage la valeur Basic.

  2. Sélectionnez Ajouter..., accédez au dossier HelloWorldVB du répertoire de votre solution, puis sélectionnez Sélectionner un dossier.

  3. HelloWorldVB est désormais l’un des dossiers d’extraits de code. Développez le dossier pour afficher l’extrait de code HelloWorldVB. Sélectionnez OK pour enregistrer ce dossier qui vient d’être ajouté.

Testez l’extrait

À présent, vous pouvez vous assurer que l'extrait de code fonctionne dans l'instance expérimentale de Visual Studio. L'instance expérimentale est une seconde copie de Visual Studio, distincte de celle que vous utilisez pour écrire le code. Elle vous permet de travailler sur une extension sans affecter votre environnement de développement.

  1. Générez le projet et commencez le débogage.

    Une seconde instance de Visual Studio apparaît.

  2. Testez l'extrait de code. Dans l'instance expérimentale, ouvrez un projet Visual Basic et ouvrez l'un des fichiers de code. Placez votre curseur quelque part dans le code, effectuez un clic droit et, dans le menu contextuel, sélectionnez Extrait de code, puis Insérer un extrait.

  3. Double-cliquez sur le dossier HelloWorldVB. Vous devriez normalement voir la fenêtre contextuelle Insérer un extrait : HelloWorldVB > comportant une liste déroulante HelloWorldVB. Double-cliquez sur la liste déroulante HelloWorldVB.

    La ligne suivante est ajoutée au fichier de code :

    Console.WriteLine("Hello, World!")
    

Afficher le registre de l'extrait de code (facultatif)

Ce fichier .pkgdef permet d'ajouter certaines clés dans le registre. Après avoir inscrit l'extrait de code, si vous avez besoin d'afficher les clés de Registre dans la ruche du registre privé, vous pouvez les trouver sous la sous-clé suivante :

Visual Studio 2022 : HKEY_USERS\IsolatedHiveName\Software\Microsoft\VisualStudio\17.0_configID\Languages\CodeExpansions\Basic\Paths

Visual Studio 2019 : HKEY_USERS\IsolatedHiveName\Software\Microsoft\VisualStudio\16.0_configID\Languages\CodeExpansions\Basic\Paths

Pour afficher les clés de registre dans cet emplacement, fermez d'abord Visual Studio, ouvrez l'éditeur de registre, puis chargez la ruche du registre privé dans HKEY_USERS.

Important

Si vous consultez le registre, veillez à décharger la ruche du registre privé avant de démarrer Visual Studio.

Par exemple, les clés de registre peuvent apparaître comme indiqué ici.

Capture d'écran des clés de registre pour les extraits de code.