Compartilhar via


Instruções passo a passo: criando um assistente

Em Visual Studio 2013, suplementos são preteridos. Recomendamos que você atualize seus suplementos para as extensões VSPackage. Para obter mais informações sobre como atualizar, consulte Perguntas frequentes: convertendo suplementos em extensões VSPackage.

Os assistentes, como o Assistente de Suplemento, são programas que levam um usuário através de uma série de ações para concluir uma tarefa complexa, repetitiva, ou difícil. O Windows, por exemplo, usa assistentes para se conectar aos recursos de rede, impressoras, e assim por diante.

No Visual Studio, os assistentes geralmente fazem uma série de perguntas que solicitam entrada de um usuário e usam os resultados para gerar código. Os assistentes, no entanto, nem sempre exibem uma interface de usuário (UI). Eles podem ser programados para gerar invisivelmente o código em segundo plano.

Há três tipos diferentes de assistentes.

  • Assistentes de Novo Projeto — como o nome sugere, esses assistentes são usados para gerar o novo código para um tipo de projeto em particular, dando ao usuário um ponto de partida para a adição de seu próprio código. Este é o tipo de assistente mais comumente usado.

  • Adicionar assistentes de novo item— Esses assistentes são usados para adicionar novos itens, como formulários da Web, arquivos de texto, páginas HTML, páginas XML, e assim por diante, a um projeto.

  • Assistentes personalizados— esses assistentes não são chamados de uma caixa de diálogo. Em vez disso, eles são chamados diretamente de suplementos, de macros ou de outros tipos de código. Eles podem ou não exibir uma interface de usuário. Em ambos os casos, geram código. Esse tipo de assistente é usado com menos frequência.

Independentemente do tipo de assistente, todos eles possuem características comuns.

  • Eles são objetos .NET que implementam a interface IDTWizard e têm um método associado, Execute, que contém o código em que você deseja que o assistente seja executado.

  • Todos eles usam um arquivo .vsz para exibi-los no Visual Studio.

  • Todos eles geram código ou executam alguma outra tarefa.

Você pode personalizar a aparência dos elementos nos assistentes que você criar. Muitas vezes os assistentes consistem em uma ou mais janelas, ou em páginas. As páginas podem conter uma imagem descritiva, como na parte superior ou ao lado esquerdo da página, uma descrição de rótulo, instruções, e uma área em que os controles de navegação como Avançar e Anterior podem ser colocados.

O processo para criar assistentes no Visual C++ é um pouco diferente da criação de assistentes padrão do Visual Studio. Para obter informações sobre como criar assistentes destinados ao Visual C++, consulte Projetando um assistente e Criando um assistente personalizado.

Dica

Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de interface do usuário Visual Studio nas instruções a seguir.A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos.Para obter mais informações, consulte Personalizando configurações de desenvolvimento no Visual Studio.

Um exemplo de um assistente básico

Assistente de suplemento do Visual Studio

Esta imagem mostra um painel do Assistente de Suplemento, um tipo de assistente new-project que leva você a uma série de etapas para criar um suplemento. Você pode personalizar a aparência de seus assistentes, mas o Assistente de Suplemento é um bom exemplo de estilo de um tipo de assistente padrão. Os assistentes concluídos tornam-se modelos disponíveis na caixa de diálogo Novo Projeto ou Adicionar Novo Item.

O exemplo a seguir demonstra como criar um assistente básico e, opcionalmente, atribua um ícone personalizado a ele.

Para criar um assistente básico no Visual Basic e Visual C#

  1. Executar o Visual Studio como administrador. Registrar o assistente requer atualização do Registro, de modo que ele precisa desse privilégio.

  2. Crie um novo projeto de Biblioteca de Classes chamado MyNewWizard.

  3. Adicione referências para EnvDTE e EnvDTE80 ao projeto.

    Para fazer isso, clique com o botão direito do mouse no projeto e clique em Adicionar, Referência. Na guia .NET da caixa de diálogo Referência, clique em EnvDTE e em EnvDTE80 e, em seguida, clique em OK.

No módulo de classe, inclua referências a EnvDTE e a EnvDTE80 e implemente a interface IDTWizard. Para este exemplo do Visual C#, você também adicionar uma referência a System.Windows.Forms e a System.Runtime.InteropServices.

Imports EnvDTE 
Imports EnvDTE80
Public Class Class1
    Implements IDTWizard
using System;
using System.Collections.Generic;
using System.Text;
using EnvDTE; 
using EnvDTE80; 
using System. Windows.Forms;

using System.Runtime.InteropServices;

namespace MyNewWizard
{

[ComVisible(true)]

[Guid("20184B81-7C38-4E02-A1E3-8D564EEC2D25"),

ProgId("MyNewWizard.Class1")]

    public class Class1 : IDTWizard
    {
    }
}

Quando você adiciona a declaração de Implements a Visual Basic, posicione o cursor no final da linha e pressione ENTER para criar automaticamente um procedimento de método Execute . Para Visual C#, no entanto, você deve adicionar o procedimento Execute manualmente:

