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.
Avaliação gratuita por 30 dias disponível
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:
Use o AI Assistant no ReSharper como recurso suplementar com uma assinatura do JetBrains AI Service.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
Essas novas inspeções cobrem estes dois casos:
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.
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.
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.
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:
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.
O recurso Assembly diff, introduzido na versão anterior, agora pode comparar pacotes do NuGet, pastas e arquivos .zip
.
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.
#nullable disable
explícitas são mostradas em fontes descompiladas. 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.
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.
Avaliação gratuita por 30 dias disponível