Porady: udostępnianie dodatku w menu skrótów
Dodatki Visual Studio zostały zaniechane w programie Visual Studio 2013.Dodatki należy uaktualniać do pakietu rozszerzenia VSPackage.Aby uzyskać więcej informacji na temat uaktualniania, zobacz Często zadawane pytania: konwertowanie dodatków na rozszerzenia pakietu VSPackage.
Podczas gdy Visual Studio model automatyzacji sprawia, że łatwo umieścić polecenia dodatku w menu najwyższego poziomu, tak jak w menu Narzędzia , można również dodać polecenia do menu skrótów i pod-menu.
Aby to zrobić, mimo że należy użyć modelu obiektowego programu Microsoft Visual Studio pasek poleceń jawnie definiuje miejsce docelowe skrótu menu i pod-menu.Następnie należy wywołać Visual StudioAddControl metody.
Menu skrótów są podobne do innych menu w Visual Studio.aby uzyskać do nich dostęp, wskaż strzałkę w dół w menu rozwijanym lub kliknij prawym przyciskiem myszy element w zintegrowanym środowisku programistycznym (IDE).
Aby dodać polecenie do menu skrótów (lub dowolnego menu lub paska narzędzi), najpierw trzeba znać jego nazwę polecenia.Można go znaleźć przeszukując poprzez węzeł Klawiatury w oknie dialogowym Opcje w menu Narzędzia.
W poniższej procedurze przedstawiono sposób dodawania polecenia Dodaj do menu skrótów Listy zadań.
[!UWAGA]
Polecenia menu i okien dialogowych mogą różnić się od tych opisanych w Pomocy, w zależności od ustawień aktywnych lub wydania.Procedury te zostały opracowane z ogólnych ustawień projektowych active.Aby zmienić swoje ustawienia, wybierz Importuj i eksportujustawienia w menu Narzędzia.Aby uzyskać więcej informacji, zobacz Dostosowywanie ustawień środowiska deweloperskiego w Visual Studio.
Aby dodać polecenie dodatku istniejącego menu skrótów
W menu Plik, wskaż Nowy, a następnie kliknij przycisk Projekt.
W oknie dialogowym Nowy projekt rozwiń Inne typy projektów, kliknij Rozszerzalność, a następnie kliknij Dodatek Visual Studio w okienku Szablony.
Nazwij dodatek ContextCmd i kliknij przycisk OK, aby uruchomić Kreatora dodatków pakietu Visual Studio.
Wybierz opcję, aby utworzyć interfejs użytkownika (UI) dla dodatku poprzez zaznaczenie pola Czy chcesz utworzyć polecenie paska dla dodatku?.
Spowoduje to dodanie niektórych kodów interfejsu użytkownika do OnConnection metody.Dodaje także metodę Exec, która obsługuje zdarzenie po kliknięciu polecenia dodatku i metodę QueryStatus, która dostarcza informacji na temat stanu dodatku.
Zamień kod na następujący:
Imports System Imports Microsoft.VisualStudio.CommandBars Imports Extensibility Imports EnvDTE Imports EnvDTE80 Public Class Connect Implements IDTExtensibility2 Implements IDTCommandTarget Dim _applicationObject As DTE2 Dim _addInInstance As AddIn Dim cmdBarCtl As CommandBarControl Public Sub New() End Sub Public Sub OnConnection(ByVal application As Object, ByVal _ connectMode As ext_ConnectMode, ByVal addInInst As Object, _ ByRef custom As Array) Implements _ IDTExtensibility2.OnConnection Dim cmd As Command Dim cmdBar As CommandBar _applicationObject = CType(application, DTE2) _addInInstance = CType(addInInst, AddIn) Try If CType(ext_ConnectMode.ext_cm_AfterStartup Or _ ext_ConnectMode.ext_cm_Startup, Boolean) Then ' If the command does not exist, add it. If cmd Is Nothing Then cmd = _applicationObject.Commands. _ AddNamedCommand(_addInInstance, _ "newCmd", "newCmd", "Runs the add-in.", _ True, 59, Nothing, _ vsCommandStatus.vsCommandStatusSupported _ Or vsCommandStatus.vsCommandStatusEnabled) End If ' Reference the Task List shortcut menu. cmdBar = CType(_applicationObject. _ CommandBars.Item("Task List"), _ Microsoft.VisualStudio.CommandBars.CommandBar) ' Add a command to the Task List's shortcut menu. cmdBarCtl = CType(cmd.AddControl(cmdBar, _ cmdBar.Controls.Count + 1), _ Microsoft.VisualStudio.CommandBars. _ CommandBarControl) cmdBarCtl.Caption = "A New Command" End If Catch e As System.Exception System.Windows.Forms.MessageBox.Show(e.ToString) End Try End Sub Public Sub OnDisconnection(ByVal disconnectMode As _ ext_DisconnectMode, ByRef custom As Array) Implements _ IDTExtensibility2.OnDisconnection Try ' Delete the command bar control from the ' shortcut menu. If Not (cmdBarCtl Is Nothing) Then cmdBarCtl.Delete() End If Catch e As System.Exception System.Windows.Forms.MessageBox.Show(e.ToString) End Try End Sub Public Sub OnAddInsUpdate(ByRef custom As Array) Implements _ IDTExtensibility2.OnAddInsUpdate End Sub Public Sub OnStartupComplete(ByRef custom As Array) Implements _ IDTExtensibility2.OnStartupComplete End Sub Public Sub OnBeginShutdown(ByRef custom As Array) Implements _ IDTExtensibility2.OnBeginShutdown End Sub Public Sub QueryStatus(ByVal commandName As String, ByVal _ neededText As vsCommandStatusTextWanted, ByRef status As _ vsCommandStatus, ByRef commandText As Object) Implements _ IDTCommandTarget.QueryStatus If commandName = "ContextCmd.Connect.newCmd" Then status = CType(vsCommandStatus.vsCommandStatusEnabled _ + vsCommandStatus.vsCommandStatusSupported, _ vsCommandStatus) Else status = vsCommandStatus.vsCommandStatusUnsupported End If End Sub Public Sub Exec(ByVal commandName As String, ByVal _ executeOption As vsCommandExecOption, ByRef varIn As _ Object, ByRef varOut As Object, ByRef handled As Boolean) _ Implements IDTCommandTarget.Exec handled = False If executeOption = vsCommandExecOption. _ vsCommandExecOptionDoDefault Then If commandName = "ContextCmd.Connect.newCmd" Then handled = True System.Windows.Forms.MessageBox.Show("Add-in _ running...") End If End If End Sub End Class
Dodaj kod, który ma zostać uruchomiony po kliknięciu polecenia w procedurze Exec.
Kompiluj dodatek i następnie uruchom go.
Wyświetl Listę zadań klikając Lista zadań w menu Widok.
W menu Narzędzia kliknij Menedżer dodatków.
Aktywuj dodatek ContextCmd przez zaznaczenie pola wyboru obok niego w Menedżerze dodatków.
Kliknij prawym przyciskiem myszy Lista zadań.
ContextCmd dodatek polecenia pojawi się w menu skrótów.
Zobacz też
Zadania
Porady: kontrolowanie dodatków za pomocą menedżera dodatków
Koncepcje
Wyświetlanie dodatków na paskach narzędzi i menu
Wykres modelu obiektów automatyzacji