现在我发誓我已经完成了这项工作,但是在关闭我长期运行的 Visual Studio 会话并重新打开时,我无法让它工作,我不知道与我之前的会话有什么不同。
我正在尝试完成添加自定义菜单和按钮单击事件以触发命令。我试图让它启动更多的 powershell,但是我已将其更改为我知道 dte 可以轻松执行的命令,即示例命令。
任何人都看到任何错误或我忽略的东西(我确实让它工作,它现在不在新的 VS 会话中。没有引发错误,但点击事件没有触发,或者在我看来。
这个powershell在VS 2012里面执行
$menubar = $dte.CommandBars["MenuBar"]
$cmenu = $menubar.Controls.Add([Microsoft.VisualStudio.CommandBars.MsoControlType]::msoControlPopup, 1, "", 36, $true)
$cmenu.Caption = "CUSTOM"
$cmenu.Enabled = $true
$item = $cmenu.Controls.Add([Microsoft.VisualStudio.CommandBars.MsoControlType]::msoControlButton, 1, "", 1, $true)
$item.Caption = "Item"
$itemHandler = $dte.Events.CommandBarEvents($item)
$itemEvents = Get-Interface $itemHandler ([EnvDTE._dispCommandBarControlEvents_Event])
$itemClickEvent = [EnvDTE._dispCommandBarControlEvents_ClickEventHandler]{ $dte.ExecuteCommand("Help.Samples") }
$itemEvents.add_Click($itemClickEvent)