Novedades de Rider

Rider 2022.1 incluye compatibilidad total con Unreal Engine, lo que convierte a Rider en un IDE completo para el desarrollo de juegos, independientemente del motor de juegos que se utilice.

En la versión 2022.1, Rider también admite una versión beta del tan esperado flujo de trabajo de desarrollo remoto. Le permite conectarse a una máquina remota que ejecute el backend de Rider desde cualquier parte del mundo.

Además de estas nuevas funcionalidades, esta versión también incorpora el modo Docker Fast, actualizaciones de la barra de herramientas principal, y la búsqueda de texto completo en toda la solución directamente desde la ventana emergente Search Everywhere.

Desarrollo de juegos con Unreal Engine

Rider ya se utiliza en gran medida en el mundo del desarrollo con Unity, y ahora incluye compatibilidad con Unreal Engine. Esto hace de Rider nuestro principal IDE para los desarrolladores de juegos de todo tipo.

Profundamente integrado con Unreal Engine

Profundamente integrado con Unreal Engine

Rider está preparado para el desarrollo con Unreal Engine en las tres principales plataformas: Windows, Linux y macOS. Funciona de forma nativa con el modelo .uproject, ahorrando tiempo en la generación del modelo de proyecto intermedio.

El complemento UnrealLink permite la integración avanzada entre Rider y el editor Unreal de Epic Games. El complemento:

  • Incorpora información de Blueprints al editor.
  • Añade ajustes para gestionar el lanzamiento del juego.
  • Proporciona una versión más práctica del registro de Unreal Editor.
Compatibilidad excelente con C++

Compatibilidad excelente con C++

Rider funciona con ReSharper C++, que ofrece compatibilidad nativa de vanguardia con C++ moderno. Disfrute de sus más de 1300 inspecciones de código, más de 290 arreglos rápidos, refactorizaciones de toda la solución y capacidad de generación de código. Tanto si trabaja con el código C++ de su juego, como con el código de Unreal Engine o con los shaders, Rider le ayuda a navegar instantáneamente por él y se lo explica con consejos insertados.

Más información

Mecanismo de reflexión de Unreal Engine

Mecanismo de reflexión de Unreal Engine

Las macros de reflexión y los especificadores de reflexión de Unreal Engine son más que sustituciones de texto plano para Rider. El autocompletado y la documentación rápida conocen estas entidades y le ayudan a codificar con eficacia. Del mismo modo, las llamadas a procedimientos remotos de Unreal Engine son algo más que funciones normales, y Rider las hace coincidir durante la navegación y la generación de código.

Análisis de código ajustado a Unreal Engine

Análisis de código ajustado a Unreal Engine

Rider está integrado con UnrealHeaderTool y muestra los mismos errores y advertencias que normalmente vería en tiempo de compilación directamente en el editor mientras está editando su código. El proceso se ha optimizado para que ejerza un impacto mínimo en el rendimiento general.

Rider detecta los proyectos de Unreal Engine y utiliza automáticamente las reglas de la convención de nomenclatura de Unreal Engine al generar y analizar el código de estos proyectos.

Depurador

Depurador

El depurador basado en LLDB con compatibilidad con Unreal Engine Natvis le ayuda a detectar cualquier problema en el código de su juego o en el motor. Puede establecer puntos de interrupción de línea, de símbolo, de datos y condicionales. También puede recorrer el código, evaluar expresiones e incluso ver los valores de las variables directamente en el editor Rider durante la sesión de depuración.

Pruebas de unidades

Pruebas de unidades

Rider incorpora compatibilidad de fábrica para el marco de pruebas de automatización de Unreal Engine. Inicie las pruebas desde la ventana de herramientas Unit Test o directamente desde el editor, revise sus resultados y vuelva a ejecutar las pruebas fallidas, todas o algunas específicas.

Puede utilizar Rider para el desarrollo general de C++ en Windows: simplemente abra un archivo .sln como proyecto en Rider. En Linux y macOS, Rider está limitado al modelo .uproject para proyectos C++. Si le interesa saber en qué se diferencian Rider, CLion y ReSharper C++ con respecto al desarrollo general en C++ y Unreal Engine, eche un vistazo a nuestras preguntas frecuentes.

