方法: コード スニペットを配布するHow to: Distribute Code Snippets

コード スニペットは、友人に配布することができます。友人は、コード スニペット マネージャーを使用して、そのスニペットを自分のコンピューターにインストールできます。You can simply give your code snippets to your friends and have them install the snippets on their own computers by using the Code Snippets Manager. ただし、配布するスニペットが複数ある場合や、スニペットをより広範に配布する場合は、スニペット ファイルを Visual Studio 拡張機能に含めると、Visual Studio ユーザーはこれをインストールできます。However, if you have several snippets to distribute or would like to distribute them more widely, you include your snippet file in a Visual Studio extension, which Visual Studio users can install.

Visual Studio 拡張機能を作成するには、Visual Studio SDK をインストールする必要があります。You must install the Visual Studio SDK in order to create Visual Studio extensions. Visual Studio のダウンロードで、Visual Studio のインストールと一致する VSSDK のバージョンを見つけます。Find the version of the VSSDK that matches your Visual Studio installation at Visual Studio Downloads.

拡張機能を設定するSetting up the Extension

この手順では、「チュートリアル: コード スニペットを作成する」で作成したのと同じ Hello World コード スニペットを使います。In this procedure we will use the same Hello World code snippet created in Walkthrough: Creating a Code Snippet. .snippet のテキストは用意されているため、前の手順に戻ってコード スニペットを作成する必要はありません。We will supply the .snippet text, so you don't have to go back and make one.

  1. TestSnippet という新しい VSIX プロジェクトを作成します Create a new VSIX project named TestSnippet. ([ファイル][新規作成][プロジェクト][Visual C#] (または [Visual Basic])、[拡張])。(File, New, Project, Visual C# (or Visual Basic), Extensibility.)

  2. TestSnippet プロジェクトで新しい XML ファイルを追加し、VBCodeSnippet.snippet という名前を付けます。In the TestSnippet project, add a new XML file and call it VBCodeSnippet.snippet. 内容を次のコードに置き換えます。Replace the content with the following:

    <?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>  
    

ディレクトリ構造の設定Setting up the Directory Structure

  1. ソリューション エクスプ ローラーでプロジェクト ノードを選択し、フォルダーを追加します。その名前は、コード スニペット マネージャーでスニペットに付けるのと同じ名前にします。In the Solution Explorer, select the project node and add a folder that has the name you want the snippet to have in the Code Snippets Manager. ここでは、HelloWorldVB になります。In this case it should be HelloWorldVB.

  2. .snippet ファイルを HelloWorldVB フォルダーに移動します。Move the .snippet file to the HelloWorldVB folder.

  3. ソリューション エクスプローラーで .snippet ファイルを選び、[プロパティ] ウィンドウで [ビルド アクション][コンテンツ] に、[出力ディレクトリにコピー][常にコピーする] に、[VSIX に含める][true]に、それぞれ設定します。Select the .snippet file in the Solution Explorer, and in the Properties window make sure Build Action is set to Content, Copy to Output Directory is set to Copy always, and Include in VSIX is set to true.

.pkgdef ファイルの追加Adding the .pkgdef file

  1. HelloWorldVB フォルダーにテキスト ファイルを追加し、HelloWorldVB.pkgdef という名前を付けます。Add a text file to the HelloWorldVB folder and name it HelloWorldVB.pkgdef. このファイルは、レジストリにキーを追加するために使用します。This file is used to add certain keys to the registry. ここでは、新しいキーをIn this case it adds a new key to

    HKCU\Software\Microsoft\VisualStudio\15.0\Languages\CodeExpansions\Basic に追加します。HKCU\Software\Microsoft\VisualStudio\15.0\Languages\CodeExpansions\Basic.

  2. ファイルに次の行を追加します。Add the following lines to the file.

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

    このキーを調べると、さまざまな言語を指定する方法が分かります。If you examine this key, you can see how to specify different languages.

  3. ソリューション エクスプローラーで .pkgdef ファイルを選び、[プロパティ] ウィンドウで [ビルド アクション][コンテンツ] に、[出力ディレクトリにコピー][常にコピーする] に、[VSIX に含める][true]に、それぞれ設定します。Select the .pkgdef file in the Solution Explorer, and in the Properties window make sure Build Action is set to Content, Copy to Output Directory is set to Copy always, and Include in VSIX is set to true.

  4. VSIX マニフェストに .pkgdef ファイルを資産として追加します。Add the .pkgdef file as an asset in the VSIX manifest. source.extension.vsixmanifest ファイルで、[資産] タブに移動し、[新規] をクリックします。In the source.extension.vsixmanifest file, go to the Assets tab and click New.

  5. [新しい資産の追加] ダイアログ ボックスで、[型]Microsoft.VisualStudio.VsPackage に、[ソース][ファイル システム上のファイル] に、[パス][HelloWorldVB.pkgdef] (ドロップダウン リストに表示される) に、それぞれ設定します。In the Add New Asset dialog, set the Type to Microsoft.VisualStudio.VsPackage, the Source to File on filesystem, and the Path to HelloWorldVB.pkgdef (which should appear in the dropdown).

スニペットのテストTesting the Snippet

  1. これで、コード スニペットが Visual Studio の実験用インスタンスで動作することを確認できるようになりました。Now you can make sure that the code snippet works in the experimental instance of Visual Studio. 実験用インスタンスとは、コードの記述に使用する Visual Studio とは異なる、Visual Studio のもう 1 つのコピーです。The experimental instance is a second copy of Visual Studio that is separate from the one you use to write code. これを使用することにより、開発環境に影響を与えずに、拡張機能を処理することができます。It allows you to work on an extension without affecting your development environment.

  2. プロジェクトをビルドし、デバッグを開始します。Build the project and start debugging. Visual Studio の 2 番目のインスタンスが表示されます。A second instance of Visual Studio should appear.

  3. 実験用インスタンスで、[ツール] > [コード スニペット マネージャー] に移動し、[言語][基本] に設定します。In the experimental instance, go to Tools / Code Snippets Manager and set the Language to Basic. フォルダーの 1 つとして HelloWorldVB が表示されるはずです。そのフォルダーを展開すると HelloWorldVB スニペットを表示できます。You should see HelloWorldVB as one of the folders, and you should be able to expand the folder to see the HelloWorldVB snippet.

  4. スニペットをテストします。Test the snippet. 実験用インスタンスで、Visual Basic プロジェクトを開き、コード ファイルのいずれかを開きます。In the experimental instance, open a Visual Basic project and open one of the code files. コードの任意の場所にカーソルを置いて右クリックし、コンテキスト メニューで [スニペットの挿入] を選びます。Place your cursor somewhere in the code, right-click, and on the context menu select Insert Snippet.

  5. フォルダーの 1 つとして HelloWorldVB が表示されるはずです。You should see HelloWorldVB as one of the folders. これをダブルクリックします。Double-click it. [スニペットの挿入: HelloWorldVB >] ポップアップが表示されます。ここに [HelloWorldVB] ドロップダウン リストが表示されます。You should see a pop-up Insert Snippet: HelloWorldVB > that has a dropdown HelloWorldVB. [HelloWorldVB] ドロップダウン リストをクリックします。Click the HelloWorldVB dropdown. 次の行がファイルに追加されます。You should see the following line added to the file:

    Console.WriteLine("Hello, World!")  
    

関連項目See Also

コード スニペットCode Snippets