Novedades de Rider 2024.3

Rider 2024.3 delivers support for .NET 9, including such C# 13 enhancements as params collections, partial properties, and the preview field keyword. The Windows Forms Designer is now available for .NET 6+ projects, along with an advanced debugging capability to freeze and unfreeze individual threads. Game developers will be happy to see console debugging for Unreal Engine, IL2CPP debugging for Unity, and improved Godot support. This release also brings expanded AI Assistant functionality, including in-editor AI prompts and customizable chat models. Enhancements for code cleanup, naming conventions, and remote development round out the release.

Novedades principales

Ventana de herramientas Monitoring

Compatibilidad con. NET 9

La versión más reciente de Rider incluye lo siguiente:

  • Compatibilidad con plantillas de proyectos del nuevo SDK.
  • La posibilidad de crear, ejecutar y depurar proyectos destinados al nuevo SDK.
  • Support for the latest C# 13 features, such as params collections, partial properties, the field keyword preview, and others.

Obtenga más información acerca de la compatibilidad mejorada con C# 13 en Rider 2024.3 en nuestro blog.

Windows Forms Designer for .NET projects .NET 6.0+

Windows Forms Designer ahora admite proyectos destinados a .NET 6.0 y posteriores, para ayudarle a crear, ver y modificar la IU de sus aplicaciones para Windows Forms. Esta experiencia aporta casi la misma funcionalidad que el clásico Windows Forms Designer para .NET Framework.

Tenga en cuenta que la mayoría de los controles de DevExpress son compatibles, mientras que la compatibilidad con los controles de Telerik e Infragistics sigue siendo limitada, y las aplicaciones de VB.NET Windows Forms no son compatibles.

Ability to freeze and unfreeze individual threads during debugging

Rider 2024.3 introduce la capacidad de congelar y descongelar subprocesos individuales durante la depuración para un control más preciso de las aplicaciones multiproceso. The feature allows you to right-click on any thread and select Freeze to pause its execution without affecting the rest of the application. Cuando esté listo, puede volver a hacer clic con el botón derecho y seleccionar Unfreeze para reanudar la ejecución del subproceso. La funcionalidad solo está disponible para proyectos orientados a .NET y .NET Framework.

Running and debugging native code on consoles Game dev Unreal Engine

Rider 2024.3 has reached a massive milestone by introducing support for running and debugging C++ on all major consoles! This includes games written with custom engines and Unreal Engine. Availability is strictly by request, and you must be part of the console’s official development program. Obtenga más información aquí.

More updates for game development

Experiencia del usuario

Tooltip colorization

For this release we reviewed almost all C# error, warning, and informal messages and introduced text colorization wherever possible.

Approximately 600 messages were upgraded with tooltips that are structured for easier reading and include the familiar colors from the editor for the included code elements.

Run widget: Launch multiple configurations simultaneously

The updated Run widget now allows multiple configurations to be launched simultaneously by holding Ctrl and clicking the debug icon. It also displays the controls for all running configurations, simplifying management.

Aumento del límite de pestañas predeterminado

The default tab limit in the editor has been increased to 30, allowing more tabs to stay open before the IDE closes the least recently used ones. You can adjust this in Settings | Editor | General | Editor Tabs.

Interfaz de usuario actualizada para el nuevo terminal

We've updated the new terminal's UI with a more compact design, reducing padding to optimize the use of your screen. Los márgenes más pequeños ahorran espacio y le ofrecen una mayor visibilidad mientras trabaja con comandos sin sacrificar la legibilidad.

Compatibilidad con C#

Actualizaciones de С#13

With its latest release, Rider introduces support for the latest features that come with C# 13, namely:

  • New params collections: The params keyword has been expanded to work with various collection types, allowing for more efficient method signatures without additional allocations.
  • Partial properties: Support has been added for partial properties, enabling you to spread property accessor implementations across multiple files, increasing flexibility and organization in your codebase.
  • New lock type: The new System.Threading.Lock type has been introduced for more efficient thread synchronization, improving performance over the traditional lock statement.
  • Overload resolution priority: A new attribute is available, providing better control of method overload resolution and allowing developers to prioritize which overload gets called in complex scenarios.
  • field keyword: The preview feature has been added to the field keyword. This gives direct access to the backing field of auto-properties, simplifying property logic.

Learn all about the support of C#13 features in Rider and ReSharper on our blog.

Code styles and cleanup

Limpieza de código

In Rider 2024.3, code cleanup has been re-engineered for more robust performance. It now leverages the same engine as scoped quick-fixes, ensuring thorough issue resolution and enhancing analyzer precision. Parallel preprocessing has also been added to optimize file handling.

