Novidades no ReSharper 2023.3

O ReSharper 2023.3 oferece suporte aos últimos recursos do C# 12. Também estão incluídos novíssimos diagramas entidade-relacionamento e inspeções para problemas relacionados a entidades. Esta atualização traz várias melhorias importantes de desempenho, incluindo análise de código otimizada no plano de fundo e a capacidade de controlar a quantidade de recursos alocados à análise de código. O lançamento do ReSharper 2023.3 também recebeu o destaque de uma grande atualização do AI Assistant.

Baixar

Avaliação gratuita por 30 dias disponível

O AI Assistant já saiu da versão prévia Disponibilidade Geral

Agora o AI Assistant da JetBrains está em disponibilidade geral, com diversos recursos novos e melhorados para aumentar a sua produtividade. O último conjunto de melhorias no ReSharper inclui:

  • Chat de IA sensível ao contexto
  • Melhor reconhecimento do projeto nas ações que usam IA
  • Complementação de código multilinha movida a IA
  • Geração de testes de unidade
  • Geração de documentação XML
  • A capacidade de criar uma biblioteca de prompts personalizados

Use o AI Assistant no ReSharper como recurso suplementar com uma assinatura do JetBrains AI Service.

Assista à demonstração

Suporte para C#

Nesta versão mais recente, o ReSharper aumenta a lista dos recursos do C# 12 com suporte, incluindo construtores primários, diretivas de alias para referenciar qualquer tipo, expressões de coleção, interceptadores e outros recursos.

Confira esta postagem no blog para mergulhar nas últimas atualizações do suporte ao C# introduzidas no Rider e no ReSharper 2023.3.

Assista à demonstração

Desempenho

Agora o ReSharper 2023.3 pode reconhecer e facilitar mais cenários nos quais serviços de análise de código podem operar de forma incremental ao serem interrompidos pela digitação. Este aperfeiçoamento é especialmente útil ao processar arquivos grandes.

Integração reformulada entre as ações rápidas do ReSharper e do Visual Studio

A última atualização também coloca você no controle da quantidade de recursos a alocar na análise do código da solução inteira. Agora você pode escolher entre três modos de utilização de recursos: Low, Moderate e High.

Apesar do nome, o modo High foi projetado para não interferir na digitação no editor e não degrada a responsividade do IDE. Ele começa a aumentar o uso da CPU gradualmente, apenas depois de terminada a interrupção da análise do código pela digitação, mantendo uma experiência suave de digitação enquanto a análise da solução inteira processa o código-fonte no plano de fundo.

Outras melhorias de desempenho

Ficou mais fácil encontrar usos de tipos e construtores em soluções com muitas criações de objetos com tipos-alvo, como SomeType _field = new(). Esta melhoria também afeta positivamente a velocidade de refatoração.

Também corrigimos alguns problemas relacionados ao processamento de linguagens injetadas, que costumavam causar aumentos no uso da CPU.

Interface/experiência do usuário

Experiência do usuário reformulada na refatoração Extract local function

Experiência do usuário reformulada na refatoração Extract local function

Reformulamos a experiência do usuário na refatoração Extract local function. Anteriormente, era um desafio escolher um local para a nova função em uma lista de opções disponíveis e não ficava claro o que seria afetado por essa escolha.

Com a experiência de usuário atualizada, agora você terá uma pré-visualização da assinatura da nova função diretamente no editor de código. Isso torna fácil compreender exatamente onde a função será introduzida e como a sua escolha afetará aquela função. Você também pode visualizar quais variáveis serão transformadas em parâmetros, em vez de closures, e quais outras funções mudarão de lugar para permitirem chamadas no novo local.

Integração reformulada entre as ações rápidas do ReSharper e do Visual Studio

Integração reformulada entre as ações rápidas do ReSharper e do Visual Studio