Desarrollo remoto Beta

Desarrollo remoto

Rider ahora es compatible con una versión Beta de nuestro flujo de trabajo de desarrollo remoto. Le permite conectarse a una máquina remota que ejecute el backend de Rider desde cualquier parte del mundo. Todo el procesamiento se realizará en esa potente máquina remota, y podrá trabajar en su proyecto con la misma fluidez que si estuviera en su máquina local. Esta funcionalidad puede iniciarse desde la pantalla de bienvenida de Rider o desde una nueva aplicación llamada JetBrains Gateway, que está disponible en Toolbox App.

Además, puede crear, precompilar, compartir, reproducir, hibernar y gestionar entornos de desarrollo con Space de JetBrains, una plataforma unificada para todo el proceso de desarrollo de software. Consulte este artículo del blog para conocer más detalles.

Barra de herramientas

Personalizar la nueva barra de herramientas

Personalizar la nueva barra de herramientas

La nueva barra de herramientas principal tiene un aspecto increíble, y le encanta a todo el mundo. Pero no había forma de añadir widgets personalizados ni de reorganizar los existentes, algo de lo que muchos se han quejado. ¡Nuestros usuarios lo reclamaban y aquí lo tienen! Ahora puede añadir nuevos widgets tanto a la izquierda como a la derecha de la barra de herramientas, así como reorganizar y eliminar widgets.

Hay dos maneras de abrir la página de personalización de la barra de herramientas:

  • Preferences/Settings | Appearance & Behavior | Menus and Toolbars | Toolbar
  • Haga clic con el botón derecho en la barra de herramientas y seleccione Customize Toolbar.
Perfilar desde la nueva barra de herramientas

Perfilar desde la nueva barra de herramientas

Si utiliza la nueva barra de herramientas principal, que lanzamos en Rider 2021.3, probablemente habrá notado que no hay manera de empezar a perfilar con dotTrace inmediatamente. En esta versión, hemos solucionado ese inconveniente.

Las opciones Profile with Timeline, Profile with... y Profile running process... están ahora disponibles en el menú More del widget de Run/Debug (el icono del «kebab»).

Modo Fast de Docker

El modo rápido Fast ha llegado a las soluciones Docker y Docker-Compose, lo que debería reducir significativamente los tiempos de compilación durante el desarrollo.

Crear sus proyectos dentro de un contenedor puede ser significativamente más lento que construir el mismo proyecto en su máquina local. Con el modo Fast activado, Rider creará primero la base de su imagen Docker usando docker build, pero luego construirá el proyecto en su máquina host, lo que es considerablemente más rápido. Finalmente, los artefactos del proyecto se montan en el contenedor Docker como un volumen. Este modo es solo para configuraciones de depuración, y en los proyectos compilados en Release se utilizarán los pasos que se encuentran en su Dockerfile.

Puede deshabilitar el modo Fast para cualquier configuración de ejecución particular a través de Edit Run Configuration | Build | Modify options | Don’t use Docker fast debug.

Buscar texto en Search Everywhere

Search Everywhere es el principal punto de entrada cuando busca algo en su solución, en la configuración del IDE o en el historial de Git. A partir de Rider 2022.1, hemos añadido la nueva pestaña Text, que muestra todas las apariciones de texto en la solución que coinciden con la cadena mientras se escribe. Ejecuta la búsqueda de texto completo en todos los archivos de código y de texto, incluyendo los archivos .cs, .fs, .cshtml, .json, .js, .css, .editorconfig, .cvs, .dockerfile, .md y .txt.

Como es habitual, todos estos resultados aparecen también en la pestaña All.

Sin embargo, puede limitar el ámbito de los archivos en los que desea realizar esta búsqueda:

  • Por área de búsqueda: All places, Recently viewed files, Local changes o Data sources.
  • Por tipo de archivo, con una lista predefinida de valores o con máscaras de archivo especificadas manualmente.

Esta búsqueda de texto en Search Everywhere no afecta a la funcionalidad existente Find in Files. Puede usar las dos.

Interfaz/experiencia de usuario

