Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este passo a passo mostra como criar uma extensão com um comando de menu que inicia o Bloco de Notas.
Criar um comando de menu
Crie um projeto VSIX chamado FirstMenuCommand. Você pode encontrar o modelo de projeto VSIX na caixa de diálogo Novo Projeto pesquisando "vsix".
Quando o projeto for aberto, adicione um modelo de item de comando personalizado chamado FirstCommand. No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e selecione Adicionar>Novo Item. Na caixa de diálogo Adicionar Novo Item, vá para Itens do C#>Extensibilidade e selecione Comando. No campo Nome na parte inferior da janela, altere o nome do arquivo de comando para FirstCommand.cs.
Compile o projeto e comece a depuração.
A instância experimental do Visual Studio é exibida. Para obter mais informações sobre a instância experimental, consulte A instância experimental.
Na instância experimental, abra a janela Extensões>Gerenciar Extensões. Aqui, você deve ver a extensão FirstMenuCommand. (Se você abrir Gerenciar Extensões em sua instância de trabalho do Visual Studio, não verá FirstMenuCommand).
Agora vá para o menu Ferramentas na instância experimental. Você deverá ver o comando Invocar FirstCommand. Neste ponto, o comando apresenta uma caixa de mensagem que diz FirstCommand Inside FirstMenuCommand.FirstCommand.MenuItemCallback(). Veremos como de fato iniciar o Bloco de Notas a partir deste comando na próxima seção.
Alterar o manipulador de comandos do menu
Agora, vamos atualizar o manipulador de comandos para iniciar o Bloco de Notas.
Pare a depuração e volte para a instância ativa do Visual Studio. Abra o arquivo FirstCommand.cs e adicione a seguinte instrução usando:
using System.Diagnostics;Encontre o construtor privado FirstCommand. É aí que o comando é conectado ao serviço de comando e o manipulador de comandos é especificado. Altere o nome do manipulador de comandos para StartNotepad, da seguinte maneira:
private FirstCommand(AsyncPackage package, OleMenuCommandService commandService) { this.package = package ?? throw new ArgumentNullException(nameof(package)); commandService = commandService ?? throw new ArgumentNullException(nameof(commandService)); CommandID menuCommandID = new CommandID(CommandSet, CommandId); // Change to StartNotepad handler. MenuCommand menuItem = new MenuCommand(this.StartNotepad, menuCommandID); commandService.AddCommand(menuItem); }Remova o método
Executee adicione um métodoStartNotepad, que apenas iniciará o Bloco de Notas:private void StartNotepad(object sender, EventArgs e) { ThreadHelper.ThrowIfNotOnUIThread(); Process proc = new Process(); proc.StartInfo.FileName = "notepad.exe"; proc.Start(); }Agora experimente. Ao iniciar a depuração do projeto e clicar em Ferramentas>Invocar FirstCommand, você deverá ver uma instância do Bloco de Notas.
Você pode usar uma instância da classe Process para executar qualquer executável, não apenas o Bloco de Notas. Experimente com
calc.exe, por exemplo.
Limpar o ambiente experimental
Se você estiver desenvolvendo várias extensões ou apenas explorando resultados com versões diferentes do código de extensão, seu ambiente experimental poderá parar de funcionar da maneira que deveria. Nesse caso, você deve executar o script de redefinição. É chamado de Redefinir a Instância Experimental do Visual Studio e faz parte do SDK do Visual Studio. Esse script remove todas as referências às suas extensões do ambiente experimental, para que você possa começar do zero.
Você pode acessar esse script de duas maneiras:
Na área de trabalho, localize Redefinir a Instância Experimental do Visual Studio.
Na linha de comando, execute o comando CreateExpInstance.exe . Ele está localizado na pasta de instalação do Visual Studio em VSSDK\Common\Tools\Bin. Você pode construir seu caminho completo e colocar o caminho completo entre aspas para invocá-lo. Por exemplo, se o Visual Studio estiver instalado em C:\Arquivos de Programas\Microsoft Visual Studio\2022\Community, o comando será:
"C:\Program Files\Microsoft Visual Studio\2022\Community\CreateExpInstance.exe" /Reset /VSInstance=<version> /RootSuffix=Exp && PAUSE
Na área de trabalho, localize Redefinir a Instância Experimental do Visual Studio.
Na linha de comando, execute o comando CreateExpInstance.exe . Ele está localizado na pasta de instalação do Visual Studio em VSSDK\Common\Tools\Bin. Você pode construir seu caminho completo e colocar o caminho completo entre aspas para invocá-lo. Por exemplo, se o Visual Studio estiver instalado em C:\Arquivos de Programas\Microsoft Visual Studio\18\Community, o comando será:
"C:\Program Files\Microsoft Visual Studio\18\Community\CreateExpInstance.exe" /Reset /VSInstance=<version> /RootSuffix=Exp && PAUSE
Implantar sua extensão
Agora que você tem sua extensão de ferramenta em execução da maneira desejada, é hora de pensar em compartilhá-la com seus amigos e colegas. Isso é fácil, desde que tenham o Visual Studio 2015 instalado. Tudo o que você precisa fazer é enviar o arquivo .vsix que você criou. (Crie-o no modo de Lançamento.)
Você pode encontrar o arquivo .vsix para essa extensão no diretório bin FirstMenuCommand. Especificamente, supondo que você tenha criado a configuração de Release, ela estará em:
<diretório de código>\FirstMenuCommand\FirstMenuCommand\bin\Release\FirstMenuCommand.vsix
Para instalar a extensão, seu amigo precisa fechar todas as instâncias abertas do Visual Studio e, em seguida, clicar duas vezes no arquivo .vsix, o que traz à tona o Instalador VSIX. Os arquivos são copiados para o diretório %LocalAppData%\Microsoft\VisualStudio<versão>\Extensions.
Quando seu amigo abrir o Visual Studio novamente, ele encontrará a extensão FirstMenuCommand no Tools>Extensions and Updates. Eles podem ir para Extensões e Atualizações para desinstalar ou desabilitar a extensão também.
Próximas etapas
Este passo a passo mostrou apenas uma pequena parte do que você pode fazer com uma extensão do Visual Studio. Aqui está uma pequena lista de outras coisas (razoavelmente fáceis) que você pode fazer com extensões do Visual Studio:
Você pode fazer muito mais coisas com um comando de menu simples:
Adicione seu próprio ícone: Adicionar ícones aos comandos de menu
Alterar o texto do comando de menu: Alterar o texto de um comando de menu
Adicione um atalho de menu a um comando: Associar atalhos de teclado a itens de menu
Adicione diferentes tipos de comandos, menus e barras de ferramentas: Estender menus e comandos
Adicione janelas de ferramentas e estenda as janelas de ferramentas internas do Visual Studio: estender e personalizar janelas de ferramentas
Adicione o IntelliSense, sugestões de código e outros recursos aos editores de código existentes: Estender o editor e os serviços de idioma
Adicionar opções e páginas de propriedades e configurações de usuário à sua extensão: Estender propriedades e a janela Propriedade e Estender as configurações e opções do usuário
Outros tipos de extensões exigem um pouco mais de trabalho, como criar um novo tipo de projeto (Estender projetos) ou criar um novo tipo de editor (Criar editores e designers personalizados).