Zrobiłem coś ostatnio w VS2010 za pomocą makra, które pokazuje i ukrywa panel Narzędzia podczas przełączania iz powrotem z kodu do widoku projektu w widokach asp.net MVC3. Można go łatwo zaadaptować do tego samego w swojej sytuacji.
To jest w pliku klasy EnvironmentEvents
w IDE VS Macro po wstępnie wygenerowanej treści.
<System.ContextStaticAttribute()> Public WithEvents CommandEvents As EnvDTE.CommandEvents
Public Sub DTEEvents_OnMacrosRuntimeReset() Handles _
DTEEvents.OnMacrosRuntimeReset
CommandEvents = DTE.Events.CommandEvents
End Sub
Private Sub DTEEvents_OnStartupComplete() Handles _
DTEEvents.OnStartupComplete
CommandEvents = DTE.Events.CommandEvents
End Sub
Public Sub CommandEvents_AfterExecute(_
ByVal Guid As String, _
ByVal ID As Integer, _
ByVal CustomIn As Object, _
ByVal CustomOut As Object) _
Handles CommandEvents.AfterExecute
If DTE.Commands.Item(Guid, ID).Name = "View.ViewDesigner" Then
DTE.ExecuteCommand("View.Toolbox")
End If
If DTE.Commands.Item(Guid, ID).Name = "View.ViewMarkup" Then
DTE.Windows.Item(Constants.vsWindowKindToolbox).Close()
End If
End Sub
Prawdopodobnie można go lepiej zoptymalizować za pomocą instrukcji zdarzenia, niż instrukcji if. Działa, gdy używasz klawiszy skrótu do przełączania widoków, a także menu widoku, ale nie menu kontekstowego.
Zostało niggling na mnie odkąd zacząłem używać VS. – Blorgbeard
@Blorgbeard Dzięki za oddanie nagrody! Zobaczmy, czy otrzymamy przyzwoitą odpowiedź! – theycallmemorty
Prawdopodobnie musisz uściślić swoje pytanie, aby uzyskać dobrą odpowiedź. – aponomarenko