Como expor um suplemento como um botão da barra de ferramentas
Os suplementos do Visual Studio foram substituídos no Visual Studio 2013. Você deve atualizar seus suplementos para as extensões VSPackage. Para obter mais informações sobre atualização, consulte Perguntas frequentes: convertendo suplementos em extensões VSPackage.
Se você escolher a opção de criar uma interface de usuário (UI) ao usar o assistente do suplemento para criar o suplemento, o assistente criará um comando para o suplemento no menu de Ferramentas. Se você desejar exibir o suplemento em um local mais proeminente ou mais facilmente acessível, como na barra de ferramentas principal do Visual Studio, também conhecida como barra de ferramentas “padrão”, você também poderá fazer isso.
Dica
As caixas de diálogo e os comandos de menu que você vê podem diferir das descritas no Help dependendo de suas configurações ativas ou de edição.Esses procedimentos foram desenvolvidos com as Configurações Gerais de Desenvolvimento ativas.Para alterar as configurações, escolha Importar e ExportarConfigurações no menu de Ferramentas.Para obter mais informações, consulte Personalizando configurações de desenvolvimento no Visual Studio.
Procedimento
Para exibir um suplemento na barra de ferramentas padrão
Crie ou abra um projeto de suplemento.
Substitua o código do suplemento pelo código abaixo.
Exemplo
O exemplo a seguir demonstra como criar um suplemento que adiciona um botão à barra de ferramentas “padrão” do Visual Studio. (Esse é o nome da barra de ferramentas no Visual Studio.)
Você usa o método de AddNamedCommand2 para criar um comando para o suplemento.
Você então obtém uma referência para a barra de ferramentas padrão.
Por fim, você usa o método AddControl para adicionar um novo botão.
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 stdCmdBarCtl 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 stdCmdBar As CommandBar
Dim cmdBarBtn As CommandBarButton
Try
_applicationObject = CType(application, DTE2)
_addInInstance = CType(addInInst, AddIn)
Select Case connectMode
Case ext_ConnectMode.ext_cm_AfterStartup, _
ext_ConnectMode.ext_cm_Startup
' Add the command
cmd = _applicationObject.Commands. _
AddNamedCommand(_addInInstance, _
"ANewCommand", "ANewCommand", _
"A new command", True, 59, Nothing, _
vsCommandStatus.vsCommandStatusSupported _
Or vsCommandStatus.vsCommandStatusEnabled)
' Reference the Visual Studio standard toolbar.
stdCmdBar =
CType(_applicationObject.CommandBars.Item _
("Standard"), _
Microsoft.VisualStudio.CommandBars.CommandBar)
' Add a button to the standard toolbar.
stdCmdBarCtl = CType(cmd.AddControl(stdCmdBar, _
stdCmdBar.Controls.Count + 1), _
Microsoft.VisualStudio.CommandBars. _
CommandBarControl)
' Set a caption for the toolbar button.
stdCmdBarCtl.Caption = "A new command bar"
' Set the toolbar's button style to an icon button.
cmdBarBtn = CType(stdCmdBarCtl, CommandBarButton)
cmdBarBtn.Style = MsoButtonStyle.msoButtonIcon
End Select
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
' When the add-in closes, get rid of the toolbar button.
If Not (stdCmdBarCtl Is Nothing) Then
stdCmdBarCtl.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 neededText = EnvDTE.vsCommandStatusTextWanted. _
vsCommandStatusTextWantedNone Then
If commandName = "cmdBar2.Connect.ANewCommand" Then
status = CType(vsCommandStatus.vsCommandStatusEnabled _
+ vsCommandStatus.vsCommandStatusSupported, _
vsCommandStatus)
Else
status = vsCommandStatus.vsCommandStatusUnsupported
End If
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 = "cmdBar2.Connect.ANewCommand" Then
handled = True
System.Windows.Forms.MessageBox.Show("Add-in running")
Exit Sub
End If
End If
End Sub
End Class
Consulte também
Tarefas
Como controlar suplementos usando o Gerenciador de Suplementos
Conceitos
Exibindo suplementos em barras de ferramentas e menus
Gráfico do modelo de objetos automation