ReSharper C++ 2024.1 mejora la compatibilidad con módulos C++20 e implementa llamadas salientes en Call Tracking. Las mejoras de asistencia a la codificación incluyen mejoras en la refactorización Change Signature, la actualización de los comentarios de documentación y mucho más. Para los desarrolladores de Unreal Engine, ReSharper C++ 2024.1 es compatible con el marco de trabajo de la interfaz de usuario Slate y la finalización de rutas de activos en código C++.
Prueba gratuita de 30 días disponible
Ahora, gracias a la actualización del proceso de descubrimiento de módulos, ReSharper C++ es compatible con unidades de partición internas, que son unidades de partición de módulos que no contribuyen a la interfaz externa de un módulo. En otras palabras, son particiones de módulo sin una declaración de export module
asociada.
Hemos mejorado la representación interna de los módulos C++20 exportados para facilitar las referencias transitivas a entidades importadas de otros módulos. Antes, estas entidades se volvían a exportar desde el módulo que las importaba. Esperamos que este cambio reduzca de forma significativa la huella de los módulos exportados y mejore el rendimiento en proyectos que utilicen módulos C++20.
Ahora, ReSharper C++ 2024.1 es compatible con el marco de trabajo de la interfaz de usuario Slate de Unreal Engine. Puede confiar en el formateador de código de ReSharper y en el asistente de escritura para formatear su código Slate según las convenciones de Unreal Engine. También se han actualizado funciones como Go to declaration, Find Usages y Rename para comprender la sintaxis declarativa de Slate.
La integración de ReSharper C++ con la funcionalidad Blueprint continúa y es compatible con añadir redirecciones de núcleo al renombrar una instancia UENUM, así como con la finalización de rutas de activos para nombres de recursos en código C++.
Ahora, las interfaces HLSL utilizadas para la vinculación dinámica de sombreadores son compatibles con el código de sombreadores.
Si le interesa un IDE independiente y multiplataforma para el desarrollo de Unreal Engine, considere Rider. La compatibilidad con Unreal Engine en Rider y ReSharper C++ está alineada, y puede esperar las mismas mejoras en la actualización de Rider 2024.1.
Ahora, Call Tracking de ReSharper permite navegar por las cadenas de llamadas salientes de C++, además de permitir el seguimiento de las llamadas entrantes. Para explorar las llamadas salientes, coloque el cursor sobre cualquier función y seleccione Inspect | Outgoing calls en el menú contextual. También puede pulsar Ctrl+Mayús+Alt+A para invocarlo desde el menú Inspect This.
Ahora, con Change Signature, puede cambiar fácilmente el tipo de un parámetro de función entre un puntero, una referencia o un tipo de valor. ReSharper actualizará de forma automática los usos de los parámetros dentro del cuerpo de la función y ajustará los argumentos de la función en los lugares de llamada a la función, añadiendo operadores de desreferenciación o de dirección donde sea necesario.
Ahora, al invocar Change Signature en una función que se puede usar en código dependiente, la refactorización permite verificar los cambios y confirmar qué usos deben actualizarse.
Ahora, también puede especificar argumentos predeterminados para los nuevos parámetros de función añadidos mediante Change Signature.
Otras actualizaciones importantes de Change Signature son:
int
en los tipos unsigned int
. Ahora, puede personalizar el estilo de los comentarios de documentación generados sin necesidad de editar una plantilla activa. Para configurar el estilo de los comentarios de documentación, vaya a Settings | Code editing | C++ | Code generation en ReSharper.
JetBrains Grazie es el nuevo corrector gramatical y ortográfico integrado de ReSharper, introducido en ReSharper 2023.3. En la versión 2024.1, las inspecciones gramaticales con Grazie también están disponibles dentro de los comentarios de documentación de C++.
Ahora, la refactorización Change Signature mantiene los comandos @param
sincronizados con la lista de parámetros de la función. Esta refactorización elimina los comandos @param
para los parámetros eliminados, añade comandos para los nuevos parámetros y reorganiza los comandos existentes para que coincidan con el orden actualizado de los parámetros incluidos.
Según los últimos resultados de la extensa suite de pruebas para herramientas de refactorización de C++ mantenida por Richard Thomson, ReSharper C++ sigue superando a otras herramientas al pasar el mayor número de casos de prueba. Como parte de nuestro trabajo constante para mejorar la calidad de las sugerencias de ReSharper, hemos resuelto varios problemas identificados por la suite de pruebas de Richard en ReSharper C++ 2024.1. Por ejemplo, ahora, el arreglo rápido Create constructor from usage añade un constructor de forma predeterminada cuando es necesario.
Ahora, ReSharper C++ 2024.1 sugiere eliminar los inicializadores cero idiomáticos redundantes en la inicialización agregada. Hay inspecciones nuevas que encuentran varios problemas con miembros de datos estáticos, como especificadores redundantes inline
en miembros de datos static constexpr
.
La limpieza de código añade nuevos elementos para eliminar los especificadores de accesibilidad redundantes y para hacer que las clases sin herederos sean final
. Ahora, además de variables locales, Apply ‘auto’ style maneja variables globales y miembros de clase.
Si desea suprimir una inspección en un ámbito específico, antes podía utilizar comentarios // ReSharper disable
específicos de ReSharper. Además, ReSharper C++ 2024.1 reconoce los comentarios NOLINT
, NOLINTNEXTLINE
y NOLINTBEGIN ... NOLINTEND
que usa Clang-Tidy.
ReSharper C++ 2024.1 introduce varias opciones de formato nuevas:
Ahora, al utilizar una configuración .clang-format
, el formateador de ReSharper respeta las opciones DisableFormat
e IndentAccessModifiers
. Ahora, el estilo GNU integrado con formato .clang también es compatible.
Eche un vistazo a las Novedades en ReSharper para conocer el resto de los cambios introducidos en esta versión.
Prueba gratuita de 30 días disponible