Novidades do ReSharper C++ 2024.3

O ReSharper C++ 2024.3 melhora o desempenho em soluções de grande porte, implementa novos recursos do C++ 23 e do C 23 features e introduz a refatoração Move to Folder. Em projetos do Unreal Engine, agora o ReSharper C++ oferece complementação de código em tags de gameplay e em macros que gravam logs, além de um melhor suporte a delegados.

Baixar

Avaliação gratuita por 30 dias disponível

Melhorias de desempenho

No ReSharper C++ 2024.3, nós nos concentramos em otimizar o uso de memória em soluções de grande porte, resultando em uma quantidade significativamente menor de memória usada. Segundo nossos testes, agora o uso de memória após a indexação inicial é aproximadamente 20% menor com o Unreal Engine e 30% menor no Chromium.

Essa economia de memória, combinada com otimizações para reduzir o tráfego de memória, também aumentou a velocidade de indexação. Por exemplo, agora a indexação inicial da solução LLVM ficou até 10% mais rápida.

Recursos da linguagem

O ReSharper C++ 2024.3 complementa o suporte aos principais recursos do C++ 23 implementando sufixos literais para size_t e atributos em expressões lambda. Além disso, agora é avaliado o trait de tipo std::has_unique_object_representations, do C++ 17.

Para os desenvolvedores em C, o ReSharper C++ traz o suporte às palavras-chave typeof e typeof_unqual, além da macro __has_c_attribute do C 23.

Para maior compatibilidade com compiladores não MSVC, o ReSharper C++ implementa várias extensões do compilador do GNU, incluindo faixas de "switch case", parâmetros nomeados em macros variádicas, o atributo de tipo transparent_union e __attribute((aligned(...))). O ReSharper C++ também reconhece muitas novas inclusões em compiladores, incluindo mais traits de tipos e comparações de ponto flutuante.

Unreal Engine

Agora a complementação de código sugere nomes disponíveis para categorias e níveis de verbosidade nos argumentos das macros UE_LOG e UE_LOGFMT. Modelos dinâmicos incluídos com os mesmos nomes ajudam a adicionar rapidamente novas instruções de log.

Agora o ReSharper C++ descobre tags de gameplay definidas no seu projeto e sugere-as ao completar o argumento da função FGameplayTag::RequestGameplayTag.

Melhor suporte à macro UDELEGATE, incluindo a complementação de especificadores de reflexão dentro de atributos de macro e o acompanhamento do número de usos a partir do Blueprints de membros de classes de tipos delegados.

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.3.

Refatoração Move to Folder

Agora você pode facilmente mudar arquivos do C++ de lugar, com a refatoração Move to Folder. Depois de mover os arquivos selecionados para o novo local, a refatoração atualiza as diretivas #include para refletirem as alterações na estrutura do projeto.

Assistência para codificação

Para os usuários que trabalham com a biblioteca de faixas do C++ 20, introduzimos novas ações de contexto que permitem converter usos de adaptadores de faixas entre as formas de "pipe" e chamada. Também melhoramos as mensagens de diagnóstico para erros de sobrecarga ao usar adaptadores de faixas na forma de "pipes".

O ReSharper C++ 2024.3 traz o suporte a comentários TODO em várias linhas, permitindo que texto indentado nas linhas seguintes seja tratado como parte do mesmo item TODO. Além disso, se você encontrar um item TODO com um link para uma issue externa, poderá usar a ação Peek To-do link (Ctrl+Shift+Click) para exibir a issue in-line.

Agora a assistência à digitação coloca automaticamente um espaço antes de um parêntese à esquerda se a opção de formatação Space before parentheses in control statements estiver habilitada.

Novas opções de formatação permitem configurar o estilo das chaves {} em propriedades de C++ e linha de comando, além da quebra de linha antes de um try block de função.

Geração de código

Se o seu projeto usar a sintaxe de XML nos comentários da documentação, em vez do Doxygen, agora você pode facilmente personalizar o estilo do modelo-padrão de documentação nas configurações Code Generation. Agora o ReSharper C++ também reconhece documentação em XML dentro de comentários no estilo /** ... */ e a exibe corretamente nas dicas de ferramentas.

Outra nova configuração permite controlar se ações de geração de código devem ou não preservar os argumentos-padrão da função ao criar funções de substituição.

Integração com ferramentas do Clang

O ReSharper C++ 2024.3 inclui os binários clang-tidy e clang-format do Clang 19, trazendo novas verificações e melhorias em relação à última versão do LLVM.

Agora, comentários // NOLINT(...) que desativem verificações específicas do clang-tidy no seu código também desativam as inspeções correspondentes do ReSharper.

Agora o formatador incluído reconhece comentários // clang-format off e // clang-format on e desativa a formatação nas regiões delimitadas.

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