Rider 2024.1 incluye una nueva funcionalidad para supervisar el rendimiento de sus aplicaciones y recopilar métricas clave, líneas adhesivas para comprender mejor en qué parte del código se encuentra y navegar más rápidamente por él, y la actualización del cuadro de diálogo New Project para configurar el proyecto de forma más rápida y sencilla. Esta nueva versión le será de gran ayuda durante la depuración, ya que proporcionará el visualizador de colecciones y mostrará el tiempo de paso entre dos puntos de interrupción. Los desarrolladores de juegos pueden beneficiarse de un nuevo conjunto de funcionalidades para el popular activo de Unity Odin Inspector y de la compatibilidad con el marco de trabajo de la interfaz de usuario Slate de Unreal Engine.
En la versión 2024.1 de Rider, se ha introducido la ventana de herramientas Monitoring, que permite supervisar el rendimiento de las aplicaciones .NET y recopilar métricas clave en segundo plano al ejecutar o depurar.
Hemos incluido líneas adhesivas en el editor para simplificar el trabajo con archivos de gran tamaño y la exploración de nuevas bases de código. Esta funcionalidad mantiene los elementos estructurales clave, como los comienzos de clases o métodos, anclados en la parte superior del editor al desplazarse. De este modo, los ámbitos siempre están a la vista y puede navegar rápidamente por el código haciendo clic en una de las líneas ancladas.
Inspeccione colecciones, como vectores, listas, diccionarios y otros tipos enumerables, para comprender mejor el estado de los datos de su programa al depurar e identificar posibles problemas relacionados con el manejo de datos.
Hemos rediseñado a fondo el cuadro de diálogo New Project para facilitar la configuración de nuevos proyectos. Es totalmente compatible con configuraciones de proyecto específicas de .NET y parámetros de plantilla personalizados, y ahora puede instalar el SDK de destino y la carga de trabajo MAUI adecuada directamente desde el cuadro de diálogo.
Hemos trabajado a fondo en mejorar el cuadro de diálogo New Project para reducir la carga cognitiva al configurar nuevos proyectos. Esto es lo que puede esperar del cuadro de diálogo actualizado:
Antes, era posible ampliar y reducir todo el IDE, cambiando a la vez el tamaño de todos los elementos de la interfaz de usuario, aunque el escalado original estaba limitado a un rango de 100-200 %. Ahora, hemos añadido la posibilidad de reducir la escala del IDE hasta el 70 %, lo cual ofrece más flexibilidad en cuanto al tamaño en general.
Esta versión incluye una ventana de herramientas Terminal renovada, que proporciona mejoras tanto visuales como funcionales diseñadas para que las tareas basadas en un terminal sean más prácticas y sencillas. Esta actualización mejora la herramienta de forma visual y amplía su conjunto de funcionalidades.
Es posible activar el nuevo terminal desde Settings/Preferences | Tools | Terminal | Enable New Terminal.
Para obtener más información sobre el nuevo terminal, consulte este artículo del blog de IntelliJ IDEA.
Ahora, obtendrá sugerencias para convertir más construcciones de código en su código fuente a expresiones de colección de C# 12, como un vector vacío o la declaración e inicialización ImmutableArray
.
Hemos añadido la inspección Possible 'System.InvalidOperationException: Collection was modified', que le avisará cuando una colección se modifique mientras se itera dentro de bucles foreach
, ya que esta modificación podría provocar una excepción en tiempo de ejecución. Este análisis tiene en cuenta los casos en los que se sale del bucle tras modificar una colección, en cuyo caso no se activará la advertencia. La inspección viene con el correspondiente arreglo rápido para que pueda resolver este problema al instante.
Generate | Formatting Members le permite generar código reutilizable para anular el método ToString()
y devolver una cadena significativa para sus tipos. A partir de la versión 2024.1, esta funcionalidad es compatible con más tipos, como ISpanFormattable
, IUtf8SpanFormattable
e IFormattable
.
[MustDisposeResource]
: ahora, el análisis del código de C# garantiza que los recursos devueltos por métodos asincrónicos, incluidos los integrados en Task<IDisposable>
y ValueTask<IDisposable>
, se eliminen correctamente, lo que ayuda a evitar la eliminación involuntaria de la propia tarea. .ConfigureAwait(...)
, .AsTask()
o .Result
. Estas son algunas de las mejoras que hemos introducido en la refactorización de Change Signature:
Deconstruct
. Puede añadir, eliminar, reorganizar y cambiar el nombre de los parámetros, y estos cambios se reflejarán tanto en la declaración del método como en los usos de este. List<>
, puede utilizar la finalización de código para seleccionar fácilmente el tipo deseado, como int
. System.Collections.Generic.List<System.Int16>
en el cuadro de diálogo Change Signature, se acortará de forma automática a List<short>
en el código resultante. in
y ref readonly
y los tipos record
.En esta versión, la refactorización Make Static es compatible con los parámetros del constructor primario. Aparecen en la lista Introduce parameters y tienen un icono independiente para distinguirlos fácilmente. Esta refactorización también está disponible para las funciones locales.
Estamos trabajando en mejorar el modo de alta utilización de recursos para el análisis de la solución completa, que reducirá de forma significativa la duración del análisis al utilizar el paralelismo de la CPU de forma más eficiente. Hemos mejorado el perfil de memoria asignada del análisis del código para minimizar el tiempo empleado en la recogida de elementos no utilizados. Aunque seguimos trabajando en las mejoras, le agradeceríamos que activara este modo y nos comentara su experiencia.
protobuf-net
Ahora, el análisis del código es compatible con el atributo ProtoContract
y la enumeración ImplicitFields
de la biblioteca protobuf-net
. Ambos pueden utilizarse para marcar miembros que se utilizan de forma implícita en la serialización. Como resultado de ello, dichos miembros ya no se marcan con advertencias unused members.
Ahora, la generación de anulaciones está disponible en las expresiones de objetos a través de nuevos arreglos rápidos para los miembros que faltan, la finalización de código y la refactorización Generate.
Ahora, también puede ver los casos de unión al buscar usos de unión. De este modo, es más fácil ver cómo se crean las instancias de tipo y cómo se ajustan a los patrones.
Hemos añadido la plantilla postfix new
que crea instancias de tipos de registro y expresiones de objetos para clases e interfaces.
Se ha implementado la compatibilidad con líneas adhesivas para F#, por lo que, ahora, es más fácil ver el contexto al trabajar con tipos y funciones más largos.
Hay más arreglos rápidos y acciones contextuales nuevos para la compatibilidad con F#. Puede consultar estos y otros cambios en las notas de la versión completa en GitHub.
Siguiendo el ejemplo de ReSharper, también se ha mejorado el corrector ortográfico y gramatical de Rider. El nuevo corrector es compatible con más de 20 idiomas y detecta errores del lenguaje natural dentro de los lenguajes de programación compatibles con Rider (C#, C++, VB.NET), lenguajes de marcado (HTML, XML, XAML) y comentarios.
El visualizador de colecciones de Rider 2024.1 incluye representaciones gráficas de colecciones (vectores, listas, diccionarios y otros tipos enumerables), lo que permite expandir y contraer elementos, ver valores individuales y navegar fácilmente por la estructura de datos. Resulta útil para comprender el estado de los datos de su programa durante la depuración y para diagnosticar problemas relacionados con la recopilación, la manipulación o el procesamiento de datos.
A la hora de depurar, evaluar el tiempo que tarda el depurador en ejecutar el código entre dos puntos de interrupción puede ser extremadamente valioso. Un tiempo de ejecución paso a paso excesivamente largo podría indicar problemas de rendimiento en el código. Ahora, al depurar una aplicación con Rider, verá un consejo inline que muestra el tiempo transcurrido entre el último punto de interrupción y el actual.
A partir de esta actualización, Rider le permitirá establecer varios puntos de interrupción en una sola línea de código si hay varias declaraciones presentes. Puede establecer los puntos de interrupción con los consejos inline correspondientes o mediante un acceso directo de teclado (Ctrl + F8).
Con la versión 2024.1, estamos trabajando para que la opción Skip to cursor sea más acorde con la forma en que funciona en IntelliJ IDEA. La nueva integración Run to Cursor es una forma rápida de navegar a una línea específica de código mientras se depura. Una vez suspendido su programa, puede pasar el ratón por encima de la línea de código en la que desee continuar la ejecución. A continuación, puede utilizar la ventana emergente Run to Cursor para ejecutar su código hasta llegar a la línea en la que se encuentra el cursor.
Ahora, Hot Reload está disponible para ejecutar y depurar aplicaciones Blazor WebAssembly (WASM). Hot Reload funciona con archivos .cs
, .razor
y .css
(incluidos los archivos de ámbito .razor.css
).
Esta funcionalidad está activada de forma predeterminada. Puede configurarla desde Settings/Preferences | Build, Execution, Deployment | Hot Reload.
Al depurar, los volcados de proceso son cruciales porque permiten examinar el estado del programa al producirse un error, incluso si el problema no se puede reproducir fácilmente. Anteriormente, Rider solo era capaz de procesar los volcados del núcleo de C++. Ahora, el IDE también le permitirá importar volcados de procesos .NET.
Para importar un volcado de proceso, vaya a Run | Debug Core Dump o, simplemente, arrastre y suelte el archivo de volcado en el editor.
Hemos añadido el nuevo botón Explain with AI justo al lado de una excepción o mensaje de error lanzado por una prueba de unidad fallida, una compilación fallida o durante una sesión de depuración.
Al cambiar el nombre de una variable local, obtendrá sugerencias de nombre basadas en IA en la ventana emergente de finalización del código.
Tenga en cuenta que, ahora, en la versión 2024.1, AI Assistant ya no está integrado, sino que es un complemento independiente. Este cambio se debe a la necesidad de ofrecer una mayor flexibilidad en la toma de decisiones sobre el uso de tecnologías basadas en IA, lo que le proporciona un mayor control sobre las preferencias y los requisitos en sus entornos de trabajo. AI Assistant sigue requiriendo una suscripción activa a JetBrains AI.
Entre las mejoras notables en la compatibilidad con C++ destacan las siguientes:
La compatibilidad con C++ de Rider está basada en ReSharper C++. Consulte el artículo Novedades de ReSharper C++ 2024.1 para obtener más información.
Por fin hemos podido hacer que Blueprint sea compatible con la pila de llamadas del depurador. Ahora, en lugar de ver una dirección de memoria anónima en la pila de llamadas, Rider mostrará información sobre la llamada Blueprint, intercalada con el código C++ existente. Asegúrese de actualizar el complemento RiderLink a la última versión.
Esta versión es compatible con el marco de trabajo de la interfaz de usuario Slate de Unreal Engine, que enseña a Rider a utilizar los comandos Go to Definition y Find Usages, así como la refactorización Rename para renombrar los símbolos declarados por las macros de Slate.
Ahora, Rider formateará el código DSL de Slate correctamente, tanto cuando se invoque directamente como una acción de reformateo o al escribir.
La integración inteligente de Rider con la funcionalidad Blueprint sigue siendo compatible con añadir redirecciones de núcleo al renombrar una instancia UENUM
, así como la finalización de rutas de activos para nombres de recursos en código C++.
Seguimos trabajando en la compatibilidad con Perforce, con algunas mejoras ergonómicas útiles para facilitar el inicio de sesión cuando esta expira y para colocar los archivos en la lista de cambios correcta durante una refactorización Rename.
También hemos solucionado el problema con UnrealBuildTool que a veces provocaba la recompilación completa de un proyecto que se había compilado previamente en Visual Studio. Esto mejora de forma sustancial la experiencia de uso de ambos IDE. La corrección es válida para Unreal Engine 5.4 y todas las versiones de Rider.
No olvide echar un vistazo a todos los cambios de C++ en el motor ReSharper C++.
Nos complace anunciar que hemos estado trabajando con nuestros amigos de Sirenix para que el popular activo de Unity Odin Inspector sea compatible. Rider reconocerá y resaltará los campos y propiedades serializados por Odin Inspector, proporcionará finalización e inspecciones para nombres de grupo en atributos de diseño y mostrará vistas previas de la clase GUIColor
de Odin. También reconocerá los atributos de rango de Odin, utilizará esos valores en el propio análisis de valores enteros de Rider y le advertirá si un valor se sale del rango.
Rider 2024.1 amplía la compatibilidad con palabras clave de shaders incluida en la versión 2023.3. Puede activar o desactivar diferentes palabras clave al editar sus archivos shader, lo que a su vez activa y desactiva el resaltado y el análisis del código en diferentes ramas del preprocesador. Ahora, esta versión es compatible con las palabras clave implícitas de los shaders, las palabras clave locales específicas de cada fase y las directivas del preprocesador con el sufijo _KEYWORD_DEFINED
.
Esta versión actualiza la forma en que Rider resalta el manejo posiblemente inesperado que hace Unity de las comparaciones de igualdad null
para comprobar la vida útil del objeto de juego subyacente. En lugar de mostrar una advertencia si una comprobación moderna null
de C# pasa por alto la comprobación de la vida útil, ahora Rider resaltará una comparación null
que realiza la comprobación.
Profundizaremos en esto con más detalle en un próximo artículo del blog.
La depuración ha mejorado bastante gracias a que Rider es más compatible de forma específica con DOTS, por ejemplo, a través de la incorporación de un nodo hijo Entity
al examinar una instancia de IJobEntity
en el panel Watches. También se han actualizado los puntos de pausa para que funcionen con los sistemas DOTS. El visualizador de valores de depuración de texturas ha recibido algunas correcciones de errores, y el nuevo visualizador de colecciones ayudará con las colecciones de objetos de juego.
También ha habido algunas mejoras de rendimiento en el análisis de activos, correcciones en el reconocimiento de campos serializados y muchas más correcciones y actualizaciones menores. Puede obtener más información al respecto en el registro de cambios.
Seguimos trabajando en la compatibilidad con Godot con más actualizaciones del complemento opcional que puede instalar desde la pestaña Plugins de la configuración. Los últimos cambios incluyen:
.gd
, .tscn
, .tres
, .godot
y mejora del resaltado para .gdshader
. launchSettings.json
(JetBrains/godot-support#125). @addTagHelper
y @removeTagHelper
Ahora, Rider resuelve las referencias para los nombres de agrupación especificados en las directivas @addTagHelper
y @removeTagHelper
de las vistas de Razor. Ahora, como resultado de ello, puede aprovechar la finalización de código, la capacidad de encontrar usos y la facilidad de navegación por el código.
Además, Rider resalta cualquier nombre de ensamblado no resuelto como advertencia para que pueda reconocerlo fácilmente en sus vistas de Razor.
Ahora, puede generar archivos adicionales como .razor.cs
, .razor.css
o .razor.js
al generar una plantilla de archivo de Blazor Component.
Rider 2024.1 incorpora varios arreglos rápidos nuevos para React que le permiten crear propiedades y estados sobre la marcha. Puede aplicar estos arreglos rápidos utilizando el acceso directo Alt+Intro.
Para obtener más información sobre las mejoras en el desarrollo web, consulte esta página.
Esta versión incluye actualizaciones a la compatibilidad con VCS en Rider, por ejemplo:
Puede consultar todos los cambios aquí.
Estas son algunas de las mejoras más notables para trabajar con bases de datos utilizando Rider 2024.1:
INSERT
de varias filas.GROUP BY
.Para obtener más información sobre las mejoras para trabajar con bases de datos, consulte esta página.
Hemos incluido .NET Aspire en el SDK de .NET 8, un nuevo enfoque para abordar los complejos problemas que plantea la compilación de aplicaciones distribuidas en la pila de .NET. Gracias a esta innovación, ofrecemos nuevas herramientas integradas: el complemento .NET Aspire para Rider.
Este complemento está disponible para Rider 2024.1 y puede descargarse directamente desde JetBrains Marketplace o a través de Settings/Preferences | Plugins.
Obtenga más información sobre .NET Aspire y el nuevo complemento en este artículo del blog.
Ahora, la herramienta integrada de generación de perfiles dotMemory es compatible con Frozen Object Heap (FOH), una funcionalidad incluida por primera vez con el SDK de .NET 6 como parte de las mejoras de rendimiento para la recolección de elementos no utilizados.
FOH asigna un área de memoria específica para objetos inmutables. Estos objetos no se modifican después de asignarse y no están sujetos a la recolección de elementos no utilizados. La compatibilidad con esta tecnología permite a dotMemory realizar un análisis más detallado de la memoria utilizada por los objetos inmutables en FOH, lo que mejora la optimización del uso de la memoria.
Ahora, los generadores de perfiles integrados dotTrace y dotMemory son compatibles con las aplicaciones de macOS MAUI y .NET.
Marcos de trabajo compatibles:
net8.0-windows
, net7.0-windows
.net8.0-maccatalyst
, net7.0-maccatalyst
.net8.0-macos
, net7.0-macos
.Haga clic aquí para obtener más información sobre los modos de generación de perfiles disponibles.
El nuevo complemento Azure Toolkit para Rider es un proyecto de código abierto que ayuda a los desarrolladores .NET a crear, desarrollar, configurar, probar, gestionar e implementar fácilmente aplicaciones web escalables y de alta disponibilidad en Azure.
El complemento puede descargarse e instalarse dentro de JetBrains Rider y está disponible en JetBrains Marketplace.
En esta versión, hemos mejorado la compatibilidad con GitHub Actions. Nuestro objetivo de desarrollo es enriquecer los flujos de trabajo de CI/CD con una mayor eficiencia y funciones inteligentes diseñadas específicamente para GitHub Actions.
La lista de mejoras incluye:
action.yml
.Para obtener más información, consulte este artículo en el blog de IntelliJ IDEA.
Se han actualizado los diagramas de dependencias de tipos incluidos en la versión 2023.3 con nuevas formas de configurar los diagramas:
Si quiere conocer más formas de generar diagramas de dependencias de tipos para su aplicación, consulte este artículo del blog.
Ahora, el Assembly Explorer de Rider es compatible con el formato de empaquetado WebCIL para WebAssemblies.
La compatibilidad incluye lo siguiente:
.wasm
en Assembly Explorer.