As ações rápidas do Visual Studio e do ReSharper podem complementar bem umas às outras, quando usadas com discernimento. Com o ReSharper 2023.3, você pode facilmente tirar proveito do poder dos dois sistemas. Agora você pode ajustar as configurações para usar apenas as ações rápidas do ReSharper, mostrar ícones de sugestões para ambos ou invocar todas as ações rápidas a partir de um único ponto de acesso — o menu de lâmpada do ReSharper.

Mnemônicos para Copy Code Reference

Mnemônicos para Copy Code Reference

O ReSharper 2023.3 introduz teclas de acesso para a ação Copy Code Reference. Agora, cada tipo de referência a código no menu de contexto pode ser selecionada com uma única tecla.

Suporte para C++

No ReSharper C++ 2023.3, ficou muito mais fácil trabalhar com código inativo. Agora a complementação de código em blocos de código atualmente inativos dentro de branches condicionais do pré-processador sugere símbolos a partir do escopo global. Find Usages também recebeu uma atualização e agora mostra usos possíveis em código inativo e corpos de macros nas seções dedicadas de resultados.

Saiba mais sobre as atualizações para o C++: Novidades do ReSharper C++ 2023.3

Formatação de código

Novo mecanismo de formatação de código para o Razor

Novo mecanismo de formatação de código para o Razor

O ReSharper 2023.3 introduz um novo mecanismo de formatação de código para o Razor. Ele é compatível com o atual formatador do ReSharper para C#. Portanto, tem suporte aos construtos de linguagem do C# introduzidos nos últimos anos e à maioria das novas opções de formatação do ReSharper para C#. O novo formatador também é mais rápido e espera-se que tenha menos problemas. Porém, ele modifica a formatação-padrão do código em alguns casos. Assim, introduzimos uma opção para reverter o mecanismo de formatação para o Razor à versão antiga. Você encontra essa opção no ReSharper em Options, sob Code Editing | Razor | Code Style.

Entity Framework

Inspeções visando problemas relacionados ao Entity Framework

O ReSharper 2023.3 traz algumas novas inspeções que procuram por usos de métodos que podem potencialmente causar exceções de runtime em código relacionado ao Entity Framework.

Assista à demonstração

Essas novas inspeções cobrem estes dois casos:

  1. Métodos não conversíveis para SQL dentro do Entity Framework ou Entity Framework Core e que causam exceções quando invocados em um contexto de banco de dados.
  2. Métodos implementados exclusivamente como funções de bancos de dados e que causam exceções quando invocados fora do contexto de bancos de dados.
Experiência do usuário reformulada na refatoração Extract local function

Diagramas entidade-relacionamento

Esta versão introduz diagramas entidade-relacionamento (ERDs). No ReSharper, os ERDs fornecem uma representação gráfica do modelo do banco de dados e dos relacionamentos entre as entidades, além de insights sobre a análise do modelo do banco de dados.

No ReSharper 2023.3, análises específicas do Entity Framework procurarão no seu código problemas em potencial no modelo do EF, tais como tamanho ilimitado das propriedades de strings e loops de dependências. Se então você invocar um menu de contexto em uma dessas inspeções e selecionar Show Entity Relationship Diagram, você poderá investigar o problema visualmente.

Confira esta postagem no blog para saber mais sobre a visualização de relacionamentos do Entity Framework e sobre as novas inspeções.

Testes de unidade

Geração de testes por IA
Beta

Nossa versão anterior introduziu a capacidade de criar testes de unidade facilmente. A última atualização do AI Assistant dentro do ReSharper 2023.3 dá a você a opção de gerar o código dentro de testes de unidade, tirando proveito do poder dos LLMs.

Verificação gramatical e ortográfica

Novo mecanismo de formatação de código para o Razor

