Novedades de ReSharper 2023.3

ReSharper 2023.3 ofrece compatibilidad con las últimas funcionalidades de C# 12. También se incluyen nuevos diagramas de relación entre entidades e inspecciones de incidencias relacionadas con las entidades. Esta actualización aporta varias mejoras importantes en el rendimiento, como el análisis optimizado del código en segundo plano y la posibilidad de controlar la cantidad de recursos asignados al análisis del código. El lanzamiento de ReSharper 2023.3 también se ve reforzado por una importante actualización de AI Assistant.

Descargar

Prueba gratuita de 30 días disponible

AI Assistant ya ha finalizado su versión preliminar Disponible para el público general

JetBrains AI Assistant ya está disponible para todos con una serie de funcionalidades nuevas y mejoradas para aumentar su productividad. El último conjunto de mejoras para ReSharper incluye lo siguiente:

  • Chat con IA que tiene en cuenta el contexto
  • Mejor reconocimiento del proyecto para las acciones de IA
  • Finalización de código multilínea asistida por IA
  • Generación de pruebas de unidad
  • Generación de documentación en XML
  • Posibilidad de crear una biblioteca de peticiones personalizadas

Utilice AI Assistant en ReSharper como función complementaria con una suscripción a JetBrains AI Service.

Vea una demo

Compatibilidad con C#

Con su última versión, ReSharper amplía la lista de funcionalidades de C# 12 que admite constructores primarios, directivas alias para referenciar cualquier tipo, expresiones de colección e interceptores, entre otras.

Consulte este artículo del blog para profundizar en las últimas actualizaciones de la compatibilidad con C# introducidas en Rider y ReSharper 2023.3.

Vea una demo

Rendimiento

ReSharper 2023.3 ahora puede reconocer y facilitar más escenarios en los que los servicios de análisis de código pueden funcionar de forma incremental cuando se interrumpen por la escritura. Esta mejora resulta especialmente práctica para la gestión de archivos de gran tamaño.

Integración revisada de las acciones rápidas de Visual Studio y ReSharper

La última actualización también le permite controlar la cantidad de recursos que se asignarán al análisis de código de toda la solución. Ahora puede elegir entre los modos Low, Moderate y High de utilización de recursos.

A pesar de su nombre, el modo High está diseñado para no interferir con la escritura en el editor y no degrada la capacidad de respuesta del IDE. Comienza a aumentar gradualmente el uso de la CPU solo cuando la interrupción del análisis del código por la escritura de código ha finalizado, manteniendo una escritura fluida, todo ello mientras el análisis de la solución completa está procesando el código fuente en segundo plano.

Otras mejoras de rendimiento

Encontrar usos de tipos y constructores es ahora más rápido para soluciones con numerosas creaciones de objetos con tipos de destino, por ejemplo SomeType _field = new(). Esta mejora también afecta positivamente a la velocidad de refactorización.

También hemos solucionado algunos problemas relacionados con el manejo de idiomas inyectados, que solían provocar un mayor uso de la CPU.

UX/UI

Experiencia de usuario renovada para la refactorización Extract local function

Experiencia de usuario renovada para la refactorización Extract local function

Hemos renovado la experiencia del usuario para la refactorización Extract local function. Antes, seleccionar un lugar para la nueva función de entre la lista de opciones disponibles era todo un reto, y no estaba claro qué se vería afectado por esa elección.

Con la experiencia de usuario actualizada, ahora verá una vista previa de la firma de la nueva función directamente en el editor de código. Esto facilita la comprensión precisa de dónde se insertará y cómo afectará su elección a la función introducida. También puede ver qué variables se transformarán en parámetros en lugar de cierres y qué otras funciones se reubicarán para permitir llamadas en la nueva ubicación.

Integración revisada de las acciones rápidas de Visual Studio y ReSharper

Integración revisada de las acciones rápidas de Visual Studio y ReSharper

