0

スクリプトファイルを生成して現在のプロジェクトに追加するVisualStudio拡張機能があります。

Visual Studio 2012ソリューションエクスプローラーのファイルプレビュー機能を利用して、ファイルがプロジェクトに追加されたときに(実際にファイルを開くのではなく)プレビューできるようにしたいと思います。

これは私がこれまでに持っているコードです:

UIHierarchy UIH = ((DTE2)dte).ToolWindows.SolutionExplorer;
UIHierarchyItem UIHItem = UIH.GetItem(@"MySolution\MyProject\MyClass.cs");
UIHItem.Select(vsUISelectionType.vsUISelectionTypeSelect);

これにより、ソリューションエクスプローラーでアイテムが選択されますが、プレビューは表示されません。

VSにプレビューを表示するように依頼する方法はありますか?

4

1 に答える 1

0

私は解決策を考え出しましたが、それは正確にはきれいではありません。

ファイルプレビューを表示する特定のコマンドがないように見えるので、別の方法は、[選択したアイテムのプレビュー]ボタンを2回切り替えることです。

// Select the new item in the Solution Explorer
UIHierarchy UIH = ((DTE2)dte).ToolWindows.SolutionExplorer;
UIHierarchyItem UIHItem = UIH.GetItem(@"MySolution\MyProject\MyClass.cs");
UIHItem.Select(vsUISelectionType.vsUISelectionTypeSelect);

var guidStandardCommandSet11 = new Guid("{D63DB1F0-404E-4B21-9648-CA8D99245EC3}");
int cmdidToggleSingleClickPreview = 35;

// Activate the Solution Explorer to ensure the following commands are available
dte.Windows.Item(EnvDTE.Constants.vsWindowKindSolutionExplorer).Activate(); 

// Toggle the Preview button in the Solution Explorer on/off or off/on
dte.Commands.Raise(guidStandardCommandSet11.ToString(), cmdidToggleSingleClickPreview, null, null);
dte.Commands.Raise(guidStandardCommandSet11.ToString(), cmdidToggleSingleClickPreview, null, null);

2回切り替えると、プレビューが常に表示され、以前の切り替えステータス(ユーザーが設定)が常に維持されます。

于 2012-08-07T06:33:21.107 に答える