Usar as Ferramentas do Visual Studio para Unity
Nesta seção, você aprenderá como usar os recursos de integração e produtividade das Ferramentas do Visual Studio para Unity e como usar o depurador do Visual Studio para desenvolvimento no Unity.
Abrir scripts do Unity no Visual Studio
Depois que o Visual Studio é definido como o editor externo para Unity, clicar duas vezes em um script do editor do Unity iniciará ou trocará automaticamente para o Visual Studio e abrirá o script escolhido.
Outra opção é abrir o Visual Studio sem um script aberto no editor fonte por meio da seleção do menu Ativos > Abrir Projeto do C# no Unity.
Acesso de documentação do Unity
Você pode acessar a documentação de script do Unity rapidamente pelo Visual Studio. Se as Ferramentas do Visual Studio para Unity não encontrarem a documentação da API localmente, elas tentarão localizá-la online.
- No Visual Studio, realce ou posicione o cursor sobre a API do Unity sobre a qual deseja saber mais e, em seguida, pressione Ctrl+Alt+M, Ctrl+H
- Você também pode usar o menu Ajuda > Referência da API do Unity em vez da associação de teclas.
- No Visual Studio para Mac, realce ou posicione o cursor sobre a API do Unity sobre a qual deseja saber mais e, em seguida, pressione Cmd+'
- Você também pode usar o menu Ajuda > Referência da API do Unity em vez da associação de teclas.
Intellisense para mensagens da API do Unity
O preenchimento de código Intellisense facilita a implementação de mensagens de API do Unity em scripts MonoBehaviour e auxilia no aprendizado da API do Unity. Para usar o IntelliSense para mensagens Unity:
Posicione o cursor em uma nova linha dentro do corpo de uma classe derivada de
MonoBehaviour
.Comece a digitar o nome de uma mensagem do Unity, como
OnTriggerEnter
.Após digitar as letras "ont", uma lista de sugestões do IntelliSense será exibida.
A seleção na lista pode ser alterada de três maneiras:
Com as teclas de direção Para cima e Para baixo.
Clicando com o mouse no item desejado.
Continuando a digitar o nome do item desejado.
O IntelliSense pode inserir a mensagem Unity selecionada, incluindo todos os parâmetros necessários:
Pressionando Tab.
Pressionando Enter.
Clicando duas vezes no item selecionado.
Assistente de script do Unity MonoBehavior
Você pode usar o assistente do MonoBehavior para exibir uma lista de todos os métodos de API do Unity e implementar rapidamente uma definição vazia. Esse recurso, especialmente com o opção Gerar comentários de método habilitada, será útil se você ainda estiver aprendendo o que está disponível na API do Unity.
Para criar definições de método MonoBehavior vazias usando o assistente do MonoBehavior:
No Visual Studio, posicione o cursor no local em que deseja inserir os métodos e, em seguida, pressione Ctrl+Shift+M para iniciar o assistente do MonoBehavior. No Visual Studio para Mac, pressione Cmd+Shift+M.
Na janela Criar métodos de script, marque a caixa de seleção ao lado do nome de cada método que você quer adicionar.
Use a lista suspensa versão do Framework para selecionar a versão desejada.
Por padrão, os métodos são inseridos na posição do cursor. Como alternativa, você pode inseri-los após qualquer método que já esteja implementado em sua classe alterando o valor do Ponto de inserção na lista suspensa para o local desejado.
Se desejar que o Assistente gere comentários para os métodos que você selecionou, marque a caixa de seleção Gerar comentários do método. Esses comentários servem para ajudá-lo a entender quando o método é chamado e quais são suas responsabilidades gerais.
Selecione o botão OK para sair do assistente e inserir os métodos em seu código.
Gerenciador de Projetos do Unity
O Gerenciador de Projetos do Unity exibe todos os seus arquivos e diretórios de projeto do Unity da mesma maneira que o Editor do Unity. Isso é diferente de navegar nos scripts do Unity com a solução normal do Gerenciador de Soluções do Visual Studio, que os organiza em projetos e em uma solução gerada pelo Visual Studio.
- No menu principal do Visual Studio, escolha Exibir > Gerenciador de Projetos do Unity. Atalho de teclado: Alt+Shift+E
- No Visual Studio para Mac, o Painel de Soluções se comporta automaticamente assim quando um projeto do Unity é aberto.
Depuração do Unity
Ferramentas do Visual Studio para Unity permitem depurar scripts do editor e jogos para seu projeto do Unity usando um depurador poderoso do Visual Studio.
Depuração no editor do Unity
Iniciar a depuração
- Conecte o Visual Studio com o Unity clicando no botão de Reprodução rotulado Anexar ao Unity, ou use o atalho de teclado F5.
- Conecte-se ao Visual Studio para Unity clicando no botão Executar ou pressione Comando + Enter ou F5.
- Alterne para o Unity e clique no botão Reproduzir para executar o jogo no editor.
- Quando o jogo estiver em execução no editor do Unity e ao mesmo conectado ao Visual Studio, qualquer ponto de interrupção encontrado pausará a execução do jogo e mostrará a linha de código em que o jogo atingiu o ponto de interrupção no Visual Studio.
Parar a depuração
Clique no botão Parar no Visual Studio, ou use o atalho de teclado Shift+F5.
Clique no botão Parar no Visual Studio para Mac ou pressione Shift + Comando + Enter.
Para saber mais sobre a depuração no Visual Studio, consulte Documentação para primeiro acesso ao Depurador do Visual Studio.
Anexar ao Unity e Reproduzir
Para maior conveniência, você pode alterar o botão Anexar ao Unity para o modo Anexar ao Unity e Reproduzir.
Clique na setinha para baixo ao lado do botão Anexar ao Unity.
Selecione Anexar ao Unity e Reproduzir no menu suspenso.
O botão de reprodução muda para Anexar ao Unity e Reproduzir. Agora, ao clicar nesse botão ou usar o atalho de teclado F5, alterna automaticamente para o editor do Unity e executa o jogo no editor, além de anexar o depurador do Visual Studio.
É possível iniciar a depuração e reproduzir o editor do Unity em uma única etapa diretamente do Visual Studio para Mac, escolhendo a configuração Anexar ao Unity e Reproduzir.
Observação
Se você tiver iniciado a depuração usando a configuração Anexar ao Unity e Executar, o botão Parar também interromperá o Editor do Unity.
Depuração de builds de player do Unity
Você pode depurar builds de desenvolvimento de players do Unity com o Visual Studio.
Habilitar a depuração de scripts em um player do Unity
No Unity, abra as Configurações de Build selecionando Arquivo Configurações de Build>.
Na janela Configurações de Build, marque as caixas de seleção Build de Desenvolvimento e Depuração de Script.
Selecione uma instância do Unity à qual anexar o depurador
No Visual Studio, no menu principal, escolha Depurar > Anexar Depurador do Unity.
A caixa de diálogo Selecionar Instância do Unity exibe informações sobre cada instância do Unity a que você pode se conectar.
Projeto O nome do projeto para Unity que está sendo executado nesta instância do Unity.
Computador O nome do computador ou dispositivo no qual essa instância do Unity está em execução.
Digite Editor se esta instância do Unity for executada como parte do Editor do Unity; digite Player se esta instância do Unity for um player autônomo.
Porta O número da porta do soquete UDP pela qual esta instância do Unity está se comunicando.
Importante
Como as Ferramentas do Visual Studio para Unity e a instância do Unity se comunicam por um soquete de rede UDP, o firewall pode precisar de uma regra para dar permissão. Se for necessário, é possível que você veja um prompt e precisará autorizar a conexão para que o VSTU e o Unity possam se comunicar.
Selecionando uma instância do Unity que não aparece na lista
Se você tiver um Player do Unity conhecido em execução que não aparece na lista, poderá usar o botão IP de entrada na janela Selecionar Instância do Unity. Insira o endereço IP e a porta do Player do Unity em execução para conectar o depurador.
Para facilitar a depuração desse player sem inserir o IP e a porta todas as vezes, habilite a configuração Usar destinos de depuração salvos no menu Ferramentas> Opções > Ferramentas para o Unity > Geral.
O Visual Studio mostrará destinos de depuração salvos como uma opção no botão Anexar ao Unity.
- No Visual Studio para Mac, no menu superior, escolha Executar > Anexar ao Processo.
- Na caixa de diálogo Anexar ao Processo, selecione a opção Depurador do Unity no menu suspenso Depurador na parte inferior.
- Selecione uma instância do Unity na lista e clique no botão Anexar.
Depurar uma DLL no projeto do Unity
Muitos desenvolvedores do Unity estão escrevendo componentes de código como DLLs externas para que a funcionalidade que desenvolvem possa ser facilmente compartilhada com outros projetos. Ferramentas do Visual Studio para Unity facilitam a depuração do código nessas DLLs perfeitamente com outro código no seu projeto do Unity.
Observação
Neste momento, as Ferramentas do Visual Studio para Unity dá suporte somente DLLs gerenciadas. Elas não oferecem suporte à depuração de DLLs de código nativo, como aquelas escritas em C++.
Observe que o cenário descrito aqui pressupõe que você tenha o código-fonte, ou seja, se você estiver desenvolvendo ou reutilizando seu próprio código primário ou se você tiver o código-fonte em uma biblioteca de terceiros e pretender implantá-lo em seu projeto do Unity como uma DLL. Esse cenário não descreve como depurar uma DLL para a qual você não tem o código-fonte.
Para depurar um projeto de DLL gerenciado usado em seu projeto do Unity
Adicione o projeto de DLL existente para a solução do Visual Studio gerada pelas Ferramentas do Visual Studio para Unity. Com menos frequência, você pode iniciar um novo projeto DLL gerenciado para conter componentes de código no seu projeto do Unity; Se esse for o caso, você poderá adicionar um novo projeto de DLL gerenciado para a solução do Visual Studio em vez disso.
Em ambos os casos, as Ferramentas do Visual Studio para Unity mantêm a referência de projeto, mesmo se ele tiver de gerar novamente os arquivos de projeto e solução novamente, então, você precisa executar essas etapas de uma vez.
Faça referência ao perfil de framework do Unity correto no projeto de DLL. No Visual Studio, nas propriedades do projeto DLL, defina a propriedade Estrutura de destino para a versão do framework do Unity que você está usando. Essa é a Biblioteca de classes base di Unity que corresponde à compatibilidade de API que seu projeto tenha como alvo, como bibliotecas de classes base completas, micro ou da Web. Isso impede que a DLL chame métodos do framework que existem em outros frameworks ou níveis de compatibilidade, mas que podem não existir na versão de framework do Unity que você está usando.
Observação
O seguinte só é necessário se você estiver usando o runtime herdado do Unity. Se você estiver usando o novo runtime do Unity, não precisará mais usar esses perfis dedicados do 3.5. Use um perfil do .NET 4.x compatível com sua versão do Unity.
Copie a DLL para a pasta Ativos do seu projeto do Unity. No Unity, ativos são arquivos que são empacotados e implantados juntos com seu aplicativo do Unity para que eles possam ser carregados no tempo de execução. Uma vez que DLLs estão vinculadas no tempo de execução, elas devem ser implantadas como ativos. Para serem implantadas como um ativo, o Editor do Unity exige que as DLLs sejam colocadas dentro da pasta Ativos em seu projeto do Unity. Há duas formas de fazer isso:
Modifique as configurações de build do seu projeto de DLL para incluir uma tarefa posterior ao build que copia os arquivos DLL e PDB de saída de sua pasta de saída para a pasta Ativos do seu projeto do Unity.
Modifique as configurações de build do seu projeto de DLL para definir a pasta de saída como a pasta Ativos do seu projeto do Unity. Arquivos DLL e PDB serão colocados na pasta Ativos.
Os arquivos PDB são necessários para a depuração porque eles contêm símbolos de depuração da DLL e mapeiam o código da DLL para sua forma de código-fonte. Se você tem como objetivo o runtime herdado, as Ferramentas do Visual Studio para Unity usarão informações da DLL e PDB para criar um arquivo DLL.MDB, que é o formato de símbolo de depuração usado pelo mecanismo de script do Unity herdado. Se você tem como objetivo o novo runtime e usa o Portable-PDB, o Ferramentas do Visual Studio para Unity não tentará fazer nenhuma conversão de símbolo, pois o novo runtime do Unity é capaz de consumir nativamente PDBs portáteis.
Veja mais informações sobre a geração de PDB aqui. Se você tem como objetivo o novo runtime, certifique-se de que "Informações de depuração" está definido como "Portátil", para gerar o PDB portátil corretamente. Se você tem como objetivo o runtime herdado, precisará usar "Full".
Depure seu código. Agora você pode depurar seu código-fonte de DLL junto com o código-fonte do seu projeto do Unity e usar todos os recursos de depuração com os quais esteja acostumado, como pontos de interrupção e depuração no código.
Atalhos do teclado
Você pode acessar rapidamente a funcionalidade Ferramentas do Unity para Visual Studio usando seus atalhos de teclado. Este é um resumo dos atalhos que estão disponíveis.
Comando | Atalho | Nome de comando de atalho |
---|---|---|
Abrir o Assistente do MonoBehavior | CTRL+SHIFT+M | EditorContextMenus.CodeWindow.ImplementMonoBehaviours |
Abrir o Gerenciador de Projetos do Unity | Alt+Shift+E | View.UnityProjectExplorer |
Acessar a documentação do Unity | Ctrl+Alt+M, Ctrl+H | Help.UnityAPIReference |
Anexar ao depurador do Unity (player ou editor) | sem padrão | Debug.AttachUnityDebugger |
Será possível alterar as combinações de teclas de atalho se não desejar o padrão. Para obter informações sobre como alterá-las, confira Identificar e personalizar atalhos de teclado no Visual Studio.
Comando | Atalho | Nome de comando de atalho |
---|---|---|
Abrir o Assistente do MonoBehavior | Cmd+Shift+M | EditorContextMenus.CodeWindow.ImplementMonoBehaviours |
Acessar a documentação do Unity | Cmd+' | Help.UnityAPIReference |
Será possível alterar as combinações de teclas de atalho se não desejar o padrão. Para obter informações sobre como alterar, consulte Personalizando o IDE.