Analisadores Unity agora de código aberto

Nossa equipe de desenvolvimento de ferramentas do Visual Studio para Unity vê sua missão de melhorar a produtividade dos desenvolvedores do Unity . No Visual Studio 2019, os colegas apresentaram as ferramentas do Unity, um conjunto de diagnósticos e correções de código específicas para o Unity. Hoje, temos o prazer de anunciar que os Analisadores Unity se tornaram Open Source . Detalhes sob o corte.



Analisadores de unidade


O Visual Studio e o Visual Studio para Mac são afiliados à Roslyn , nossa infraestrutura de compilador, para fornecer uma experiência de programação C # fantástica. Um dos recursos favoritos de Roslyn é a capacidade de avisar programadores programaticamente ao usar a API. Com base nessa experiência, o analisador descobre um modelo de código e pode propor substituí-lo por um modelo mais recomendado.

Um exemplo típico da API do Unity é a comparação de tags nos objetos do jogo. Você poderia escrever

collision.gameObject.tag == "enemy";

Para comparar tags



Mas o Unity oferece um método CompareTag que é mais eficiente, por isso implementamos o diagnóstico CompareTag que detectará esse padrão e sugerirá o uso de um método mais otimizado. No Windows, basta pressionar (CTRL +.) Ou pressionar (Alt-Enter) no Visual Studio para Mac para ativar correções rápidas, e você terá uma prévia da alteração:



atualmente, temos uma dúzia de analisadores que estão nas ferramentas do Unity, e mais está sendo criado agora.

Melhorando a experiência padrão


A equipe de Roslyn lançou recentemente anti-jammers. Esse recurso permite suprimir programaticamente o conjunto de analisadores padrão que acompanha o Roslyn.

Isso é ótimo para os desenvolvedores do Unity, pois permite que nossa equipe de Ferramentas para Unity remova avisos ou sugestões para corrigir códigos que não estão relacionados ao desenvolvimento do Unity.

Um exemplo típico são os campos decorados com os atributos Unity SerializeField ., para destacar os campos no Inspetor de unidade. Por exemplo, sem os analisadores Unity, o Visual Studio oferecerá o campo serializado como somente leitura, enquanto sabemos que o mecanismo Unity define o valor desse campo. Se você aceitasse esse patch de código, o Unity removeria qualquer link criado no Inspetor para esse campo, o que poderia quebrar tudo. Ao escrever um supressor, podemos suprimir programaticamente esse comportamento, deixando-o ativado para os campos C # padrão.

Já disponível


Hoje, os Analisadores Unity são enviados como parte do Tools for Unity e incluídos no Visual Studio e no Visual Studio para Mac. Os analisadores funcionam no Visual Studio. Isso significa que, se você suprimir o aviso, ainda poderá vê-lo na lista de erros do Unity. Estamos trabalhando para melhorar isso para uma versão futura.

Compartilhe sua vida hacks


A equipe do Tools for Unity possui um estoque de analisadores, correções de código e supressores nos quais estamos trabalhando, mas estamos sempre procurando novos analisadores que melhorem a experiência de programação em C # para desenvolvedores do Unity. O projeto é fácil de ajudar. Basta ir ao nosso README e sugerir um novo analisador ou até mesmo enviar uma solicitação ao repositório.

Vejo você no GitHub!

All Articles