自社向けに開発したパッケージにいくつかの新しい機能を追加しようとしています。これらの機能の 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 単一ファイル ジェネレーターの生成関数に渡すことができます。
これは最善のアプローチですか?