Novedades de CLion 2024.3

CLion 2024.3 marca otro hito importante para CLion Nova. Esta versión considerablemente mejorada de nuestro motor de lenguaje viene repleta de algunas de las funcionalidades más solicitadas y ya está lista para la mayoría de los casos de uso. Esta versión también incluye nuevas funcionalidades para el desarrollo integrado, como servidores de depuración y la compatibilidad con la depuración nativa de Zephyr West. Un visor de imágenes OpenCV y la posibilidad de adjuntar el depurador a un proceso no iniciado completan CLion 2024.3.

Novedades principales

CLion Nova

Nuestro nuevo y más rápido motor de lenguaje, CLion Nova, es ahora el predeterminado para nuevos usuarios. En esta versión hemos implementado algunas de las funcionalidades más solicitadas por los usuarios y hemos solucionado varios errores importantes. Con el tiempo, tenemos previsto que CLion Nova sea el motor predeterminado para todos los usuarios, tanto los actuales como los nuevos. Pero antes, nos gustaría preguntarle si tiene alguna duda al respecto.

Más información

Mejoras en el uso de memoria en CLion Nova

Muchas mejoras en CLion Nova han ayudado a reducir el uso de memoria del motor, lo que se nota especialmente en proyectos grandes como Chromium. El IDE ahora responde mejor y se inicia más rápido.

Más información

Compatibilidad con Meson

Visor de imágenes OpenCV

Cuando depura código que contiene un vector OpenCV bidimensional, el depurador ahora le permite verlo como imagen en un cuadro de diálogo por separado y utilizar varias opciones de edición. Esta nueva funcionalidad facilita y hace más cómodo el desarrollo de aplicaciones de visión informática y aprendizaje automático.

Más información

Mejoras para VCS

Servidores de depuración experimental

Hemos añadido una nueva opción de configuración Debug Servers para facilitar la configuración de depuración para el desarrollo integrado y remoto. Con un servidor de depuración puede elegir en qué sonda de depuración quiere ejecutar o depurar su destino de compilación. Antes había que establecer una configuración de ejecutar/depurar distinta para cada combinación de sonda de depuración y destino de compilación.

Más información

CLion Nova

Plantillas activas

Su opinión es importante

En esta versión, nuestro nuevo motor de lenguaje, CLion Nova, ha recibido una serie de funcionalidades clave, como diversas actualizaciones específicas del lenguaje y de la IU. También hemos solucionado algunos errores importantes, incluidos los relacionados con el uso de la memoria. Para facilitar la transición desde CLion Classic, los usuarios ya no tienen que ir hasta Advanced Settings para cambiar al nuevo motor: ahora también hemos incluido la posibilidad de hacerlo en la pantalla Welcome y en el menú Configuration.

Ahora, la superioridad de CLion Nova sobre CLion Classic en términos de rendimiento es aún más evidente. Por este motivo, creemos que CLion Nova está listo para ser el motor predeterminado no solo de los nuevos usuarios, sino de todo el mundo.

No obstante, entendemos que no todos los usuarios existentes están preparados para hacer el cambio, y nos gustaría saber por qué. Por ese motivo, le agradeceríamos que nos dijera por qué prefiere CLio Classic en vez de CLion Nova.

Puede enviarnos sus comentarios seleccionando Help | Submit Feedback... en el menú principal del IDE. Los revisaremos atentamente y nos esforzaremos por solucionar cualquier problema crítico que pueda estar impidiéndole disfrutar de CLion Nova.

Mejoras en el uso de la memoria

Hemos introducido muchas mejoras en CLion Nova para intentar reducir su uso de la memoria. Esto se nota especialmente en proyectos grandes. Si comparamos el uso de la memoria de un proyecto Chromium en la versión 2024.2 de CLion Nova frente al mismo proyecto en la nueva versión 2024.3, el frontend del IDE utiliza un 51 % menos de memoria, mientras que el backend del IDE utiliza un 15 % menos.