O JetBrains Grazie é o novo verificador gramatical e ortográfico embutido no ReSharper. O Grazie tem suporte a mais de 20 idiomas e detecta erros de linguagem natural dentro das linguagens de programação com suporte no ReSharper (C#, C++, VB.NET), em linguagens de marcação (HTML, XML, XAML) e em comentários. Para adicionar outros idiomas ao Grazie, vá até Options | Grammar and Spelling | General no ReSharper.

Linter do Qodana Community para .NET

Por muito tempo, se você quisesse executar a análise de código do ReSharper fora de um IDE no seu servidor de CI/CD, você só tinha uma opção: InspectCode, uma das ferramentas de linha de comando do ReSharper. Recentemente, o Qodana deu seus primeiros passos para entrar na nossa linha de ferramentas para .NET e lançou o Programa de Acesso Antecipado ao linter do Qodana Community para .NET.

Embora o Qodana se baseie no mesmo mecanismo de análise de código estático que o ReSharper, ele oferece vários benefícios adicionais:

  • Os usuários podem inspecionar os resultados da análise em um diagrama de sunburst característico no Qodana Cloud e avaliar rapidamente a saúde geral do seu projeto.
  • Use a linha de base para gerenciar o débito técnico.

Além disso, linters pagos para o Qodana para .NET permitirão executar auditorias de licenças de terceiros, analisar a cobertura do código e detectar dependências vulneráveis.

Não descontinuaremos as ferramentas de linha de comando do ReSharper, mas de agora em diante, o linter do Qodana Community para .NET será a maneira preferencial de executar a análise do ReSharper fora do IDE.

dotMemory

dotMemory stand-alone no Linux e macOS dotUltimate Beta

Agora você pode executar a versão stand-alone do dotMemory nos sistemas operacionais Linux e macOS.

Descompilador

Assembly diff

O recurso Assembly diff, introduzido na versão anterior, agora pode comparar pacotes do NuGet, pastas e arquivos .zip.

Assembly diff

Agora o recurso de comparação de assemblies tem mais opções de comparação. Você pode escolher entre diversos modos de diff (Show all, Show only differences, Show only signature differences, Show only public API differences). Além disso, você pode especificar se deseja que o Diff ignore diferenças de ordem membro/atributo e diferenças nas anotações em tipos de referências anuláveis.

Assembly explorer

Atualizações para o Assembly Explorer

  • Ao explorar pacotes do NuGet no Assembly Explorer, agora você poderá ver todos os arquivos e pastas contidos nesses pacotes do NuGet.
  • Agora os nós de recursos Win32, incluindo seu tamanho e tipo (se estes puderem ser determinados), podem ser visualizados na árvore de apresentação de nós e no painel Properties.

Outras atualizações:

  • Acaba de ser introduzida a capacidade de decodificar recursos de tabelas de strings Win32.
  • Agora o ReSharper mostra o tamanho dos arquivos abertos dentro do painel Properties nos casos de assemblies/não assemblies, arquivos dentro de bundles, arquivos comprimidos, pacotes do NuGet, assemblies comparados e recursos Win32.
  • Agora está disponível a validação de assinaturas authenticode de assemblies.
  • Diretivas #nullable disable explícitas são mostradas em fontes descompiladas.

Diversos

Novas inspeções para aplicativos que visam o framework ASP.NET Core

Novas inspeções para aplicativos que visam o framework ASP.NET Core

A Dynamic Program Analysis ganhou três novas inspeções para aplicativos que visam o framework ASP.NET Core. Essas inspeções alertam você sobre problemas potenciais de desempenho de back-end que possam tornar o seu aplicativo menos responsivo.

Saiba mais

Novas inspeções para identificar usos vulneráveis da API

Novas inspeções para identificar usos vulneráveis da API Segurança

O Rider 2023.3 traz um novo recurso de inspeção de segurança, projetado para tornar as vulnerabilidades publicadas mais evidentes e fáceis de compreender.

As novas inspeções identificam pacotes vulneráveis do NuGet no seu projeto e realçam as instâncias nas quais forem usados métodos vulneráveis dessas bibliotecas. Se for detectada alguma vulnerabilidade, o sistema realçará o código problemático e oferecerá ações rápidas para corrigi-lo. Essas ações incluem recomendar a atualização para uma versão mais recente do pacote e fornecer informações detalhadas sobre as vulnerabilidades detectadas.

Baixar

Avaliação gratuita por 30 dias disponível