Nueva ventana de herramientas Notifications

Nueva ventana de herramientas Notifications

Hemos reemplazado la instancia Event Log con una nueva ventana de herramientas Notifications para resaltar más claramente las notificaciones importantes y útiles del IDE. Con esta actualización, pretendemos hacer más visibles las notificaciones y mantenerlas mejor organizadas en una ventana de herramientas específica a la que puede acceder desde la barra de navegación.

Todas las notificaciones que aparecen en la ventana de herramientas Notifications se clasifican en dos tipos: Suggestions y Timeline.

La sección de sugerencias Suggestions presenta notificaciones que se consideran útiles o prácticas en la mayoría de los casos de uso. Además, las sugerencias de Suggestions pueden ser importantes o normales. Si recibe una importante, verá un círculo rojo en el icono de la campana en la barra de navegación. Las sugerencias normales se indican con un círculo azul en el icono de la campana.

Indicador de zoom

Indicador de zoom

Antes, era difícil determinar si el contenido del editor de texto estaba ampliado o no. No había ningún indicador visible que mostrara explícitamente el estado actual del zoom.

En esta versión, hemos introducido el widget Zoom, que aparece en la parte inferior del editor de texto actual. Le muestra el tamaño real de la fuente del editor y le ayuda a restablecerlo al tamaño predeterminado.

Desde este widget, puede navegar directamente a Preferences/Settings, donde puede ajustar si el zoom debe afectar a todos los editores o solo al activo.

Mapa de teclas de Visual Studio 2022

Mapa de teclas de Visual Studio 2022

Hemos añadido un nuevo mapa de teclas de Visual Studio 2022 que resuelve todas las diferencias de atajos entre el mapa de teclas actual de Visual Studio y el del IDE de Visual Studio (por ejemplo, Alt+Arriba/Abajo) en favor de los accesos directos de este último. Lo recomendamos para aquellos que estén acostumbrados a versiones de Visual Studio anteriores a la 2022 sin ReSharper.

Lenguajes compatibles

Compatibilidad con C#

We continue to improve support for C# 10, particularly global usings. Hemos implementado dos nuevas refactorizaciones que también están disponibles como acciones contextuales.

Extract Global Using puede ayudarle a introducir el concepto de usos globales en su proyecto. Puede invocarlo en una directiva using normal, y Rider le sugerirá que lo extraiga a un archivo GlobalUsings.cs designado (si aún no existe tal archivo en su proyecto, se creará). El using normal que ya no es necesario se eliminará de los archivos de su proyecto.

Si decide refactorizar un using global en un using normal, la refactorización Inline Global Using también puede ayudarle. Cuando se llama a un using global, lo elimina del archivo GlobalUsings.cs y añade la correspondiente declaración using a los archivos de su proyecto donde sea necesario.

La funcionalidad using global es compatible con Find Usages y el análisis de código para los métodos de extensión.

We’ve looked into the approaching C# 11 and supported generic attributes.

Tipos de referencias que aceptan valores null

  • Hemos dividido las advertencias de comprobación de nulos en expresiones que nunca deberían ser nulas en dos categorías. La primera advertencia es para las expresiones que nunca son nulas porque así lo dice una anotación NRT. La segunda advertencia es para las expresiones en las que hay una comprobación de los nulos en tiempo de ejecución.
  • Hemos añadido un nuevo ajuste para cambiar al modo Runtime enforced not null warnings only. Es accesible desde el grupo de elementos de configuración del menú Alt+Intro para las advertencias basadas en anotaciones.
  • Las anotaciones[MemberNotNull] y [MemberNotNullWhen] ahora son compatibles con los proyectos que no utilizan tipos de referencias que aceptan valores null.

Razor y Blazor