Para nuestros usuarios, esto significa lo siguiente:

  • El IDE ahora responde mejor porque utiliza menos memoria e invoca al recolector de basura con menos frecuencia.
  • El IDE es capaz de funcionar más rápido y responde mejor a los cambios en el proyecto.

Jerarquía de llamadas

La jerarquía de llamadas de las funciones muestra las jerarquías de las funciones que llaman y las que reciben la llamada, y le ayuda a comprender mejor cómo interactúan sus funciones.

Para mostrar la jerarquía de llamadas, seleccione una función en el editor y después elija Navigate | Call Hierarchy desde el menú principal o utilice el acceso directo ⌃⌥H (macOS) o Ctrl+Alt+H (Windows/Linux).

Estilos de código predefinidos desde otros proyectos y marcos de trabajo

Ahora puede seleccionar un estilo de código predefinido como LLVM, Google, Qt o GNU a través de Settings | Editor | Code Style | C/C++ | Set from....

El icono del medianil para las llamadas recursivas

Hemos añadido un icono para las llamadas recursivas al medianil. Esto hace que sea más fácil ver dónde está utilizando funciones recursivas en su código y evitar situaciones potencialmente dañinas como los desbordamientos de pila. El icono también se muestra en la jerarquía de llamadas.

Compatibilidad con Quick Definition

La ventana emergente Quick Definition le muestra dónde y cómo están definidos los símbolos de clase, función, método y otros símbolos del proyecto. Para invocarla, coloque el signo de intercalación en un símbolo en el editor y pulse ⌥Espacio (macOS) o Ctrl+Mayús+| (Windows/Linux). También puede acceder a ella desde el menú principal a través de View | Quick Definition.

Desarrollo integrado

Servidores de depuración experimental

Hemos añadido la nueva opción de configuración Debug Servers para facilitar el proceso de configuración de la depuración para el desarrollo integrado y remoto. Hay una sección separada en Settings | Debugger donde puede configurar un servidor de depuración basado en gdbserver.

En primer lugar, debe activar Debug Servers en Settings | Advanced Settings | Debugger. Luego, puede abrir el cuadro de diálogo Debug Servers en Settings | Debugger o invocar Edit Debug Servers en el selector de la barra de herramientas principal.

Tenga en cuenta que se trata de una funcionalidad experimental que aún no funciona con PlatformIO. No obstante, hay una solución alternativa. Le animamos a que la pruebe y que nos cuente sus impresiones. También estaremos encantados de organizar una llamada rápida para aprender más sobre sus casos de uso y desafíos específicos.

Compatibilidad con depuración en West

En esta versión hemos ampliado la compatibilidad con Zephyr West añadiendo la posibilidad de depurar proyectos West de forma nativa. Esto facilita la configuración y ejecución de sesiones de depuración en el IDE.

Al importar su proyecto Zephyr West, una configuración de ejecutar/depurar se crea de forma automática en el selector Run/Debug Configurations. También puede crear una nueva configuración de ejecutar/depurar a través de Run | Edit Configurations... en el menú principal.

Valores editables de registro de periféricos

Ahora, al depurar los periféricos de panel como los anclajes o temporizadores de GPIO, puede ver inmediatamente los efectos de sus cambios editando los registros de periféricos en el panel Peripherals de la ventana de herramientas Debug.

Compatibilidad con MISRA C++:2023 en CLion Nova

MISRA C++:2023 es la última edición de MISRA C++, que proporciona normas para utilizar C++17 en sistemas de seguridad crítica. El conjunto de herramientas de análisis estático de CLion ahora incluye un gran número de comprobaciones MISRA C++:2023.

Depurador

Visor de imágenes OpenCV

Si está depurando una aplicación de aprendizaje automático o visión informática que utiliza Open CV, ahora puede ver un vector OpenCV bidimensional como imagen. El depurador muestra dichas imágenes en un cuadro de diálogo independiente y ofrece varias opciones y funcionalidades de edición como la actualización de la imagen al pisarla.