Additionally, you can now select the Code Cleanup profile per file or skip cleanup on specific files.

Formateo de código

There are new formatting options to give you even more flexibility:

  • New option to control wrapping around an equal = operator.
  • New Indent ‘break’ from ‘case‘ option.
  • New Treat ‘case’ statements with ‘break’ as simple option.

Naming styles

We’ve added a couple of new options to adjust naming rules more precisely.

  • Local functions now come with two options: Local functions with ‘async’ and Task-returning local functions (not ‘async’).
  • Methods have been given a new Task-returning method (not ‘async’) option to support methods with an async suffix in the name that aren’t marked with an async modifier but return a Task-like type. This is helpful when you declare a method in an interface where you aren’t allowed to use an async modifier, but which will return a Task type in implementation.

Code comments

Multiline TODO comments support

Rider 2024.3 now supports multiline TODO comments, allowing indented text on subsequent lines to be treated as part of the same TODO item. Esta mejora facilita la agrupación de notas y tareas relacionadas en su base de código. You can now add context to your TODOs across multiple lines, improving readability and organization.

Compatibilidad con F#

We’ve updated the F# compiler service to get all the recent language features and improvements to the editor tooling.

Consejos de escritura

F# support now shows inferred type hints for patterns and members. It’s easy to see the local value types with the new Push-to-Hint implementation.

Edición de código

Code completion can now import functions, values, union cases, and active patterns. There is also a new quick-fix that helps update the pasted code.

You can convert a function expression to a parameter and match it with a new context action.

C# interop

We’ve significantly improved performance when analyzing referenced C# projects and fixed various false positive errors.

More changes, fixes, and new features are listed on the GitHub page.

Control de la versión

Nombre de la rama en la pantalla Welcome

The Welcome screen now shows the branch name, helping you stay organized when handling multiple project versions and allowing you to switch between working directories easily.

Opción para deshabilitar las comprobaciones previas a la confirmación en segundo plano

Ahora puede gestionar las comprobaciones en segundo plano durante el proceso de confirmación con una nueva opción Run advanced checks after a commit is done en Settings | Version Control | Commit. Este ajuste le permite decidir si deben ejecutarse pruebas e inspecciones después de realizar una confirmación. Si desea que estas comprobaciones se completen antes de la confirmación, deshabilítelo.

Actualizaciones en Find in Files

La funcionalidad Find in Files se ha mejorado con un nuevo ámbito de búsqueda: Project Files Excluding Git-Ignored. Esta opción excluye cualquier archivo ignorado en los archivos .gitignore de sus resultados de búsqueda, lo cual le ayuda a centrarse solo en el código relevante cuando busque en el proyecto.

Desarrollo remoto

Rider’s remote development is officially out of Beta!

After a final round of refinements during Beta – with particular attention to typing stability – Rider’s remote development functionality is now fully equipped to handle all core development workflows you rely on.

From code editing and debugging to version control, everything now operates almost as seamlessly as it would on a local instance, providing a smooth and powerful experience in remote environments.

You can read more about the supported workflows on the blog.

Desarrollo de juegos

Unreal Engine

This release brings automatic debugging of child processes on Windows. Any processes created during a debug session will join the session, and breakpoints in the child process will be hit.

It’s also possible to configure rules to decide which child processes to debug and which ones to skip.

In addition to the exciting news about Rider’s support for debugging on consoles, this release also introduces support for the Verse programming language, new code insight features, and integration with Live++ for the hot-reload of C++ applications.

To learn more about the new code insight features, take a look at What's New in ReSharper C++.

Unity

Rider 2024.3 improves your debugging experience with IL2CPP builds, providing the same features you get with Mono. This means you will see Active Scene and this.gameObject nodes in the debugger, as well as Children and Components for GameObject instances. It also fixes issues with the Immediate window, the Collection view, and IL2CPP builds.

Los archivos de origen se abrirán ahora en Rider cuando haga doble clic en un elemento de una pila de llamadas del perfilador de Unity, y Rider hace un mejor trabajo filtrando el contenido innecesario cuando busca archivos en su proyecto.

Godot

Esta versión corrige un error importante en la compatibilidad con C# Hot Reload y Godot. Rider aplicará ahora cualquier cambio que realice en su código C# a su aplicación mientras el juego se sigue ejecutando.

Rider también está preparado para trabajar con las actualizaciones de la depuración de GDScript que llegarán en Godot 4.4, que proporcionarán una visión mucho más rica de las propiedades de los objetos que la disponible actualmente en versiones anteriores de Godot.