Estas son algunas de las funcionalidades y correcciones más notables que hemos realizado para Razor y Blazor:

  • Hemos añadido compatibilidad con el nuevo atributo [EditorRequired] de .NET 6. La inspección correspondiente y el arreglo rápido también están disponibles si intenta utilizar un componente de Blazor sin especificar los parámetros necesarios.
  • Hemos implementado la tan esperada compatibilidad con las funciones locales de C# dentro de la sintaxis de Razor.
  • Hemos mejorado la limpieza de código en archivos .razor con componentes Blazor. Ya no elimina todas las declaraciones @using.
  • También hemos arreglado las acciones contextuales If To Switch e Invert If en el código Razor con referencias a los componentes Blazor.
  • Rider ahora utiliza el estilo de nomenclatura correcto para las propiedades inyectadas de Blazor.
  • La acción Comment with Line Comment ahora comenta solo la parte del código Razor que se espera.
  • Hemos añadido la navegación a través de la jerarquía de herencia al código Razor. Ahora se muestran las marcas del medianil correspondientes para los símbolos base y derivados. Puede hacer clic en ellos para navegar hasta el código.

Compatibilidad con F#

  • Hemos solucionado varios problemas del modelo de proyecto que podían provocar la congelación mientras se cargaban y actualizaban los proyectos, así como problemas que hacían que el análisis ignorara los cambios en los proyectos u otros archivos. También hemos solucionado los problemas que provocaban que los scripts de F# condujeran a referencias de paquetes y directivas include de otros archivos que no funcionaban.
  • Los proyectos de C# ahora ven correctamente los atributos InternalVisibleTo definidos en los proyectos de F#, por lo que se puede acceder a los símbolos internos sin que se produzcan errores en el IDE.
  • Hemos solucionado algunos problemas con los proveedores de tipos, como los errores de análisis que aparecían anteriormente en el código con la misma instanciación del proveedor de tipos.
  • Hemos solucionado el problema de la refactorización Rename, ya que no funcionaba en algunos símbolos.
  • Además de una variedad de correcciones de errores en diferentes partes del complemento de F#, la compatibilidad con F# ha recibido más analizadores y arreglos rápidos que sugieren el uso de las funcionalidades de F# añadidas recientemente. También se han mejorado algunas de las funcionalidades existentes. You can take a look at the full release notes for more information.

Añadir referencias web

Referencias web

Hemos realizado una serie de mejoras para añadir referencias web a los proyectos .NET. Echemos un vistazo a las más destacadas:

  • Ahora puede añadir una referencia web a los proyectos .NET y .NET Core (anteriormente, esto solo era posible para los proyectos .NET Framework).
  • Puede añadir referencias de archivos .wsdl utilizando la ruta del archivo en lugar de la URL en el cuadro de diálogo Add Web Reference.
  • Si añade una referencia de servicio web WCF a un proyecto, esta referencia aparece en el nodo Services de la ventana de herramientas Solution View.
  • Si la referencia del servicio web cuenta con autenticación básica, Rider mostrará el cuadro de diálogo donde se introducen las credenciales.
  • Ahora son compatibles los prefijos URInet.tcp y net.pipe.

Desarrollo web

Puntos de conexión

Puntos de conexión

Seguimos mejorando la compatibilidad con los puntos de conexión y el visor de puntos de conexión Endpoint Viewer. El visor ahora también conoce y recoge puntos de conexión para el enrutamiento mínimo de la API de ASP.NET Core 6 y el enrutamiento basado en convenciones. Esto significa que puede explorar y navegar hasta estos puntos de conexión y utilizar la finalización inteligente de código, además de las funciones que ya estaban disponibles.

Mejoras para Vue

Mejoras para Vue

Rider 2022.1 incorpora varias mejoras para Vue 3. Si define los componentes como globales, el IDE ahora los reconocerá en sus archivos .vue. Rider también es compatible con la sintaxis de createApp. Se adaptará correctamente a las aplicaciones creadas mediante createApp con sus elementos relacionados. Esta versión también incluye compatibilidad con Nuxt 3, una nueva versión del popular marco de trabajo Vue.

Compatibilidad con Unity

La fantástica compatibilidad de Rider con Unity continúa en la versión 2022.1, con algunas funcionalidades nuevas, algunas correcciones y mejoras de rendimiento, y mucho trabajo tras bambalinas.

