O ReSharper C++ 2024.1 melhora o suporte a módulos do C++20 e implementa chamadas de saída no Call Tracking. As melhorias na assistência à codificação incluem, dentre outras, aperfeiçoamentos na refatoração Change Signature e suporte atualizado a comentários de documentação. Para desenvolvedores no Unreal Engine, o ReSharper C++ 2024.1 traz o suporte ao framework Slate UI e a complementação de caminhos de ativos no código em C++.
Avaliação gratuita por 30 dias disponível
Graças ao processo atualizado de descoberta de módulos, agora o ReSharper C++ oferece suporte a unidades internas de partições, ou seja, unidades de partições de módulos que não contribuem para a interface externa desses módulos. Em outras palavras, são partições de módulos sem uma declaração de export module
associada.
Reformulamos a representação interna dos módulos do C++ 20 exportados, para facilitar referências transitivas a entidades importadas de outros módulos. Antes, essas entidades eram reexportadas a partir do módulo que as houvesse importado. Esperamos que esta mudança reduza significativamente o impacto dos módulos exportados e melhore o desempenho em projetos que utilizem módulos do C++ 20.
O ReSharper C++ 2024.1 introduz o suporte ao framework Slate UI, do Unreal Engine. Você pode confiar no formatador de código e na assistência à digitação do ReSharper para formatar o seu código no Slate de acordo com as convenções do Unreal Engine. Também foram atualizados recursos como Go to declaration, Find Usages e Rename, que agora compreendem a sintaxe declarativa do Slate.
A integração inteligente do ReSharper C++ com o recurso Blueprint continua, com o suporte à adição de core redirects ao renomear instâncias UENUM, além da complementação de caminhos de ativos nos nomes de recursos em código C++.
Agora há suporte a interfaces em HLSL usadas para vinculação dinâmica de shaders no código destes.
Se você estiver interessado 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.1.
Agora o Call Tracking do ReSharper tem suporte à navegação através de cadeias de chamadas de saída em C++, além do suporte já existente ao rastreamento de chamadas de entrada. Para explorar chamadas de saída, posicione o cursor em qualquer função e selecione Inspect | Outgoing calls no menu de contexto. Alternativamente, você também pode pressionar Ctrl+Shift+Alt+A para invocar este recurso a partir do menu Inspect This.
Agora você pode alterar facilmente o tipo de um parâmetro de função entre um ponteiro, uma referência e um tipo de valor, usando Change Signature. O ReSharper automaticamente atualizará os usos dos parâmetros no corpo da função e ajustará os argumentos das funções em seus locais de chamada, removendo referências ou adicionando operadores de endereço onde necessário.
Agora, quando Change Signature é invocado em uma função que pode potencialmente ter usos em código dependente, a refatoração permite que você verifique as alterações e confirme quais usos precisam ser atualizados.
Agora você também pode especificar argumentos-padrão para novos parâmetros de função que tenham sido adicionados através de Change Signature.
Estas são algumas outras atualizações notáveis em Change Signature:
int
em tipos unsigned int
. Agora você pode personalizar o estilo dos comentários de documentação gerados, sem precisar editar um modelo dinâmico. Para configurar o estilo dos comentários de documentação, vá até Settings | Code editing | C++ | Code generation no ReSharper.
O JetBrains Grazie é o novo verificador gramatical e ortográfico incorporado ao ReSharper, introduzido na versão 2023.3. Na versão 2024.1, verificações ortográficas pelo Grazie também estão disponíveis dentro dos comentários de documentação em C++.
Agora a refatoração Change Signature mantém os comandos @param
sincronizados com a lista de parâmetros de função. Essa refatoração exclui os comandos @param
correspondentes a parâmetros removidos, adiciona comandos para novos parâmetros e reorganiza os comandos existentes para coincidirem com a ordem atualizada dos parâmetros incluídos.
Com base nos últimos resultados da extensa bateria de testes de ferramentas de refatoração para C++ mantida por Richard Thomson, o ReSharper C++ continua superando o desempenho das outras ferramentas, passando no maior número de casos de teste. Como parte do nosso trabalho constante para melhorar a qualidade das sugestões do ReSharper, no ReSharper C++ 2024.1 corrigimos vários problemas identificados em versões anteriores pela suíte de testes do Richard. Por exemplo, agora a correção rápida Create constructor from usage adiciona um construtor-padrão quando necessário.
Agora o ReSharper C++ 2024.1 sugere remover inicializadores idiomáticos redundantes com o valor zero na inicialização agregada. Várias novas inspeções encontram diversos problemas com membros estáticos de dados, como especificadores inline
redundantes em membros de dados static constexpr
.
A limpeza de código adiciona novos itens para remover especificadores de acessibilidade redundantes e criar classes sem herdeiros final
. Agora Apply ‘auto’ style manipula variáveis globais e membros de classes, além de variáveis locais.
Antes, se você quisesse suprimir uma inspeção em um escopo específico, você podia usar comentários // ReSharper disable
, específicos do ReSharper. Além disso, o ReSharper C++ 2024.1 reconhece os comentários NOLINT
, NOLINTNEXTLINE
e NOLINTBEGIN ... NOLINTEND
usados pelo clang-tidy.
O ReSharper C++ 2024.1 introduz várias novas opções de formatação:
Agora, ao usar uma configuração .clang-format
, o formatador do ReSharper respeita as configurações DisableFormat
e IndentAccessModifiers
. O estilo de clang-format nativo do GNU também já tem suporte.
Confira as Novidades no ReSharper para saber mais sobre as outras alterações introduzidas nesta versão.
Avaliação gratuita por 30 dias disponível