Las acciones rápidas de Visual Studio y ReSharper pueden complementarse bien cuando se utilizan con criterio. Con ReSharper 2023.3, podrá aprovechar fácilmente la potencia de ambos sistemas. Ahora puede ajustar la configuración para utilizar exclusivamente las acciones rápidas de ReSharper, mostrar iconos de sugerencia para ambas o invocar todas las acciones rápidas desde un único punto de acceso: el menú de la bombilla de ReSharper.

Mnemónicos para Copy Code Reference

Mnemónicos para Copy Code Reference

ReSharper 2023.3 introduce claves de acceso para la acción Copy Code Reference. Ahora, cada tipo de referencia de código del menú contextual puede seleccionarse con solo pulsar una tecla.

Compatibilidad con C++

En ReSharper C++ 2023.3, trabajar con código inactivo es ahora mucho más fácil. La finalización de código en bloques de código actualmente inactivos dentro de ramas condicionales del preprocesador sugiere ahora símbolos del ámbito global. Find Usages también se ha actualizado y ahora muestra los posibles usos en el código inactivo y los cuerpos de las macros en las secciones de resultados dedicadas.

Obtenga más información sobre las actualizaciones de C++: Novedades de ReSharper C++ 2023.3

Formateo de código

Nuevo motor de formateo de código para Razor

Nuevo motor de formateo de código para Razor

ReSharper 2023.3 incorpora un nuevo motor de formateo para Razor. Es compatible con el actual formateador de C# de ReSharper, por lo que admite las construcciones del lenguaje C# introducidas en los últimos años y la mayoría de las nuevas opciones de formateo de ReSharper para C#. El nuevo formateador también funciona más rápido y se espera que tenga menos problemas. Sin embargo, modifica el formato predeterminado de algunos códigos. Por ello, hemos introducido una opción para volver al antiguo motor de formateo de Razor. Puede encontrarlo en ReSharper en Options, en Code Editing | Razor | Code Style.

Entity Framework

Inspecciones dirigidas a incidencias relacionadas con Entity Framework

ReSharper 2023.3 incorpora nuevas inspecciones para usos de métodos en código relacionado con Entity Framework que potencialmente podrían producir excepciones en tiempo de ejecución.

Vea una demo

Los dos casos que abarcan estas nuevas inspecciones son:

  1. Métodos que producen excepciones cuando se invocan en un contexto de base de datos sin ser convertibles a SQL dentro de Entity Framework o Entity Framework Core.
  2. Métodos que producen excepciones cuando se invocan fuera de un contexto de base de datos mientras se implementan exclusivamente como funciones de base de datos.
Experiencia de usuario renovada para la refactorización Extract local function

Diagramas de relaciones entre entidades

Esta versión introduce los diagramas de relación entre entidades (ERD). Los ERD en ReSharper presentan una representación gráfica del modelo de base de datos, las relaciones entre entidades, así como perspectivas de análisis del modelo de base de datos.

Los análisis específicos de Entity Framework en ReSharper 2023.3 inspeccionarán su código en busca de posibles problemas en el modelo EF, como la longitud ilimitada de las propiedades de cadena y los bucles de dependencia. Si a continuación invoca un menú contextual en dicha inspección y selecciona Show Entity Relationship Diagram, podrá investigar el problema visualmente.

Consulte este artículo del blog para obtener más información sobre la visualización de las relaciones de Entity Framework y las nuevas inspecciones.

Pruebas de unidad

Generación de pruebas asistida por IA
Beta

Nuestra versión anterior introdujo la posibilidad de crear fácilmente pruebas de unidad. La última actualización de AI Assistant dentro de ReSharper 2023.3 le ofrece la opción de generar el código dentro de las pruebas de unidad, aprovechando la potencia de los LLM.

Revisión gramatical y ortográfica

Nuevo motor de formateo de código para Razor

