Novedades de Rider

Con Rider 2021.1, añadir compatibilidad con Docker a un proyecto es mucho más sencillo. Directamente desde la pantalla de bienvenida, le permite crear un vínculo a un proceso .NET e intervenir en el proceso de depuración mediante los consejos del depurador. Para desarrolladores de ASP.NET hemos añadido scaffolding, que incluye Identity y "CRUD" Entity Framework, así como análisis de plantillas de ruta. Se ha actualizado enormemente la compatibilidad con C#, esta vez principalmente para patrones y registros.

Compatibilidad con Docker

Añadir compatibilidad con Docker

Añadir compatibilidad con Docker a un proyecto de Rider es ahora más fácil: puede generar el Dockerfile al crear un proyecto nuevo. Solo tiene que seleccionar Docker Support en el cuadro de diálogo New project si escoge ASP.NET Core Web Application, Worker Service o Console Application.

Si desea añadir un Dockerfile a un proyecto existente, utilice Add | Docker Support en el menú contextual para un proyecto en la ventana de herramientas Solution Explorer.

Dockerfile

Desde su configuración de fábrica, Rider puede ejecutar Dockerfiles generados por Visual Studio. No tiene que introducir cambios adicionales en Dockerfile para que sea compatible con Rider.

Compatibilidad con C#

Más patrones para combinar

La inspección Merge into pattern ahora es capaz de trabajar con muchos más patrones de código.

Fusione comprobaciones de valores null con otras comprobaciones en una sola comprobación de patrón.

Reescriba comprobaciones desde expresiones conditional?.Access a concordancia de patrones anidada.

Reduzca el anidado de declaraciones if fusionando las comprobaciones entre sí.

Por último, puede combinar patrones dentro de un patrón de deconstrucción simple var (a,b) expandiéndolos en formularios completos.

Más compatibilidad con C# 9.0

Hemos añadido más compatibilidad con registros C# 9.0.

Las refactorizaciones Extract interface y Extract superclass ahora funcionan con declaraciones de registro, al igual que File Layout y las funcionalidades relacionadas con documentación XML.

Hemos incorporado una serie de inspecciones y acciones nuevas. Redundant explicit property declaration para propiedades en declaraciones de registro puede resultar de ayuda al migrar su código para utilizar registros con parámetros posicionales y declaraciones de propiedad implícitas. Se incluye el arreglo rápido correspondiente, Remove explicit property.

También le ayudamos a mantenerlo todo en orden: la inspección Redundant 'record' type declaration body y el arreglo rápido correspondiente sustituirán al cuerpo de la declaración de tipo de registro vacío con un punto y coma.

  • Si decide convertir un registro en una clase, la acción To class se encargará de los parámetros posicionales y del constructor primario. También cuenta con una acción To record que funciona en dirección contraria.
  • Cuando necesite reescribir parámetros posicionales y un constructor primario en propiedades ordinarias, constructor y un método Deconstruct() explícito, plantéese utilizar la acción contextual To explicit constructor.
  • Find usages ahora busca los usos del constructor primario de un registro y los usos de un método Deconstruct() implícito.

Convertir variable temporal en valor inline

Nos complace presentar una nueva inspección, Inline temporary variable.

A veces utiliza el mismo valor una y otra vez con diferentes nombres en su programa. ¿Ese código podría ser más transparente? ¡Claro! Y Rider está aquí para ayudarle. Puede incluso ayudarle a encontrar errores si se supone que la variable temporal se va a inicializar como algún otro valor o se va a mutar más adelante en código.

Cambiar nombre en tuplas

Las tuplas con nombre nos acompañan desde C# 7, pero cambiar el nombre de los componentes era una operación manual. Esto ha terminado; ya puede recurrir a la refactorización.

Otras ventajas

Los patrones not lógicos pueden ayudarle a que sus comprobaciones de tipo sean mucho más fáciles de leer. Rider le ofrece la posibilidad de olvidarse de la sintaxis !() en favor de un patrón not.

Para la compatibilidad con C# 10.0, hemos dado unos primeros pasos enseñando a Rider a trabajar con la función Constant string interpolation.

  • Rider ahora sugiere utilizar el operador de rango en lugar de Slice y Substring, si así se simplifica el código.
  • La inspección Namespace does not correspond to file location se ha eliminado ahora en archivos con código de nivel superior.
  • Dispone de otra nueva inspección que comprueba si una propiedad automática se puede sustituir por una propiedad computada, junto con un arreglo rápido para realizar la sustitución.

