Когда у меня запущен новый шаблон проекта, я хочу открыть окно инструментов при создании проекта, я помещаю следующий код в метод RunFinished IWizard, вызываемый моим пользовательским шаблоном проекта.
Я убедился, что код работает в потоке пользовательского интерфейса Visual Studio:
vsUIShell содержит допустимое значение. Но создание окон инструментов не работает. Любые идеи?
IVsUIShell vsUIShell = (IVsUIShell)Package.GetGlobalService(typeof(SVsUIShell));
Guid guid = typeof(MyToolWindow).GUID;
IVsWindowFrame windowFrame;
int result = vsUIShell.FindToolWindow((uint)__VSFINDTOOLWIN.FTW_fFindFirst, ref guid, out windowFrame);
if (result != VSConstants.S_OK)
result = vsUIShell.FindToolWindow((uint)__VSFINDTOOLWIN.FTW_fForceCreate, ref guid, out windowFrame);
if (result == VSConstants.S_OK)
ErrorHandler.ThrowOnFailure(windowFrame.Show());
Вот мое окно инструмента
[Guid("b2d83c1c-c4a1-49f7-a40d-ca59078ef6cf")]
public class MyToolWindow : ToolWindowPane
{
public MyToolWindow() :
base(null)
{
// Set the window title
this.Caption = "ToolWindowName";
// Set content of ToolWindow
base.Content = new UserControl();
}
}
С уважением