También anunciamos RiderFlow, una nueva herramienta de escenografía para Unity. Se trata de un complemento gratuito para el editor de Unity que está diseñado para ayudar a los diseñadores de niveles, artistas, codificadores y el resto del equipo creativo a crear y gestionar fácilmente las escenas. Navegue rápidamente, encuentre objetos y activos del juego, resalte visualmente los usos de los activos en una escena, e incluso refactorice su escena para reemplazar rápida y fácilmente los objetos en ella. Más información en la página de RiderFlow.

Ahora Rider actualizará automáticamente su archivo .asmdef cada vez que añada o elimine una referencia a un proyecto. Si utiliza un tipo de otro proyecto, Rider añadirá la referencia al archivo .asmdef e importará el tipo.

Rider ya es compatible con los archivos de referencia de definición de ensamblaje.asmref, así como los archivos .asmdef. Obtendrá resaltado de sintaxis, validación de esquemas y finalización. Ctrl+Clic en el nombre de la referencia navegará hasta el archivo .asmdef referenciado, y los archivos .asmdef aparecerán en Find Usages.

Cada proyecto obtiene una nueva configuración de ejecución predeterminada para ejecutar el editor de Unity en modo masivo, lo cual es perfecto para ejecutar pruebas unitarias y guardar los resultados en la carpeta Logs.

Ahora que Unity es compatible con nuevas versiones de C#, Rider ha ampliado su resaltado de tipos de color de Unity para incluir expresiones new de tipo objetivo. Obtenga rápidamente una vista previa del color que ha declarado y utilice Alt+Intro para elegir un nuevo valor.

Rider 2022.1 mejora los tiempos de carga para proyectos de Unity muy grandes, especialmente con discos o sistemas de archivos más lentos. Mientras que estas mejoras pueden ser significativas para proyectos masivos, son menos notables para los más pequeños, pero todos se beneficiarán de la reducción del uso de memoria durante la carga.

Esta versión incluye otras correcciones de rendimiento específicas. Hemos solucionado problemas como la lentitud al escribir con la ventana de herramientas de Unity Explorer abierta, y la ralentización al mostrar entradas de registro largas en la ventana de herramientas de Unity.

Hay, por supuesto, muchísimas otras pequeñas correcciones y mejoras, como las inspecciones para ayudarle a obtener la firma del método correcto para los métodos [MenuItem], una corrección para encontrar la ubicación de la documentación instalada en Linux, y una nueva notificación para asegurarse de que el paquete Rider está actualizado en su proyecto. As always, the full details are listed in the changelog.

Complementos

Azure Toolkit para Rider

Azure Functions Core Tools específicas para cada versión

Rider determina la versión de Azure Functions Core Tools que debe utilizar en función de la propiedad AzureFunctionsVersion del proyecto.

Si necesita instalar una versión específica de Azure Functions Core Tools, puede utilizar Chocolatey, Brew o npm y señalar a Rider la ruta correcta en Preferences / Settings | Tools | Azure | Functions.

Azure Functions Core Tools gestionadas por Rider

Rider gestiona de forma predeterminada las Azure Functions Core Tools por usted. Descarga las herramientas necesarias en función del proyecto y las mantiene actualizadas de forma automática.

Markdown

Markdown

Si un archivo Markdown contiene instrucciones con comandos que necesita ejecutar en su terminal, puede ejecutar esos comandos directamente desde el archivo Markdown utilizando los iconos de ejecución del medianil.

Hemos añadido nuevas opciones a la barra de herramientas flotante que aparecerá en la selección de texto al editar archivos Markdown. Con esta barra de herramientas, ya puede seleccionar rápidamente estilos de cabecera y crear listas. Puede personalizar esta barra de herramientas con las opciones que necesite. Para ello, vaya a Preferences / Settings | Appearance & Behavior | Menus and Toolbars | Markdown Editor Floating Toolbar.

Markdown

También hemos añadido una acción Copy code snippet a los bloques Markdown para que pueda copiar fácilmente el contenido en el portapapeles.

dotCover

dotCover dotUltimate

Hemos implementado una opción para marcar el código como «no cubrible». Puede utilizarla para excluir del proceso de análisis de cobertura el código que no necesita ser probado y obtener instantáneas más claras. To use this feature, install the JetBrains.dotCover.MSBuild NuGet package and add the comments // dotcover disable/enable around the code. Para obtener más detalles, eche un vistazo a esta incidencia.