Desarrollo web

Scaffolding para ASP.NET

¡Tenemos buenas noticias para desarrolladores que trabajen con ASP.​NET MVC, ASP.​NET Web API o Razor Pages! Hemos añadido un mecanismo de scaffolding para proyectos de ASP.NET Core.

Rider es compatible con scaffolding en Areas, Controllers, Razor Pages, Views e Identity, incluyendo la generación de código fuente predefinido para que operaciones CRUD completas utilicen Entity Framework.

Está disponible en Windows, Linux y macOS.

Plantillas de ruta ASP.NET Core

Las plantillas de ruta se usan mucho en aplicaciones MVC para configurar cómo se asignarán las solicitudes HTTP con los extremos ejecutables de la aplicación. En la versión 2021.1 hemos incorporado compatibilidad con las plantillas de ruta. Rider ahora ofrece finalización de código, navegación estructural, inspecciones y arreglos rápidos. Incluye:

  • Inspecciones para comprobar errores de sintaxis HTTP.
  • Inspecciones y arreglos rápidos para comprobar y solucionar incidencias en parámetros de ruta.
  • Inspecciones para restricciones de ruta.

Más información en Novedades en ReSharper.

Borrar archivos antes de publicar

Ya está disponible la opción de borrar archivos existentes en la carpeta antes de publicar. Le ayudará a evitar sobrecargarse con datos obsoletos, por ejemplo, al mover archivos. Tenga en cuenta que Rider limpiará por completo la ubicación de destino si se habilita esta opción.

Documentación de MDN integrada

La documentación de MDN ahora está incluida con Rider. Esto le ayudará a evitar problemas de conectividad con el sitio web MDN y hará que la documentación integrada en el editor en sus archivos HTML, CSS y JavaScript se muestre más rápidamente. La documentación integrada en el editor también será más informativa (p. ej., ahora verá información sobre las versiones compatibles del navegador para las API JavaScript).

Compatibilidad mejorada para Stylelint

La inspección de su código CSS con Stylelint ahora es más sencilla. Puede corregir los problemas con este linter en solo unos clics. Pase el ratón sobre un problema en su archivo o coloque el signo de intercalación en él y pulse Alt+Intro. A continuación, seleccione Stylelint: Fix current file.

Además, puede especificar una ruta al archivo de configuración en Preferences / Settings | Languages & Frameworks | Style Sheets | Stylelint.

Especificidad de los selectores para CSS

Al trabajar con hojas de estilo, ahora puede comprobar la especificidad de sus selectores: solo tiene que pasar el ratón por encima del selector que desea revisar. Si lo prefiere, puede hacer clic en un selector y pulsar F1/Ctrl+Q para ver esta información en la ventana emergente Documentation.

Vista previa de HTML

Hemos añadido una nueva vista previa del navegador integrada que le permite previsualizar los archivos HTML rápidamente. Para abrir la vista previa, haga clic en el icono con el logo de Rider en el widget de la esquina superior derecha del editor.

Depurador

Conectar a proceso desde la pantalla de bienvenida

¡Ahora puede adjuntar a un proceso .NET directamente desde la pantalla de bienvenida! Ya no tiene que abrir primero una solución con el código fuente. Seleccione la pestaña Attach to process en la pantalla de bienvenida, escoja en la lista el proceso .NET que necesite y Rider comenzará a depurarlo.

Consejos interactivos del depurador

¡Rider ya cuenta con consejos interactivos del depurador! Los consejos del editor no solo le muestran lo que sucede, sino que también le permiten intervenir e interactuar con el proceso del depurador a través de consejos. Haga clic en el consejo y seleccione Set Value para entrar en el modo interactivo. Puede introducir datos brutos o utilizar otros valores con la ayuda de la finalización automática. También se indican atajos.

Puede habilitar los consejos del depurador con el ajuste Show values inline en Settings | Build, Execution, Deployment | Debugger | Data Views.

Otras actualizaciones del depurador

  • Hemos añadido una opción para mostrar datos brutos para un objeto si su representación se ha modificado con un atributo DebuggerBrowsable.
  • Hemos añadido una opción para mostrar todos los miembros generados con el compilador durante la depuración.
  • El contenido de los procesos de depuración remota ahora se muestra correctamente en macOS.
  • Hemos incorporado compatibilidad con la evaluación de propiedades automáticas cuando esta evaluación es imposible con la API de runtime (p. ej., el código se optimiza o un subproceso no está en un punto seguro GC).

Desarrollo de juegos