JetBrains Grazie se ha convertido en el nuevo corrector gramatical y ortográfico integrado de ReSharper. Grazie admite más de 20 idiomas y detecta errores del lenguaje natural dentro de los lenguajes de programación admitidos por ReSharper (C#, C++, VB.NET), lenguajes de marcado (HTML, XML, XAML) y comentarios. Para añadir otros idiomas naturales a Grazie, vaya a Options | Grammar and Spelling | General en ReSharper.

Linter Qodana Community para .NET

Durante mucho tiempo, si quería ejecutar ReSharper Code Analysis fuera de un IDE en su servidor de CI/CD, solo tenía una opción: la herramienta InspectCode de las herramientas de línea de comando de ReSharper. Recientemente, Qodana ha dado sus primeros pasos en nuestra línea de herramientas .NET y ha lanzado el programa de acceso anticipado para el linter Qodana Community para .NET.

Aunque Qodana se basa en el mismo motor de análisis estático de código que ReSharper, ofrece varias ventajas adicionales:

  • Los usuarios pueden inspeccionar los resultados de los análisis con un gráfico de proyección solar característico de Qodana Cloud y evaluar rápidamente el estado general de su proyecto.
  • Utilice la línea de base para gestionar la deuda técnica.

Además, los linters de Qodana de pago para .NET permitirán ejecutar auditorías de licencias de terceros, analizar la cobertura del código y detectar dependencias vulnerables.

No dejaremos de utilizar las ReSharper Command Line Tools, pero a partir de ahora, el linter Qodana Community para .NET será la forma preferida de ejecutar los análisis de ReSharper fuera del IDE.

dotMemory

dotMemory independiente en Linux y macOS dotUltimate Beta

Ahora, puede ejecutar la versión independiente de dotMemory en los sistemas operativos Linux y macOS.

Decompilador

Diff entre agrupaciones

La funcionalidad Assembly diff introducida con la versión anterior es ahora capaz de comparar paquetes NuGet, carpetas y archivos .zip.

Diff entre agrupaciones

La posibilidad de comparar agrupaciones dispone ahora de más opciones de comparación. Puede elegir entre varios modos de diff (Show all, Show only differences, Show only signature differences, Show only public API differences). Además, puede especificar si desea que el diff ignore las diferencias de orden de los miembros/atributos, así como las diferencias en las anotaciones de los tipos de referencias que aceptan valores null.

Assembly explorer (Explorador de agrupaciones)

Actualizaciones de Assembly Explorer

  • Al explorar los paquetes NuGet en Assembly Explorer, ahora podrá ver todos los archivos y carpetas dentro de esos paquetes NuGet.
  • Los nodos de recursos Win32, incluidos su tamaño y tipo (si pueden determinarse), pueden verse ahora en el árbol de presentación de nodos y en el panel Properties.

Otras actualizaciones:

  • Se ha introducido la posibilidad de descodificar los recursos de tablas de cadenas Win32.
  • ReSharper muestra ahora los tamaños de los archivos abiertos dentro del panel Properties para una agrupación/no agrupación, archivos dentro de paquetes, archivos, paquetes NuGet, agrupaciones comparadas y recursos Win32.
  • Ya está disponible la validación de la firma del código de autenticidad de la agrupación.
  • Las directivas explícitas #nullable disable aparecen en las fuentes descompiladas.

Miscelánea

Nuevas inspecciones para aplicaciones dirigidas al marco ASP.NET Core

Nuevas inspecciones para aplicaciones dirigidas al marco ASP.NET Core

Dynamic Program Analysis ha recibido tres nuevas inspecciones para aplicaciones dirigidas al marco ASP.NET Core. Estas inspecciones le alertan de posibles problemas de rendimiento del backend que podrían hacer que su aplicación no respondiese a la perfección.

Más información

Nuevas inspecciones para identificar los usos vulnerables de las API

Nuevas inspecciones para identificar usos vulnerables de las API Seguridad

Rider 2023.3 incorpora una nueva funcionalidad de inspección de seguridad diseñada para que las vulnerabilidades publicadas sean más evidentes y fáciles de comprender.

Las nuevas inspecciones identifican los paquetes NuGet vulnerables en su proyecto y destacan los casos en los que se utilizan métodos vulnerables de estas bibliotecas en su código. Si se detecta una vulnerabilidad, el sistema resalta el código problemático y ofrece acciones rápidas para remediarlo. Estas acciones incluyen recomendar una actualización a una versión más reciente del paquete y ofrecer información detallada sobre las vulnerabilidades detectadas.

Descargar

Prueba gratuita de 30 días disponible