O CLion 2024.3 representa mais um marco importante para o CLion Nova. Esta versão consideravelmente melhorada do nosso novo mecanismo de linguagem está vindo com alguns dos recursos mais solicitados e já está pronto para a maioria dos casos de uso. Esta versão também inclui novos recursos para o desenvolvimento de sistemas embarcados, como servidores de depuração e suporte à depuração nativa no Zephyr West. O CLion 2024.3 é completado com um visualizador de imagens do OpenCV e a capacidade de anexar o depurador a um processo ainda não iniciado.
Nosso novo e mais rápido mecanismo de linguagem, o CLion Nova, agora é padrão para novos usuários. Nesta versão, implementamos alguns dos recursos mais solicitados e corrigimos diversos bugs importantes. Com o tempo, planejamos tornar o CLion Nova o mecanismo-padrão para todos os usuários, tanto os já existentes quanto os novos. Mas primeiro, gostaríamos de perguntar se vocês têm alguma reserva quanto a isso.
Muitas melhorias no CLion Nova ajudaram a reduzir o uso da memória pelo mecanismo. Pode-se perceber isso principalmente em projetos grandes, como o Chromium. Agora o IDE responde melhor e tem uma inicialização mais rápida.
Agora, ao depurar código contendo uma matriz bidimensional do OpenCV, o depurador permite visualizar a matriz como uma imagem em um diálogo separado e usar diversas opções de edição. Este novo recurso torna mais fácil e conveniente o desenvolvimento de aplicações de visão computacional e aprendizado de máquina.
Adicionamos uma nova opção de configuração Debug Servers, para facilitar a configuração da depuração no desenvolvimento remoto e de sistemas embarcados. Com um servidor de depuração, você pode escolher qual debug probe você deseja executar ou no qual deseja depurar o seu alvo de build. Anteriormente, você precisava fazer uma configuração separada de execução ou depuração para cada combinação de debug probe e alvo de build.
Nesta versão, nosso novo mecanismo de linguagem, o CLion Nova, ganhou inúmeros recursos essenciais, incluindo várias atualizações específicas da linguagem e da interface de usuário. Também corrigimos alguns bugs importantes, incluindo os relacionados ao consumo de memória. Para facilitar a transição a partir do CLion Classic, não é mais necessário acessar Advanced Settings para mudar para o novo mecanismo — também incluímos controles na tela de boas-vindas e no menu Configuration.
Agora, o desempenho superior do CLion Nova em relação ao CLion Classic ficou ainda mais evidente. Por isso, acreditamos que o CLion Nova está pronto para ser o mecanismo-padrão não só para novos usuários, mas para todos.
Porém, compreendemos que nem todos os usuários existentes estão prontos para fazerem a mudança e gostaríamos de saber por quê. Tendo isso em mente, gostaríamos que você nos dissesse por que prefere o CLion Classic ao CLion Nova.
Você pode nos dar o seu feedback selecionando Help | Submit Feedback... no menu principal do IDE. Nós avaliaremos o seu feedback com cuidado e nos esforçaremos para corrigir quaisquer problemas críticos que possam estar impedindo que você adote o CLion Nova.
Fizemos muitas melhorias no CLion Nova, em um esforço para reduzir seu consumo de memória. Pode-se perceber essas melhorias especialmente em projetos grandes. Ao compararmos o uso de memória de um projeto do Chromium no CLion Nova 2024.2 com o mesmo projeto na versão 2024.3, o front-end do IDE usa 51% menos memória na nova versão e o back-end usa 15% menos.
Para nossos usuários, isso significa que:
O CLion mostra a hierarquia das funções chamadoras e chamadas e ajuda você a compreender melhor a interação entre as suas funções.
Para visualizar a hierarquia das chamadas a funções, selecione uma função no editor e selecione Navigate | Call Hierarchy no menu principal ou use o atalho ⌃⌥H (macOS) ou Ctrl+Alt+H (Windows/Linux).
Agora você pode selecionar um estilo predefinido de código, como LLVM, Google, Qt ou GNU, em Settings | Editor | Code Style | C/C++ | Set from....
Adicionamos à medianiz um ícone para chamadas recursivas. Isso facilita a visualização dos locais no seu código onde você está usando funções recursivas e ajuda a evitar situações potencialmente prejudiciais, como estouros de pilha. Esse ícone também é mostrado na hierarquia de chamadas.
O pop-up Quick Definition mostra onde e como são definidas as classes, funções, métodos e outros símbolos do projeto. Para invocar o pop-up, posicione o cursor em um símbolo no editor e tecle ⌥Espaço (macOS) ou Ctrl+Shift+| (Windows/Linux). Você também pode acessar o pop-up no menu principal, acionando View | Quick Definition.
Adicionamos uma nova opção de configuração Debug Servers, para simplificar a configuração da depuração no desenvolvimento remoto e de sistemas embarcados. É uma seção separada em Settings | Debugger, na qual você pode configurar um servidor de depuração baseado no gdbserver.
Primeiro, você precisa habilitar Debug Servers em Settings | Advanced Settings | Debugger. Depois, você pode abrir o diálogo Debug Servers em Settings | Debugger ou invocar Edit Debug Servers.
Observe que este é um recurso experimental que ainda não funciona com o PlatformIO. Porém, há uma solução provisória. Encorajamos você a tentá-la e nos dar o seu feedback sobre ela. Também teríamos prazer em combinar uma chamada rápida para sabermos mais sobre os seus casos específicos de uso e os seus desafios.
Nesta versão, ampliamos o suporte ao Zephyr West, adicionando a capacidade de depurar nativamente projetos do West. Isso facilita a configuração e execução de sessões de depuração no IDE.
Ao importar um projeto do Zephyr West, é criada automaticamente uma configuração de execução/depuração do West no controle Run/Debug Configurations. Você também pode criar uma nova configuração de execução/depuração acionando Run | Edit Configurations... no menu principal.
Agora, ao depurar periféricos de placa, como pinos ou temporizadores GPIO, você pode ver imediatamente os efeitos das suas alterações editando registradores de periféricos no painel Peripherals da janela de ferramentas Debug.
MISRA C++:2023 é a última edição do MISRA C++, que fornece diretrizes para o uso do C++ 17 em sistemas nos quais a segurança é crítica. Agora o conjunto de ferramentas de análise estática do CLion inclui um número significativo de verificações do MISRA C++:2023.
Agora, quando você estiver depurando um aplicativo de visão computacional ou aprendizado de máquina que use o OpenCV, poderá ver uma matriz bidimensional do OpenCV como uma imagem. O depurador mostra essas imagens em um diálogo separado e oferece diversas opções de edição e recursos como a atualização da imagem no stepping.
No diálogo Threads & Variables do depurador, clique em View as image.
Ao depurar strings que armazenam caracteres de quebra de linha ou dados em JSON, XML ou HTML, você poderá visualizá-las no editor formatadas nos seus respectivos estilos de código. Clique em View junto a uma variável e você poderá visualizar os dados brutos ou estruturados em uma janela separada.
Agora você pode anexar o depurador a processos locais ainda não iniciados. Esses processos acionarão a depuração automaticamente assim que forem iniciados. Este recurso é útil quando, por exemplo, uma parte do seu projeto é em C++ e executada no CLion, enquanto outra parte é em outra linguagem e executada em um ambiente externo.
Para configurá-lo, selecione Run | Attach to an Unstarted Process... no menu principal.
Atualizamos os seguintes depuradores incluídos:
O plug-in atualizado do JetBrains AI Assistant, equipado com nosso modelo grande de linguagem para C++, treinado internamente, tornou mais rápida e inteligente a complementação de código do CLion na nuvem. Agora o plug-in oferece uma variedade maior de situações de uso, com uma melhor correspondência de sufixos, garantindo que o trecho previsto de código complete corretamente o código existente.
Uma das melhorias de maior destaque é a complementação de código em múltiplas linhas, que foi atualizada com realce de sintaxe e aceitação incremental de sugestões de código.
A complementação de código em múltiplas linhas trabalha em conjunto com a complementação tradicional e com a complementação de código em linhas inteiras (esta última usa o LLM local e não precisa enviar dados para a nuvem). Isso permite que você revise e aceite as sugestões de forma gradual. Você também pode aceitar as sugestões uma palavra de cada vez, usando o atalho ⌥→ no macOS e Ctrl+→ no Windows.
Se você for novato no CLion, notará as dicas de integração aperfeiçoadas. Elas mostram como usar alguns dos principais recursos do IDE e lhe dão uma visão mais clara desses recursos desde o início. Isso reduz o tempo necessário para dominar o uso do CLion.
Reformulamos as notificações de status do projeto para distraírem menos, movendo-as do alto do editor para um novo widget na barra de status. Agora o ícone aparecerá se você criar um novo arquivo .cpp no seu projeto, por exemplo. A notificação de que o seu arquivo não pertence a nenhum projeto não aparecerá até que você passe o mouse sobre o ícone. Se você clicar no ícone, o widget oferecerá para adicionar o arquivo ao projeto do CMake. Se você não precisar disso, poderá fechar o pop-up e deixar apenas o ícone na barra de status.
Foi implementado um design mais compacto na interface do novo terminal, reduzindo o espaçamento para maximizar o aproveitamento da tela. Isso também aumenta a visibilidade ao trabalhar com comandos, sem comprometer a legibilidade.
Agora o CLion realça como padrão todas as ocorrências de um texto que você selecionar em qualquer arquivo, não só em arquivos .c e .cpp. Isso facilita controlar onde o texto selecionado aparece no arquivo. Se você preferir o comportamento anterior, poderá desativar este recurso em Settings | Editor | General | Appearance.
O Cmake incluído foi atualizado para a versão 3.30.5.