Unity

Rider 2021.1 se basa en algunas de las muchas funcionalidades innovadoras que Rider ya ofrece para Unity para darle más contexto sobre su proyecto de Unity. ¿Dónde usa Unity su código en los recursos? ¿Cuáles son las rutas de código críticas para el rendimiento a las que se llama en cada frame desde Update? ¿Cómo puede depurar, testear y cubrir mejor su código?

Rider puede mostrar dónde está utilizando Unity su código dentro de escenas, recursos y prefabs, destacando los usos directamente en el editor de Unity.

Rider 2021.1 lo amplía para admitir recursos de animación, mostrando el uso de propiedades y métodos como callbacks de animación.

Rider le ofrece finalización de código y validación para magic strings de Unity. Ya es compatible con etiquetas, nombres de capas, escenas y corrutinas, y Rider 2021.1 incorpora compatibilidad con valores de estado de animación.

Las versiones anteriores de Rider destacaban los métodos como críticos para el rendimiento, llamados con frecuencia o compilados en Burst, pero no siempre estaba claro por qué.

Rider 2021.1 añade elementos de menú para mostrar todos los métodos llamados en la ruta hot path hasta un método Update, o sigue las llamadas salientes hasta llegar a una API Unity intensiva conocida.

Para métodos compilados en Burst, Rider le mostrará la ruta a través de todos los métodos llamados hasta el inicio del contexto Burst.

Rider ya cuenta con compatibilidad ampliada para la depuración en proyectos Unity, y le muestra el objeto Active Scene, además de añadir objetos de juego secundarios y componentes a la vista del depurador.

Rider 2021.1 también le ayudará a depurar instancias SerializedProperty. Los campos irrelevantes se ocultan de forma predeterminada, y solo muestran valores relevantes para el tipo de propiedad. Puede ver fácilmente propiedades secundarias y todos los datos serializados.

Rider ha ampliado su compatibilidad con pruebas de unidades basadas en Unity para incluir cobertura de código de pruebas en modo de juego. Descubra, ejecute y depure, y muestre la cobertura de código de las pruebas de Unity en modo edición y en modo de juego, todo sin salir del editor de código.

Incluye otros muchos cambios y correcciones, como un tratamiento más robusto de los metarchivos, rendimiento mejorado al añadir entradas de registro a la ventana de herramientas de Unity, y agrupación mejorada de plantillas de archivos relacionadas con Unity.

Godot

También hemos actualizado nuestro complemento Godot Support for Rider. Ahora es compatible con la ejecución de pruebas de unidades NUnit directamente en el proceso de juego para que se asegure de que todo funciona como debería. Follow the instructions in this pull request to make it work in your game today! No dude en contarnos sus impresiones en los comentarios de la solicitud de incorporación de cambios.

Unreal Engine Vista previa anticipada solo en Windows

Rider for Unreal Engine todavía está en la fase de vista previa pública y su lanzamiento está programado como parte de Rider en 2021. Puede evaluar la vista previa de forma gratuita hasta el lanzamiento oficial.

The Unreal Engine’s Cast for type-safe dynamic casting is now available as a postfix template in code completion. Rider también es compatible con otra macro de reflexión específica de Unreal Engine: RIGVM_METHOD.

Compatibilidad inicial con Unreal Engine 5 con arreglos intuitivos basados en el feedback que recibimos del equipo de Epic Games.

Del lado de C++, se han añadido Include y Type Hierarchies, así como compatibilidad con Google Test y otros marcos de pruebas de unidades de C++.

VCS

Mejoras en las solicitudes de incorporación de cambios

  • Ahora, las solicitudes de incorporación de cambios (PR, por sus siglas en inglés) cuentan con una lista desplegable con todos los repositorios disponibles para el proyecto actual.
  • La creación de PR ahora es directa: solo tiene que hacer clic en el icono “+” o ir a Git | GitHub | Create Pull Request. El IDE abrirá un formulario en la vista Pull Requests, y le pedirá que indique los detalles de la PR.
  • En la pestaña Info puede seleccionar el repositorio principal y su rama, introducir un título y una descripción para la PR, nombrar revisores y usuarios asignados, y añadir etiquetas descriptivas.
  • La versión 2021.1 admite plantillas de PR. Añada el archivo pull_request_template.md con la descripción de la PR a su proyecto, y cada vez que cree una PR, esta descripción aparecerá en ella.

Más información aquí.

Save to Shelf

