Novidades do ReSharper C++ 2024.2

O ReSharper C++ 2024.2 implementa novos recursos do C++ 23, incrementa as dicas de ferramenta com informações sobre o layout do tipo e traz diversos aperfeiçoamentos à refatoração Rename. Para os desenvolvedores em Unreal Engine, o ReSharper C++ 2024.2 oferece suporte a traits de structs e traz uma nova inspeção que detecta chamadas faltando a métodos-base.

Baixar

Avaliação gratuita por 30 dias disponível

Suporte para C++23

O ReSharper C++ 2024.2 adiciona o suporte ao operador multidimensional de subscritos. Melhor suporte a containers e visualizações multidimensionais usando operator[] com vários argumentos.

Agora o ReSharper C++ também compreende as diretivas de pré-processador #elifdef e #elifndef, do C++ 23 e do C 23, complementando as diretivas já existentes #ifdef e #ifndef.

O C++ 23 tem um novo atributo [[assume(<expr>)]] , que pode ser portado e adiciona uma maneira de fornecer informações adicionais ao otimizador através de uma expressão com um argumento. Agora o ReSharper C++ processa o argumento, com acesso a todos os seus recursos usuais de inteligência do código.

Unreal Engine

Agora o ReSharper C++ reconhece traits de structs do Unreal Engine. Nos structs anotados com traits, o ReSharper C++ verifica se os métodos necessários estão presentes e os gera se não estiverem.

Uma nova inspeção detecta chamadas faltando a métodos-base, especialmente nos métodos BeginDestroy e GetLifetimeReplicatedProps. A correção correspondente adiciona a chamada Super necessária.

Outra nova inspeção marca usos de IOnlineSubsystem::Get() e os substitui com Online::GetSubsystem(this->GetWorld()).

Se você tiver interesse em um IDE multiplataformas independente para desenvolvimento com Unreal Engine, considere o Rider. O suporte para Unreal Engine no Rider e no ReSharper C++ está alinhado, e você pode esperar as mesmas melhorias na atualização do Rider 2024.2.

Layout de tipos

Agora as dicas de ferramenta de informações rápidas incluem dados sobre o layout dos tipos. Basta passar o mouse sobre uma classe ou um campo de uma classe para visualizar seu tamanho e alinhamento.

Além disso, ao passar o mouse sobre um campo de uma classe, você verá o deslocamento desse campo desde o início do objeto e o preenchimento adicionado após o campo.

Aperfeiçoamentos em "Rename"

Quando você renomeia um arquivo, agora o ReSharper C++ oferece uma nova opção para renomear também os arquivos relacionados de mesmo nome. Por exemplo, se você renomear um arquivo de cabeçalho, o arquivo .cpp que incluir o cabeçalho também será renomeado.

Ainda ao renomear arquivos, outra opção permite renomear automaticamente o tipo dentro do arquivo para coincidir com o novo nome de arquivo.

Finalmente, ao renomear um namespace em um arquivo com nome correspondente, você tem uma opção de também renomear automaticamente o arquivo que o contém.

Análise de código

Atualizamos o binário incluído do clang-tidy para o Clang 18, trazendo novas verificações e melhorias da última versão da LLVM.

De forma semelhante à introdução do suporte a comentários NOLINT na versão 2024.1, agora o ReSharper C++ reconhece pragmas do include-what-you-use, para eliminar a inspeção Possible unused #include directive.

Adicionamos uma correção para usar reinterpret_cast em erros de conversão quando o tipo de origem ou destino for um ponteiro para char ou std::byte.

Diversos

Agora a ação do menu de inspeção Why is ReSharper suggesting this? ("Por que o ReSharper está sugerindo isso?") leva às "Diretrizes Principais do C++" relacionadas à inspeção de código.

Agora está disponível o filtro Base method call na janela Find Results, permitindo que você filtre chamadas a métodos-base na lista de usos.

Agora o ReSharper C++ tem digitação assíncrona, como parte de um esforço em andamento para melhorar o desempenho do ReSharper fazendo-o ser executado fora do processo do Visual Studio. Nossos testes internos mostram que ativar a digitação assíncrona melhora a fluidez da experiência de digitação.

O ReSharper C++ também melhora a compatibilidade com projetos do CMake no Visual Studio, corrigindo vários problemas importantes e melhorando o desempenho da edição de código.

Confira as Novidades no ReSharper para saber mais sobre as outras alterações introduzidas nesta versão.

Baixar

Avaliação gratuita por 30 dias disponível