Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os compiladores criam um modelo detalhado do código do aplicativo à medida que validam a sintaxe e a semântica desse código. Eles usam esse modelo para construir a saída executável do código-fonte. O .NET Compiler Platform SDK fornece acesso a esse modelo. Cada vez mais, contamos com recursos de ambiente de desenvolvimento integrado (IDE), como IntelliSense, refatoração, renomeação inteligente, "Encontrar todas as referências" e "Ir para a definição" para aumentar nossa produtividade. Contamos com ferramentas de análise de código para melhorar nossa qualidade de código e geradores de código para ajudar na construção de aplicativos. À medida que essas ferramentas ficam mais inteligentes, elas precisam ter acesso a mais e mais do modelo que apenas os compiladores criam à medida que processam o código do aplicativo. Esta é a principal missão das APIs Roslyn: abrir as caixas opacas e permitir que ferramentas e usuários finais compartilhem a riqueza de informações que os compiladores têm sobre nosso código. Em vez de serem tradutores opacos de código-fonte e código-objeto, por meio do Roslyn, os compiladores se tornam plataformas: APIs que você pode usar para tarefas relacionadas ao código em suas ferramentas e aplicativos.
Conceitos do SDK da plataforma de compilador .NET
O SDK da plataforma de compilador .NET reduz drasticamente a barreira de entrada para a criação de ferramentas e aplicativos focados em código. Ele cria muitas oportunidades de inovação em áreas como metaprogramação, geração e transformação de código, uso interativo das linguagens C# e Visual Basic e incorporação de C# e Visual Basic em linguagens específicas de domínio.
O SDK da plataforma de compilador .NET permite que você crie analisadores e correções de código que localizam e corrigem erros de codificação. Os analisadores entendem 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 corrigir 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 empacotadas juntas em um único projeto.
Analisadores e correções de código usam análise estática para entender o código. Eles não executam o código ou fornecem outros benefícios de teste. Eles podem, no entanto, apontar práticas que muitas vezes levam a bugs, código insustentável ou violação de diretrizes padrão.
Além de analisadores e correções de código, o .NET Compiler Platform SDK também permite que você crie refatorações de código. Ele também fornece um único conjunto de APIs que permitem examinar e entender uma base de código C# ou Visual Basic. Como você pode usar essa ú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 pelo SDK da plataforma de compilador .NET. Livre da grande tarefa de replicar a análise feita pelo compilador, você pode se concentrar na tarefa mais focada de encontrar e corrigir erros de codificação comuns para seu projeto ou biblioteca.
Um benefício menor é que seus analisadores e correções de código são menores e usam muito menos memória quando carregados no Visual Studio do que se você escrevesse sua própria base de código para entender o código em um projeto. Aproveitando as mesmas classes usadas pelo compilador e pelo Visual Studio, você pode criar suas próprias ferramentas de análise estática. Isso significa que sua equipe pode usar analisadores e correções de código sem um impacto percetível no desempenho do IDE.
Há três cenários principais para escrever analisadores e correções de código:
- Impor padrões de codificação de equipe
- Fornecer orientação com pacotes de biblioteca
- Fornecer orientações gerais
Impor padrões de codificação de equipe
Muitas equipes têm padrões de codificação que são aplicados por meio de revisões de código com outros membros da equipe. Analisadores e correções de código podem tornar esse processo muito mais eficiente. As revisões de código acontecem quando um desenvolvedor compartilha seu trabalho com outras pessoas da equipe. O desenvolvedor terá investido todo o tempo necessário para completar um novo recurso antes de receber quaisquer comentários. Semanas podem passar enquanto o desenvolvedor reforça hábitos que não condizem com as práticas da equipe.
Os analisadores são executados quando um desenvolvedor escreve código. O desenvolvedor recebe feedback imediato que incentiva a seguir as orientações imediatamente. O desenvolvedor cria hábitos para escrever código compatível assim que começa a criar protótipos. Quando o recurso estiver pronto para revisão humana, todas as orientações padrão foram aplicadas.
As equipes podem criar analisadores e correções de código que procuram as práticas mais comuns que violam as práticas de codificação da equipe. Eles podem ser instalados na máquina de cada desenvolvedor para fazer cumprir os padrões.
Sugestão
Antes de construir seu próprio analisador, verifique os embutidos. Para obter mais informações, consulte Regras de estilo de código.
Fornecer orientação com pacotes de biblioteca
Há uma grande variedade de bibliotecas disponíveis para desenvolvedores .NET no NuGet. Alguns deles vêm da Microsoft, alguns de empresas de terceiros e outros de membros da comunidade e voluntários. Essas bibliotecas obtêm mais adoção e avaliações mais altas quando os desenvolvedores podem ter sucesso com essas bibliotecas.
Além de fornecer documentação, você pode fornecer analisadores e correções de código que localizam e corrigem usos indevidos comuns de sua biblioteca. Essas correções imediatas ajudarão os desenvolvedores a terem sucesso mais rapidamente.
Você pode empacotar analisadores e correções de código com sua biblioteca no NuGet. Nesse cenário, cada desenvolvedor que instalar seu pacote NuGet também instalará o pacote do analisador. Todos os desenvolvedores que usam sua biblioteca receberão imediatamente orientação de sua equipe na forma de feedback imediato sobre erros e correções sugeridas.
Fornecer orientações gerais
A comunidade de desenvolvedores .NET descobriu, através da experiência, padrões que funcionam bem e padrões que devem ser evitados. Vários membros da comunidade criaram analisadores que impõem esses padrões recomendados. À medida que aprendemos mais, há sempre espaço para novas ideias.
Esses analisadores podem ser carregados para o Visual Studio Marketplace e baixados por desenvolvedores usando o Visual Studio. Os recém-chegados à linguagem e à plataforma aprendem práticas aceitas rapidamente e tornam-se produtivos no início de sua jornada .NET. À medida que estas se tornam mais utilizadas, a comunidade adota estas práticas.
Geradores de origem
Os geradores de código-fonte visam permitir a metaprogramação em tempo de compilação, ou seja, código que pode ser criado em tempo de compilação e adicionado à compilação. Os geradores de código-fonte são capazes de ler o conteúdo da compilação antes de executar, bem como acessar quaisquer arquivos adicionais. Essa capacidade permite que eles introspectem o código C# do usuário e arquivos específicos do gerador. Você pode aprender a construir geradores de código-fonte incrementais usando o livro de receitas do gerador de código-fonte.
Próximos passos
O SDK da plataforma de compilador .NET inclui os modelos de objeto de linguagem mais recentes para geração, análise e refatoração de código. Esta seção fornece uma visão geral conceitual do .NET Compiler Platform SDK. Mais detalhes podem ser encontrados nas seções de inícios rápidos, exemplos e tutoriais.
Você pode aprender mais sobre os conceitos no SDK da plataforma de compilador .NET nestes cinco tópicos:
- Explore o código com o visualizador de sintaxe
- Compreender o modelo de API do compilador
- Trabalhar com sintaxe
- Trabalhar com semântica
- Trabalhar com um ambiente de trabalho
Para começar, você precisará instalar o .NET Compiler Platform SDK:
Instruções de instalação - Visual Studio Installer
Há duas maneiras diferentes de localizar o SDK da plataforma de compilador .NET no instalador do Visual Studio:
Instalar usando o Visual Studio Installer - modo de exibição Cargas de trabalho
O SDK da plataforma de compilador .NET não é selecionado automaticamente como parte da carga de trabalho de desenvolvimento de extensão do Visual Studio. Você deve selecioná-lo como um componente opcional.
- Executar o instalador do Visual Studio
- Selecione Modificar
- Verifique a tarefa de desenvolvimento de extensões do Visual Studio.
- Abra o nó de desenvolvimento de extensões do Visual Studio na estrutura de resumo.
- Marque a caixa de seleção para .NET Compiler Platform SDK. Você vai encontrá-lo por último sob os componentes opcionais.
Opcionalmente, você também desejará que o editor DGML exiba gráficos no visualizador:
- Abra o nó Componentes individuais na árvore de resumo.
- Marque a caixa para o editor DGML
Instalar usando o Visual Studio Installer - separador Componentes Individuais
- Executar o instalador do Visual Studio
- Selecione Modificar
- Selecione a guia Componentes individuais
- Marque a caixa de seleção para .NET Compiler Platform SDK. Você o encontrará na parte superior na seção Compiladores, ferramentas de compilação e tempos de execução .
Opcionalmente, você também desejará que o editor DGML exiba gráficos no visualizador:
- Assinale a caixa do editor DGML. Você vai encontrá-lo na seção Ferramentas de código .