Desarrollo web

Resultados de búsqueda más limpios para los directorios

Rider ahora excluye los resultados de node_modules de forma predeterminada cuando se utiliza Find in Files en los directorios del proyecto, reduciendo el desorden de archivos irrelevantes. Puede restaurar el comportamiento anterior habilitando la opción Search in library files when “Directory” is selected in Find in Files en Settings | Advanced Settings.

Mejora en los cambios de nombre y en la navegación por los componentes del marco de trabajo

Hemos mejorado los consejos en el editor para componentes de Vue, Svelte y Astro. La acción Show component usages encuentra ahora los usos tanto en las importaciones como en las plantillas de marcado. También hemos añadido el filtro Show Component Usages para excluir los usos de componentes al buscar referencias de archivos normales. La refactorización Rename también se ha actualizado con una opción para incluir usos al renombrar un archivo de componentes.

Vista previa en color para clases de CSS de Tailwind

La vista previa en color para las clases CSS de Tailwind ahora se muestra integrada en el editor, lo que facilita distinguir los colores. Hemos añadido compatibilidad con el método textDocument/documentColor del protocolo de servidor de lenguaje (LSP), por lo que todos los complementos basados en LSP ofrecen ahora esta funcionalidad sin necesidad de configuraciones adicionales.

Para obtener más información, visite la página Novedades de WebStorm.

Trabajo con bases de datos

Text-to-SQL: In-editor diff for AI-generated results

Hemos mejorado la experiencia de trabajar con AI Assistant en el editor. Now, when you ask AI Assistant to do something with a chunk of code, the editor area contains a diff with both the original and the generated code. AI Assistant’s suggestions are highlighted with a different color and marked with the Revert icon in the gutter. You can also edit the resulting query yourself in the same area. Sus cambios se resaltan del mismo modo. Por ejemplo, puede pedir a AI Assistant que recupere más datos con una consulta y, a continuación, añadir una cláusula ORDER BY al resultado generado.

Gestión de errores SQL por parte de AI Assistant

We have implemented a couple of useful actions for handling SQL query execution errors with AI Assistant, which are accessible in the error message area. Explain with AI opens the AI chat with an automatically sent prompt and AI Assistant’s response providing an explanation of the error. La acción Fix with AI genera una corrección del error de ejecución de la consulta en el editor.

Para obtener más información, visite la página Novedades de DataGrip.

AI Assistant

Complemento .NET Aspire para Rider

Peticiones de IA integradas

Rider 2024.3 introduces inline AI prompts, offering a seamless way to interact with AI Assistant directly in the editor. Puede escribir peticiones en lenguaje natural, que AI Assistant interpreta al instante y convierte en cambios de código, y los resalta en morado en el medianil para facilitar su seguimiento. Las peticiones de IA integradas tienen en cuenta el contexto, incluyendo de forma automática los archivos y símbolos relacionados para una generación de código más precisa.

Mejora de la gestión del contexto

En esta actualización, la gestión del contexto que AI Assistant tiene en cuenta en sus sugerencias es más transparente e intuitiva. Se ha renovado la interfaz de usuario para que pueda ver y gestionar cada elemento incluido como contexto, lo que proporciona visibilidad y control total. Ahora, el archivo abierto y cualquier código seleccionado dentro de este se añaden de forma automática al contexto, y puede añadir o eliminar fácilmente archivos según necesite, personalizando el contexto para que se ajuste al flujo de trabajo. Además, puede adjuntar instrucciones a todo el proyecto para guiar las respuestas de AI Assistant en toda la base de código.

Opción de elegir un proveedor de modelo de chat

Ahora puede seleccionar su modelo de chat de IA preferido, y elegir entre Google Gemini, OpenAI o modelos locales en su máquina. Esta selección ampliada le permite personalizar las respuestas del chat de IA para adaptarlas a su flujo de trabajo específico, lo que supone una experiencia más adaptable y personalizada.

Decompilador

IL code for assembly manifest

The IL Viewer tool window now provides IL code for assembly manifest, including:

  • Assembly and module info such as name, custom attributes, etc.
  • Referenced assemblies and modules.
  • Tipos redireccionados.
  • A list of files and resources.

This IL code is shown when the caret in the text editor is on an assembly or module attribute or somewhere inside an <AssemblyName>.cs file for external assemblies.

Support for primary constructors

When working with classes that declare a primary constructor, the Decompiler will now display the constructor and its parameters correctly, giving you a complete view of how objects are instantiated directly from the decompiled code.