Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os compiladores criam um modelo detalhado de código de aplicativo à medida que validam a sintaxe e a semântica desse código. Eles usam esse modelo para criar a saída executável a partir do código-fonte. O SDK do .NET Compiler Platform fornece acesso a esse modelo. Cada vez mais, contamos com recursos de IDE (ambiente de desenvolvimento integrado), como IntelliSense, refatoração, renomeação inteligente, "Localizar todas as referências" e "Ir para 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 do aplicativo. À medida que essas ferramentas ficam mais inteligentes, elas precisam de acesso a cada vez mais do modelo que só 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 para código-objeto, por meio do Roslyn, os compiladores se tornam plataformas: APIs que podem ser utilizadas para tarefas relacionadas ao código em suas ferramentas e aplicativos.
Conceitos do SDK do .NET Compiler Platform
O SDK do .NET Compiler Platform reduz drasticamente a barreira à entrada para a criação de ferramentas e aplicativos focados em código. Ele cria muitas oportunidades de inovação em áreas como meta-programação, geração e transformação de código, uso interativo das linguagens C# e Visual Basic e inserção de C# e Visual Basic em linguagens específicas do domínio.
O SDK do .NET Compiler Platform permite que você crie analisadores e correções de código que encontrem e corrija erros de codificação. Os analisadores entendem a sintaxe (estrutura de código) e a semântica para detectar práticas que devem ser corrigidas. As correções de código fornecem uma ou mais correções sugeridas para lidar com erros de codificação encontrados por analisadores ou diagnóstico de compilador. Normalmente, um analisador e as correções de código associadas são empacotadas em um único projeto.
Analisadores e correções de código usam a 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 geralmente levam a bugs, código inintencável ou violação de diretriz padrão.
Além de analisadores e correções de código, o SDK da Plataforma do Compilador .NET também permite criar 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 base de código única, você pode escrever analisadores e correções de código com mais facilidade aproveitando as APIs de análise sintactica e semântica fornecidas pelo SDK da Plataforma do Compilador .NET. Liberado da tarefa grande de replicar a análise feita pelo compilador, você pode se concentrar na tarefa mais focada de localizar e corrigir erros comuns de codificação 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 perceptí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 diretrizes sobre pacotes de biblioteca
- Fornecer diretrizes gerais
Impor padrões de codificação de equipe
Muitas equipes têm padrões de codificação que são impostos 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 ocorrem quando um desenvolvedor compartilha seu trabalho com outras pessoas na equipe. O desenvolvedor terá investido todo o tempo necessário para concluir um novo recurso antes de receber comentários. Semanas podem passar enquanto o desenvolvedor reforça hábitos que não correspondem às práticas da equipe.
Os analisadores são executados à medida que um desenvolvedor escreve o código. O desenvolvedor recebe comentários imediatos que incentivam a seguir as diretrizes imediatamente. O desenvolvedor cria hábitos para escrever código em conformidade assim que começar a criar protótipos. Quando o recurso estiver pronto para revisão pelos seres humanos, todas as diretrizes padrão terão sido implementadas.
As equipes podem criar analisadores e correções de código que procurem as práticas mais comuns que violem as práticas de codificação em equipe. Elas podem ser instaladas no computador de cada desenvolvedor para impor os padrões.
Dica
Antes de criar seu próprio analisador, confira os analisadores integrados. Para obter mais informações, consulte regras de estilo de código.
Fornecer diretrizes com pacotes de biblioteca
Há uma grande variedade de bibliotecas disponíveis para desenvolvedores do .NET no NuGet. Alguns deles vêm da Microsoft, alguns de empresas terceirizadas e outros de membros da comunidade e voluntários. Essas bibliotecas recebem mais adoção e avaliações mais altas quando os desenvolvedores podem ter êxito com essas bibliotecas.
Além de fornecer documentação, você pode fornecer analisadores e correções de código que encontram e corrigem usos incorretos comuns de sua biblioteca. Essas correções imediatas ajudarão os desenvolvedores a ter êxito mais rapidamente.
Você pode empacotar analisadores e correções de código com sua biblioteca no NuGet. Nesse cenário, todos os desenvolvedores que instalam seu pacote NuGet também instalarão o pacote do analisador. Todos os desenvolvedores que usam sua biblioteca receberão imediatamente orientações de sua equipe na forma de comentários imediatos sobre erros e correções sugeridas.
Fornecer diretrizes gerais
A comunidade de desenvolvedores do .NET descobriu, por meio 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 esses padrões recomendados. À medida que aprendemos mais, sempre há espaço para novas ideias.
Esses analisadores podem ser carregados no Visual Studio Marketplace e baixados por desenvolvedores usando o Visual Studio. Os recém-chegados ao idioma e à plataforma aprendem rapidamente as práticas aceitas e tornam-se produtivos no início de sua jornada do .NET. À medida que elas se tornam mais amplamente utilizadas, a comunidade adota essas práticas.
Geradores de origem
Os geradores de origem 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 origem podem ler o conteúdo da compilação antes de serem executados, bem como acessar arquivos adicionais. Essa capacidade permite que eles introspectem o código C# do usuário e os arquivos específicos do gerador. Você pode aprender a criar geradores de origem incrementais usando o livro de receitas do gerador de origem.
Próximas etapas
O SDK do .NET Compiler Platform 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 SDK do .NET Compiler Platform. Mais detalhes podem ser encontrados nas seções de guias de início rápido, exemplos e tutoriais.
Você pode saber mais sobre os conceitos no SDK do .NET Compiler Platform nestes cinco tópicos:
- Explorar o código com o visualizador de sintaxe
- Entender o modelo de API do compilador
- Trabalhar com sintaxe
- Trabalhar com semântica
- Trabalhar com um espaço de trabalho
Para começar, você precisará instalar o SDK do .NET Compiler Platform:
Instruções de instalação – Instalador do Visual Studio
Há duas maneiras diferentes de encontrar o SDK do .NET Compiler Platform no Instalador do Visual Studio:
Instalar usando o instalador do Visual Studio – exibição de cargas de trabalho
O SDK do .NET Compiler Platform 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
- Escolha Mudar
- Verifique a carga de trabalho de desenvolvimento de extensão do Visual Studio .
- Abra o nó Desenvolvimento de extensão do Visual Studio na árvore de resumo.
- Marque a caixa do SDK da .NET Compiler Platform. Você o encontrará por último nos componentes opcionais.
Opcionalmente, você também desejará que o editor DGML exiba grafos no visualizador:
- Abra o nó Componentes individuais na árvore de resumo.
- Marque a caixa do Editor DGML
Instalar usando a guia Instalador do Visual Studio – Componentes individuais
- Executar o Instalador do Visual Studio
- Escolha Mudar
- Selecione a guia Componentes individuais
- Marque a caixa do SDK da .NET Compiler Platform. Você o encontrará na parte superior na seção Compiladores, ferramentas de build e runtimes .
Opcionalmente, você também desejará que o editor DGML exiba grafos no visualizador:
- Marque a caixa do Editor DGML. Você o encontrará na seção Ferramentas de código .