En la v2021.1, hemos añadido la acción Save to Shelf para copiar sus cambios al Shelf al tiempo que los mantiene en los cambios locales. Puede acceder a esta acción mediante atajos o escribiendo ‘Save to Shelf’ en la ventana emergente de Search Everywhere.

Comparar con rama

Ahora puede copiar un archivo desde otra rama en el cuadro de diálogo Compare with branch. Solo tiene que seleccionar el archivo que quiere copiar y hacer clic en el nuevo icono de flecha abajo situado junto a Show diff.

Interfaz/experiencia de usuario

Solution Explorer

Rider ahora guarda el estado de Solution Explorer entre el cierre y la apertura del IDE, incluyendo los nodos abiertos. Ya no tiene que expandir los nodos manualmente cada vez que vuelve a abrir una solución o reinicia el IDE.

Pestañas del editor divididas en vertical

Cuando hay abiertas varias pestañas que dividen el editor verticalmente, ahora puede hacer doble clic en cualquiera de ellas para maximizar la ventana del editor para esa pestaña concreta.

Diálogo de selección de carpeta solo en Windows

Hemos renovado el diálogo de selección de carpetas en Windows. Ahora solo le mostrará carpetas que pueda seleccionar.

Soluciones recientes desde la barra de tareas solo en Windows

Ahora puede acceder a sus proyectos recientes en Windows haciendo clic con el botón derecho del ratón en el icono de Rider de la barra de tareas o en el menú de inicio.

Nuevos diálogos modales solo en macOS

Ya se admite la nueva IU de diálogos modales en macOS Big Sur.

Gestor de Toolbox para formularios de Windows solo en Windows

El gestor de Toolbox para el diseñador de formularios de Windows se ha renovado por completo.

La parte izquierda de la ventana le muestra la lista con todas las bibliotecas de controles, ya sean del sistema o de terceros, agrupadas por proveedor de controles. Al seleccionar una biblioteca de la lista, puede escoger controles específicos en el panel intermedio. Solo los escogidos se mostrarán en Toolbox, para mantener la lista limpia. El panel derecho le muestra los metadatos de un control seleccionado.

¿Tiene demasiados controles en una biblioteca y solo necesita uno en especial? ¡No hay problema! La nueva búsqueda en el panel intermedio reduce la lista de controles y destaca la subcadena de búsqueda en la lista de resultados.

Y por último, aunque no menos importante, hay nuevos contadores en la parte inferior que mostrarán cuántos componentes se eliminarán o se añadirán a Toolbox al guardar. Siempre sabrá lo que va a pasar cuando haga clic en el botón Aplicar.

Editor

Documentación rápida

El resaltado de sintaxis llega a la ventana de documentación rápida para ofrecer el mismo resaltado que ve en el editor de código. Ahora también se muestra la documentación rápida de un símbolo al pasar por encima con el ratón.

Peso de fuente

Elegir una fuente que funcione perfectamente durante muchas horas de programación resulta fundamental. La configuración de tipografía añadida recientemente facilita un poco esta elección y la hace más personalizada. En v2021.1, puede ajustar el espesor de los estilos de fuente principal y negrita en Preferences / Settings | Editor | Fonts.

Visor de XAML

Hemos mejorado nuestra herramienta de vista previa de XAML, un mecanismo esencial de feedback para desarrolladores de WPF y XAML.

Rider ahora sitúa la herramienta de vista previa de XAML dentro de la propia ventana del editor, y le da así la opción de cambiar entre varias opciones de orientación y diseño. Puede cambiar la orientación de la herramienta de vista previa para que se divida de forma horizontal o vertical desde el editor.

El elemento enfocado ahora se resaltará, para ayudarle un poco más cuando intente encontrar un elemento de la IU específico en un diseño de IU complicado.

La herramienta ahora le permite hacer clic en instancias TabItem. Esta incorporación mejora enormemente la experiencia de crear interfaces de usuario con múltiples pestañas.

La herramienta de vista previa de XAML ahora respetará propiedades de diseño como DesignHeight y DesignWidth al renderizar las vistas previas.

Tenga en cuenta que la vista previa de XAML solo está disponible en Windows para aplicaciones destinadas a .NET Framework.

Para obtener más detalles, eche un vistazo a este artículo del blog: Mejoras de la herramienta de vista previa de XAML en Rider 2021.1.

Estilos de código

Formateo y estilos de código

Hemos añadido un par de ajustes nuevos:

  • Ahora puede escoger si desea establecer un espacio antes y dentro de paréntesis de tipo objetivo new().
  • Puede agregar y eliminar saltos de línea antes del operador de asignación.
  • Puede desplazar la sangría hacia la izquierda en declaraciones de etiqueta.