Compatibilidad con VCS

Abrir Preview Diff en la ventana de herramientas Commit

Abrir Preview Diff en la ventana de herramientas Commit

Hemos movido el icono de Preview Diff de la barra de herramientas Commit al icono Cog, y lo hemos renombrado como Show Diff Preview on Single Click. Aquí puede especificar el comportamiento que desea ver cuando haga clic en un archivo en el árbol Changes: seleccionar un archivo o abrir una vista previa de diff.

Actualización de Annotate with Git Blame

Actualización de Annotate with Git Blame

Hemos mejorado la funcionalidad de Annotate with Git Blame para que sea más fácil investigar los cambios introducidos. Rider resalta la diferencia de líneas directamente en el editor cuando pase el ratón por encima de una anotación, y cuando haga clic en ella, el IDE abrirá la ventana de herramientas Git Log.

Se ha actualizado el panel Commit Details en la ventana de herramientas Git

El panel de Commit Details ahora incluye información sobre las firmas GPG y el estado de la compilación. Anteriormente, estos datos se mostraban solo como una columna en el registro Git.

Git File History: nueva interfaz de usuario sin índice

La nueva interfaz de usuario de la ventana de herramientas Git File History es ahora independiente del proceso de indexación. Los datos se representan con una nueva interfaz, incluso si el índice de registro está desactivado.

Anteriormente, para un archivo con un historial no indexado, Rider mostraba una vista del historial que era relativamente lenta y en la que faltaban algunas funcionalidades.

Otros

Cambiar el nombre de una solución

Cambiar el nombre de una solución

Todo el mundo sabe que poner nombres es difícil. De vez en cuando, incluso puede que desee cambiar el nombre de toda una solución. Rider puede ayudarle. Llame al menú contextual del nodo de la solución en la ventana de herramientas Solution Explorer, seleccione Edit | Rename e introduzca el nuevo nombre de su solución.

Opción SDK en el cuadro de diálogo New Project

Opción SDK en el cuadro de diálogo New Project

Hemos añadido la opción del SDK como una lista desplegable en el cuadro de diálogo New Solution/Project. Puede ayudarle a crear un proyecto para versiones anteriores del SDK .NET después de instalar la nueva.

Run Static Method

Run Static Method

La acción Run Static Method funciona con los proyectos dirigidos a .NET y .NET Core. Puede ejecutar cualquier método estático directamente desde el editor de código haciendo clic en el triángulo verde de «ejecutar» en el margen del medianil.

Roslyn

Roslyn

Hemos introducido varias mejoras en nuestra compatibilidad con los generadores de fuentes y analizadores de Roslyn:

  • Rider es compatible con archivos .globalconfig para configurar las reglas de análisis de código de los analizadores de Roslyn.
  • Rider ahora pasa la versión correcta del lenguaje a los analizadores de Roslyn.
  • Hemos mejorado el proceso de carga y lanzamiento de los analizadores y generadores de fuentes. No es necesario reiniciar el IDE para resolver el código generado a partir de los generadores de código fuente.
Limpieza y formateo de código

Limpieza y formateo de código

Hemos reorganizado todos los elementos del menú Alt+Intro relacionados con la limpieza y el formateo del código. Format selection, Cleanup selection y Apply syntax style se han combinado en un elemento denominado Reformat and Cleanup para proporcionar un único punto de entrada.

Además de estos cambios, los ajustes de estilo de sintaxis están ahora disponibles en las acciones Configure code style y Autodetect code style settings. El panel Preview code style muestra también los cambios en el estilo de la sintaxis.

Compatibilidad con NuGet

Hemos actualizado el selector de iconos de paquetes en la página de propiedades del proyecto NuGet. Ahora utiliza elementos nuevos en lugar de los obsoletos.

Mejor compatibilidad con el atributo DebuggerDisplay

  • Al presentar un tipo derivado, el depurador tiene en cuenta el atributo DebuggerDisplay aunque se aplique al tipo base.
  • El depurador admite la especificación del atributo DebuggerDisplay en el nivel de ensamblado.