次の方法で共有


チュートリアル - 最初の拡張機能を作成する: Hello World

この Hello World の例では、Visual Studio 用の最初の拡張機能を作成する手順について説明します。 このチュートリアルでは、Visual Studio に新しいコマンドを追加する方法について説明します。

このプロセスでは、次の方法を学習します。

この例では、Visual C# を使用して、次のような "Say Hello World!" という名前のカスタム メニュー ボタンを追加します。

カスタム メニュー コマンドを示すスクリーンショット。

前提 条件

開始する前に、VSIX テンプレートとサンプル コードを含む、Visual Studio 拡張機能の開発 ワークロードがインストールされていることを確認します。

手記

Visual Studio (Community、Professional、または Enterprise) の任意のエディションを使用して、Visual Studio 拡張機能プロジェクトを作成できます。

拡張性プロジェクトを作成する

  1. [ファイル] メニューで [新規作成]>[プロジェクト] の順に選択します。 "vsix" を検索し、C# VSIX プロジェクトを選択して、[次へ] をクリックします。

  2. [プロジェクト名] に「HelloWorld」と入力し、[作成] を選択します。

新しい VSIX プロジェクトの作成を示すスクリーンショット。

これで、ソリューション エクスプローラーの に HelloWorld プロジェクト表示されます。

カスタム コマンドを追加する

  1. .vsixmanifest マニフェスト ファイルを選択すると、説明、作成者、バージョンなど、変更可能なオプションを確認できます。

  2. (ソリューションではなく) プロジェクトを右クリックします。 コンテキスト メニューで [追加] を選択し、次に [新しい項目] を選びます。

  3. [機能拡張] セクションを選択し、[コマンド] を選択します。

  4. 下部の [ フィールドに、Command.csなどのファイル名を入力します。

カスタム コマンドの作成を示すスクリーンショット。

新しいコマンド ファイルは、ソリューション エクスプローラーに表示されます。 リソース ノードの下には、コマンドに関連する他のファイルがあります。 たとえば、画像を変更する場合は、PNG ファイルがここに表示されます。

ソース コードを変更する

この時点で、コマンドとボタンのテキストは自動生成され、興味深いものではありません。 変更する場合は、VSCT ファイルと CS ファイルを変更できます。

  • VSCT ファイルを使用すると、コマンドの名前を変更し、Visual Studio コマンド システムでのコマンドの実行場所を定義できます。 VSCT ファイルを調べる際に、VSCT コード コントロールの各セクションについて説明するコメントに注目してください。

  • CS ファイルは、クリック ハンドラーなどのアクションを定義できる場所です。

  1. ソリューション エクスプローラー で、拡張子 VSPackage の VSCT ファイルを見つけます。 この場合は、HelloWorldPackage.vsct と呼ばれます。

  2. ButtonText パラメーターを Say Hello World!に変更します。

      ...
      <Button guid="guidCommandPackageCmdSet" id="CommandId" priority="0x0100" type="Button">
        <Parent guid="guidCommandPackageCmdSet" id="MyMenuGroup" />
        <Icon guid="guidImages" id="bmpPic1" />
        <Strings>
            <ButtonText>Say Hello World!</ButtonText>
        </Strings>
      </Button>
      ...
    
  3. ソリューション エクスプローラー に戻り、Command.cs ファイルを見つけます。 Execute メソッドで、文字列 messagestring.Format(..) から Hello World!に変更します。

      ...
      private void Execute(object sender, EventArgs e)
      {
        ThreadHelper.ThrowIfNotOnUIThread();
        string message = "Hello World!";
        string title = "Command";
    
        // Show a message box to prove we were here
        VsShellUtilities.ShowMessageBox(
            this.ServiceProvider,
            message,
            title,
            OLEMSGICON.OLEMSGICON_INFO,
            OLEMSGBUTTON.OLEMSGBUTTON_OK,
            OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST);
      }
      ...
    

変更を各ファイルに保存してください。

実行する

Visual Studio Experimental Instance でソース コードを実行できるようになりました。

手順 1. F5 押して、デバッグの開始 コマンドを実行します。 このコマンドは、プロジェクトをビルドし、デバッガーを起動し、visual Studio の新しいインスタンスを起動して、Experimental Instanceと呼ばれます。

手順 2. [実験的なインスタンス][ツール] メニューで、[Say Hello World!] をクリックします。

カスタム コマンドにメッセージ ボックスが表示されることを示すスクリーンショット。

新しいカスタムコマンドからの出力が表示されます。この場合、画面の中央にダイアログが表示され、メッセージ Hello World! が表示されます。

次の手順

Visual Studio の機能拡張の操作の基本がわかったので、ここでさらに学習できます。