public class Class1 : IDTWizard
    {
    public void Execute(object Application,  
        int hwndOwner, ref object[] contextParams,  
        ref object[] customParams,  
        ref EnvDTE.wizardResult retval)
  1. Adicione o código que você deseja que o assistente execute no procedimento Execute. Para este exemplo, simplesmente adicionamos uma caixa de mensagem simples.

    Você deve ter o seguinte:

    Imports EnvDTE
    Imports EnvDTE80
    
    Public Class Class1
        Implements IDTWizard
    
        Public Sub Execute(ByVal Application As Object, ByVal _
        hwndOwner As Integer, ByRef ContextParams() As Object, ByRef _
        CustomParams() As Object, ByRef retval As EnvDTE.wizardResult) _
        Implements EnvDTE.IDTWizard.Execute
            MsgBox("The wizard is now running.")
        End Sub
    End Class 
    
    using System.Text;
    using EnvDTE;
    using EnvDTE80;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;
    
    namespace MyNewWizardCS
    {
        public class Class1 : IDTWizard
        {
    
        public void Execute(object Application, 
            int hwndOwner, ref object[] contextParams, 
            ref object[] customParams, 
            ref EnvDTE.wizardResult retval)
        {
            MessageBox.Show("The wizard is now running.");
        }
    }
    
    }
    

    O procedimento Execute é chamado quando o assistente é iniciado.

  2. Clique com o botão direito do mouse em Gerenciador de Soluções e clique em Propriedades para abrir a página Propriedades do Projeto, clique na guia Compilar e marque a caixa Registrar para interoperabilidade COM na parte inferior da página.

  3. No arquivo AssemblyInfo.cs, localize o atributo ComVisible e defina-o como verdadeiro.

  4. Compilar o projeto para criar a biblioteca de classe .dll clicando em Compilar solução no menu Compilar.

  5. Crie um arquivo de texto .vsz para o assistente chamado MyNewWizard.vsz.

    Para fazer isso, faça uma cópia de um arquivo .vsz existente, qualquer um que esteja localizado em <Visual Studio Install Directory>\VC#\CSharpProjectItems\Windows Forms e renomeie-o para "MyNewWizard.vsz".

    Um arquivo .vsz é um arquivo de texto que permite o Visual Studio reconhecer o assistente e exibi-lo na caixa de diálogo Novo Projeto ou Adicionar Novo Item. O parâmetro Wizard deve ser definido como o progID (Project.Classname) do projeto ou o GUID. Para obter mais informações, consulte Configurando arquivos .Vsz para iniciar assistentes.

    Dica

    Opcionalmente, também é possível criar um arquivo de VSDir para o assistente.Isso contém as informações que são exibidas como uma descrição para o assistente na caixa de diálogo Novo Projeto ou Novo Arquivo.Também permite que você especifique um ícone e organize sua localização na lista.Para obter mais informações, consulte Adicionando assistentes às caixas de diálogo Adicionar Item e Novo Projeto usando arquivos .Vsdir.

  6. Substitua o conteúdo de MyNewWizard.vsz pelo seguinte:

    VSWizard 7.0
    Wizard=MyNewWizard.Class1
    Param=First Item
    Param=Second Item
    
  7. Salve o novo arquivo .vsz no diretório, onde você deseja que o assistente apareça.

    Para este exemplo, desejamos que o assistente apareça na caixa de diálogo Adicionar Novo Item para projetos do Visual Basic , então salve o arquivo .vsz no seguinte diretório: <Visual Studio Install Directory>\VB\VBProjectItems.

  8. Saia do Visual Studio e então o reinicie.

    Isso força o Visual Studio a ler o novo arquivo .vsz.

  9. Crie um novo projeto Visual Basic, como um projeto de Aplicativo do Windows.

  10. Clique com o botão direito no projeto, aponte para Adicionar e, em seguida, clique em Novo Item.

    Você deve ver seu novo assistente (MyNewWizard) na caixa de diálogo Adicionar novos itens .

  11. Clique no assistente e clique no botão Adicionar.

    Você verá a mensagem “o assistente está executando agora”.

Para exibir um ícone personalizado para o novo assistente

  • Colocar um arquivo de ícone com o mesmo nome de arquivo base que o arquivo .dll mas com uma extensão .ico no mesmo diretório que o arquivo do assistente.

    Por exemplo, se o assistente for nomeado como MyNewWizard.dll, nomeie o arquivo como MyNewWizard.ico .ico.

    - ou -

  • Se você criou um arquivo VSDir, especifique um caminho para o arquivo de ícone (.ico) ali.

Consulte também

Tarefas

Como criar um suplemento

Referência

IDTWizard

Conceitos

Gráfico do modelo de objetos automation

Adicionando assistentes às caixas de diálogo Adicionar Item e Novo Projeto usando arquivos .Vsdir

Configurando arquivos .Vsz para iniciar assistentes

Outros recursos

Criando suplementos e assistentes

Comandos e opções do Visual Studio