Os compiladores constroem um modelo detalhado de código de aplicação à medida que validam a sintaxe e a semântica desse código. Eles usam este modelo para construir a saída executável a partir do código fonte. A Plataforma compilador .NET SDK dá acesso a este modelo. Cada vez mais, contamos com características integradas do ambiente de desenvolvimento (IDE) como o IntelliSense, a refactor, o nome inteligente, "Encontre todas as referências", e "Vá à definição" para aumentar a nossa produtividade. Contamos com ferramentas de análise de código para melhorar a qualidade do nosso código, e geradores de código para ajudar na construção de aplicações. À medida que estas ferramentas ficam mais inteligentes, precisam de ter acesso a cada vez mais do modelo que apenas os compiladores criam à medida que processam o código de aplicação. Esta é a missão principal das APIs de Roslyn: abrir as caixas opacas e permitir que ferramentas e utilizadores finais partilhem a riqueza de compiladores de informação sobre o nosso código.
Em vez de serem tradutores opacos de código de origem e de código de objetos, através da Roslyn, os compiladores tornam-se plataformas: APIs que podes usar para tarefas relacionadas com códigos nas tuas ferramentas e aplicações.
Conceitos SDK da plataforma de compilador .NET
A Plataforma compilador .NET SDK reduz drasticamente a barreira à entrada para a criação de ferramentas e aplicações focadas no código. Cria muitas oportunidades de inovação em áreas como a meta-programação, geração de códigos e transformação, uso interativo das línguas C# e Visual Basic, e incorporação de C# e Visual Basic em línguas específicas do domínio.
A Plataforma de Compilador .NET SDK permite-lhe construir analisadores e correções de código que encontrem e corrijam erros de codificação. Os analisadores compreendem a sintaxe (estrutura do código) e a semântica para detetar práticas que devem ser corrigidas. As correções de código fornecem uma ou mais correções sugeridas para resolver erros de codificação encontrados por analisadores ou diagnósticos de compiladores. Normalmente, um analisador e as correções de código associadas são embaladas em conjunto num único projeto.
Os analisadores e as correções de código utilizam a análise estática para entender o código. Não executam o código nem fornecem outros benefícios de teste. Podem, no entanto, apontar práticas que muitas vezes conduzem a bugs, código inatendível ou violação de orientação padrão.
Além de analisadores e correções de código, o SDK da Plataforma Compiler .NET permite-lhe também construir refactores de código.
Também fornece um único conjunto de APIs que lhe permitem examinar e entender uma base de código C# ou Visual Basic. Como pode utilizar esta única base de código, pode escrever analisadores e correções de código mais facilmente aproveitando as APIs de análise sintática e semântica fornecidas pela Plataforma Compiler SDK .NET. Libertado da grande tarefa de replicar a análise feita pelo compilador, pode concentrar-se na tarefa mais focada de encontrar e corrigir erros comuns de codificação para o seu projeto ou biblioteca.
Um benefício menor é que os seus analisadores e correções de código são menores e usam muito menos memória quando carregados em Visual Studio do que se escrevesse a sua própria base de código para entender o código num projeto. Aproveitando as mesmas aulas utilizadas pelo compilador e Visual Studio, pode criar as suas próprias ferramentas de análise estática. Isto significa que a sua equipa pode usar analisadores e correções de código sem um impacto notável no desempenho do IDE.
Existem três cenários principais para a escrita de analisadores e correções de código:
Muitas equipas têm padrões de codificação que são aplicados através de análises de código com outros membros da equipa. Os analisadores e as correções de código podem tornar este processo muito mais eficiente. As análises de código acontecem quando um desenvolvedor partilha o seu trabalho com outros da equipa. O desenvolvedor terá investido todo o tempo necessário para completar uma nova funcionalidade antes de obter quaisquer comentários. As semanas podem passar enquanto o desenvolvedor reforça hábitos que não correspondem às práticas da equipa.
Os analisadores funcionam como um desenvolvedor que escreve código. O desenvolvedor obtém feedback imediato que encoraja a seguir a orientação imediatamente. O desenvolvedor constrói hábitos para escrever código compatível assim que começam a prototipagem. Quando a funcionalidade estiver pronta para os humanos reverem, toda a orientação padrão foi aplicada.
Teams podem construir analisadores e correções de código que procuram as práticas mais comuns que violam as práticas de codificação de equipas. Estes podem ser instalados na máquina de cada desenvolvedor para impor as normas.
Gorjeta
Antes de construir o seu próprio analisador, confira os embutidos. Para mais informações, consulte as regras do código.
Fornecer orientação com pacotes de biblioteca
Há uma grande quantidade de bibliotecas disponíveis para desenvolvedores .NET no NuGet.
Algumas delas vêm da Microsoft, algumas de empresas terceiras, e outras de membros da comunidade e voluntários. Estas bibliotecas recebem mais adoção e avaliações mais altas quando os desenvolvedores podem ter sucesso com essas bibliotecas.
Além de fornecer documentação, pode fornecer analisadores e correções de código que encontrem e corrijam usos comuns da sua biblioteca. Estas correções imediatas ajudarão os desenvolvedores a ter sucesso mais rapidamente.
Pode embalar analisadores e correções de código com a sua biblioteca no NuGet. Nesse cenário, todos os desenvolvedores que instalarem o seu pacote NuGet também instalarão o pacote de analisadores. Todos os desenvolvedores que usam a sua biblioteca receberão imediatamente orientação da sua equipa sob a forma de feedback imediato sobre erros e correções sugeridas.
Fornecer orientação geral
A comunidade de desenvolvedores .NET descobriu, através da experiência, padrões que funcionam bem e padrões que são melhor evitados. Vários membros da comunidade criaram analisadores que impõem os padrões recomendados. À medida que aprendemos mais, há sempre espaço para novas ideias.
Estes analisadores podem ser enviados para o Visual Studio Marketplace e descarregados por desenvolvedores usando Visual Studio. Os recém-chegados à língua e à plataforma aprendem práticas aceites rapidamente e tornam-se produtivos mais cedo na sua jornada .NET. À medida que estas se tornam mais amplamente utilizadas, a comunidade adota estas práticas.
Passos seguintes
O SDK da Plataforma compilador .NET inclui os mais recentes modelos de objetos linguísticos para a geração de códigos, análise e refactor. Esta secção fornece uma visão geral conceptual da Plataforma compilador .NET SDK. Mais detalhes podem ser encontrados nas secções quickstarts, amostras e tutoriais.
Pode saber mais sobre os conceitos na Plataforma Compiler .NET SDK nestes cinco tópicos:
Para começar, terá de instalar o SDK da Plataforma compilador .NET:
Instruções de instalação - instalador Visual Studio
Existem duas maneiras diferentes de encontrar o SDK da Plataforma compilador .NET no instalador de Visual Studio:
Instale-o utilizando o instalador Visual Studio - Vista de cargas de trabalho
A Plataforma de Compilador .NET SDK não é selecionada automaticamente como parte da Visual Studio carga de trabalho de desenvolvimento de extensão. Deve selecioná-lo como um componente opcional.
Executar Visual Studio Instalador
Selecione Modificar
Verifique a carga de trabalho de desenvolvimento de extensões Visual Studio.
Abra o nó de desenvolvimento de extensão Visual Studio na árvore sumária.
Verifique a caixa para .NET Compiler Platform SDK. Vai encontrá-lo em último lugar sob os componentes opcionais.
Opcionalmente, também vai querer que o editor da DGML exiba gráficos no visualizador:
Abra o nó de componentes individuais na árvore de resumo.
Verifique a caixa para editor da DGML
Instale-se utilizando o separador Visual Studio Instalador - Separador de componentes individuais
Executar Visual Studio Instalador
Selecione Modificar
Selecione o separador de componentes Individuais
Verifique a caixa para .NET Compiler Platform SDK. Você vai encontrá-lo no topo sob os Compilers, construir ferramentas e seção de tempos de execução .
Opcionalmente, também vai querer que o editor da DGML exiba gráficos no visualizador:
Verifique a caixa para o editor da DGML. Vai encontrá-lo na secção de ferramentas de código .