1

自社向けに開発したパッケージにいくつかの新しい機能を追加しようとしています。これらの機能の 1 つは、ソリューション エクスプローラーで選択されたファイルと選択されたメニュー オプションに基づいて、新しいファイルを作成することです。ソリューション エクスプローラーに動的メニュー項目を作成しましたが、このサンプルに示すようにIVsSingleFileGeneratorを使用する必要があるようです。

私が抱えている問題は、選択したファイルを取得し、それを読み取るか、単一のファイルジェネレーターに渡すことです。カスタム ツール アクションからではなく、このコンテキスト メニューからファイルを生成したい

これは私にファイルのパスを取得するように見えます

UIHierarchy solutionExplorer = _applicationObject.ToolWindows.SolutionExplorer;

          var items = solutionExplorer.SelectedItems as Array;

          if (items == null || items.Length != 2)

          {

            return;

          }

          String strFile1 = String.Empty;

          UIHierarchyItem item1 = items.GetValue(0) as UIHierarchyItem;

          foreach (UIHierarchyItem hierarchyItem in items)

          {

            ProjectItem prjItem = hierarchyItem.Object as ProjectItem;

            string prjPath = prjItem.Properties.Item("FullPath").Value.ToString();

          }

これを使用して、ivs 単一ファイル ジェネレーターの生成関数に渡すことができます。

これは最善のアプローチですか?

4

1 に答える 1

0

この質問は、次の msdn フォーラムにも投稿しました: VSX gets the selected file and using IVsSingleFileGenerator

IPyIntegrationサンプルを使用して、何をする必要があるかを把握しました。

于 2011-08-19T08:15:49.927 に答える