Para reglas de nomenclatura personalizada, hemos actualizado la orden en la que se aplican: las más específicas ahora van delante.

Por último, hemos añadido una acción Reindent only para la selección de formato. Ahora puede decirle a Rider que solo ajuste las sangrías del código seleccionado, en lugar de llevar a cabo el proceso de reformateo completo.

EditorConfig

EditorConfig se está convirtiendo en una herramienta popular entre la comunidad .NET, y mejoramos continuamente su integración con Rider. Estas son las mejoras que hemos incorporado:

  • Hemos mejorado el modo en que Rider lee los ajustes de las reglas de nomenclatura desde EditorConfig y escribe las reglas de nomenclatura definidas por el usuario en EditorConfig.
  • Si las reglas de nomenclatura se anulan en EditorConfig, Rider muestra una notificación en la página de configuración de nomenclatura.
  • Hemos añadido compatibilidad con la opción csharp_indent_case_contents_when_block en EditorConfig.

Compatibilidad con F#

Hemos añadido nueva refactorización Inline Variable para las vinculaciones let locales.

Rider ahora es capaz de calcular un nivel de lenguaje permitido basándose en el proyecto y el compilador utilizado en un build, y sugerir mejoras para que su código F# quede más moderno y actualizado.

To Interpolated String, un nuevo analizador y arreglo rápido, sirve para convertir una cadena de formato printf-style en una cadena interpolada F# 5. Thanks again to Saul for the nice implementation.

El análisis de paréntesis redundantes y el arreglo rápido correspondiente le ayudan con los paréntesis en patrones, tipos y expresiones simples. Planeamos incluir más casos de expresiones en versiones futuras.

Encontrará muchos más arreglos rápidos, refactorizaciones y otras mejoras en la compatibilidad con F#. Please see the full release notes for more details.

Integración con Space

El complemento de Space ahora está disponible para Rider. Puede conectarse con su organización en JetBrains Space a través de Get from VCS, que se encuentra justo en la pantalla de bienvenida. Cuando haya iniciado sesión, podrá ver y clonar los repositorios de los proyectos, revisar el código de sus compañeros y escribir scripts de automatización de Space.

Compatibilidad con bases de datos

Interfaz de usuario para derechos de acceso

Hemos añadido una interfaz de usuario para la edición de permisos al modificar objetos.

La ventana Modify user, que puede invocar en un usuario en el explorador de la base de datos con Ctrl+F6, ahora tiene una interfaz de usuario para añadir permisos a los objetos.

Esto está disponible para PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server y Sybase.

Las funciones del sistema puede utilizarse sin calificación SQL Server

Las funciones y los procedimientos del sistema ya no se resaltan como errores cuando se utilizan sin calificación. Ahora también admiten la navegación y la finalización.

Infórmese acerca de las actualizaciones en la compatibilidad con bases de datos en la página de Novedades de DataGrip.

Otras actualizaciones

NuGet Smart Restore en un build

Hemos implementado NuGet Smart Restore on a build. Realiza una acción de restauración en un build cuando la heurística detecta que se ha efectuado una restauración externa. Si desea desactivar esta opción, la encontrará en Settings/Preferences | Build, Execution, Deployment | NuGet | Smart Restore on Build.

Build en paralelo en Mono

Rider ahora es compatible con la compilación en paralelo en versiones recientes de Mono. Solo tiene que habilitar la opción en Settings | Build, Execution, Deployment | Toolset and Build.

Dependencias externas en Find in Files

Ya se puede configurar cómo Rider tratará las dependencias externas al buscar texto. En el diálogo Find in Files, seleccione Scope y haga clic en el botón ‘…’. Se abrirá la ventana Scopes, y en ella verá si las External Dependencies se han incluido o excluido en el ámbito. Puede cambiar su estado con los botones situados a la derecha.

Compatibilidad con formato JSON Lines

Ahora admitimos el formato JSON Lines delimitado por líneas nuevas que se utiliza para trabajar con datos estructurados y registros. El IDE reconocerá los tipos de archivo .jsonl, .jslines, .ldjson y .ndjson.

Los archivos en estos formatos contienen varias líneas, y cada línea nueva es un objeto JSON separado por un caracter de línea nueva. Ya no son necesarias las comas al principio o al final de las líneas, y no hay que incluir todo el contenido del archivo entre corchetes ni entre llaves.