En el cuadro de diálogo del depurador Threads & Variables, haga clic en View as image.

Vista formateada para cadenas con datos JSON, XML o HTML

Al depurar las cadenas que almacenan caracteres de línea nueva o datos JSON, XML y HTML, puede verlos formateados según su estilo de código directamente en el depurador. Presione View junto con una variable, y podrá ver los datos estructurados o brutos en una ventana separada.

Posibilidad de adjuntar el depurador a un proceso no iniciado

Ahora puede adjuntar el depurador a procesos locales no iniciados. Estos activarán de forma automática la depuración cuando se inicien. Esta funcionalidad resulta útil cuando, por ejemplo, una parte de su proyecto está escrita en C++ y se ejecuta en CLion, mientras que otra está escrita en otro lenguaje y se ejecuta en un entorno externo.

Para configurarla, seleccione Run | Attach to an Unstarted Process... en el menú principal.

Actualizaciones de paquetes

Hemos actualizado los siguientes depuradores integrados:

  • GDB se ha actualizado a la versión 15.2.
  • LLDB se ha actualizado a la versión 19.1.3.

AI Assistant

El complemento de JetBrains AI Assistant actualizado, equipado con nuestro modelo de lenguaje de gran tamaño para C++ entrenado internamente, ha hecho la finalización de código en la nube de CLion más rápida e inteligente. Ahora ofrece una gama más amplia de escenarios de uso, con una concordancia de sufijos mejorada que garantiza que el fragmento de código completa correctamente el código existente.

Una de las mejoras más destacadas es la finalización de código multilínea, que se ha actualizado con resaltado de sintaxis y aceptación incremental de las sugerencias de código.

La finalización de código multilínea funciona junto con la finalización de código estándar y la finalización de código de línea completa (esta última utiliza el LLM local y no requiere el envío de datos a la nube). Esto le permite revisar y aceptar las sugerencias de forma gradual. También puede aceptar las sugerencias palabra por palabra utilizando el acceso directo ⌥→ para macOS y Ctrl+→ para Windows.

Otras mejoras

Consejos de incorporación para un nuevo proyecto C++

Si está empezando con CLion, verá los consejos de incorporación mejorados. Le muestran cómo utilizar algunas de las funcionalidades clave del IDE y le ofrecen una imagen más clara de sus capacidades desde el principio. Esto reduce el tiempo necesario para convertirse en un usuario competente de CLion.

Widget de estado del proyecto

Hemos hecho que las notificaciones de estado del proyecto distraigan menos al trasladarlas de la parte superior del editor a un nuevo widget en la barra de estado. Ahora, si crea un nuevo archivo .cpp en su proyecto, por ejemplo, aparecerá el icono . La notificación de que su archivo no pertenece a ningún proyecto no aparecerá hasta que pase el ratón por encima del icono. Al hacer clic en el icono, el widget ofrecerá añadir el archivo al proyecto CMake. Si no lo necesita, puede cerrar la ventana emergente, dejando solo el icono en la barra de estado.

Comprobaciones del tipo de propiedades

Interfaz de usuario actualizada para el nuevo terminal

Se ha implementado un diseño más compacto en la interfaz del nuevo terminal, reduciendo los márgenes para maximizar el espacio en la pantalla. Esto también mejora la visibilidad al trabajar con comandos sin comprometer la legibilidad.

Comprobaciones del tipo de propiedades

Resaltado de las apariciones del texto seleccionado

CLion ahora resalta todas las apariciones del texto que haya seleccionado en cualquier archivo, no solo en .c y .cpp, de forma predeterminada. Así es más fácil saber dónde aparece el texto seleccionado en el archivo. Si prefiere el comportamiento anterior, puede desactivar esta función en Settings | Editor | General | Appearance.

Nueva versión de CMake

El paquete CMake se ha actualizado a la versión 3.30.5.