Arreglos rápidos

ReSharper incluye más de 1200 arreglos rápidos que le ayudan a reparar instantáneamente la mayoría de los problemas de código detectados en C#, VB.NET, XAML, ASP.NET y otros lenguajes compatibles. Para aplicar un arreglo rápido, simplemente presione Alt+Introducir sobre un problema de código resaltado y elija la mejor forma de corregir un problema o mejorar el código.

Arreglos rápidos para problemas de código en ReSharper

Aplicación de arreglos rápidos

Los arreglos rápidos usualmente están representados con una bombilla de luz roja (errores) o amarilla (advertencias, sugerencias y consejos) que aparece a la izquierda de la línea de código resaltada cuando coloca el signo de intercalación sobre el resaltado. Para ver la lista de los arreglos rápidos disponibles para un error determinado, haga clic en la bombilla de luz o presione Alt+Intro. Luego, simplemente seleccione un arreglo rápido adecuado de la lista y el problema se resolverá de la mejor forma posible.

Aplicación de arreglos rápidos de ReSharper en un ámbito mayor (archivo, proyecto o solución)

Arreglar en el ámbito

Algunos arreglos rápidos (p. ej. Remove unused directives, Make field read-only, Remove redundant cast, etc.) pueden encontrar y arreglar problemas automáticamente en un ámbito más grande: en el archivo actual, en el proyecto actual o en toda la solución.

Puede reconocer estos arreglos por la pequeña flecha que tienen al lado. Haga clic en esta flecha o presione la tecla direccional derecha para elegir dónde aplicar el arreglo.

Arreglos rápidos de ReSharper para símbolos no resueltos

Corrección de símbolos no resueltos

Para errores causados por símbolos no resueltos, ReSharper ofrece una variedad de distintos arreglos rápidos, por ejemplo:

  • Si un símbolo existe en alguna referencia de espacio de nombre en cualquier lugar de su solución, ReSharper muestra un cuadro emergente que le sugiere importar todos los espacios de nombres que falten en el archivo.
  • Un conjunto de arreglos rápidos que comienzan con Create... le ayudarán a generar rápidamente distintas declaraciones del símbolo según el contexto de uso.
  • Otra forma de arreglar el problema es Find this type on nuget.org.... Esto abrirá el navegador NuGet, que le ayudará a encontrar e instalar un paquete NuGet que falta.
Arreglos rápidos para problemas de código en ReSharper

Arreglos rápidos interactivos

Los arreglos rápidos que crean nuevos símbolos en su código a menudo son interactivos, como en este ejemplo en el que ReSharper le ayuda a corregir múltiples enumeraciones de IEnumerable forzando la enumeración por adelantado a una variable List<>.

Cuando ReSharper resalta campos de entrada obligatorios con un cuadro rojo, puede aceptar el valor sugerido o modificarlo y presionar Tab o Intro para moverse a la siguiente posición de entrada, o presionar Mayús+Tab para moverse la posición de entrada anterior. Cuando termine con el último campo de entrada, su signo de intercalación volverá al modo normal.

Arreglos rápidos y acciones contextuales de ReSharper

Arreglos rápidos vs acciones contextuales

ReSharper también ofrece acciones contextuales que se muestran en la lista desplegable junto con los arreglos rápidos.

La diferencia entre estas dos es simple: los arreglos rápidos solo aparecen para problemas de código resaltados y apuntan a corregirlos, mientras que las acciones contextuales representan mini-refactorizaciones que siempre están disponibles en el menú desplegable Alt+Intro.

Resaltar el código que coincide con un patrón de búsqueda y reemplazarlo con un patrón de sustitución

Sus arreglos rápidos personalizados

ReSharper proporciona Structural Search and Replace (Búsqueda y reemplazo estructural) para buscar código que coincide con cierto patrón y, opcionalmente, sustituirlo con código que coincida con otro patrón. Algo aún más increíble es que ReSharper puede monitorizar continuamente su solución en busca de sus patrones de búsqueda, resaltar el código coincidente y ofrecer arreglos rápidos para sustituir el código de acuerdo con sus patrones de reemplazo.

Arreglos rápidos para problemas de código en ReSharper

C#: Ejemplo de uso de interpolación de cadena

Durante años, usar String.Format y otros métodos que admiten el formateo compuesto era la única forma de integrar valores de variables C# en literales de cadena. A partir de C# 6.0, puede hacer esto de una forma mucho más legible gracias a la interpolación de cadenas. Con el arreglo rápido de ReSharper, es posible sustituir el formateo compuesto con la interpolación de cadena con solo presionar unas pocas teclas.

Arreglos rápidos para problemas de código en ReSharper

C#: Ejemplo de corregir una posible NullReferenceException

Cuando ReSharper detecta una llamada a método en un objeto que podría ser null, llevando posiblemente a una System.NullReferenceException en tiempo de ejecución, sugiere dos arreglos rápidos. Un arreglo tradicional añadirá una rutina de verificación de null adelante de la llamada. Sin embargo, una forma más clara y simple de lidiar con esta llamada es usar el operador condicional de null .?, que se introdujo en C #6.0 para resolver este escenario.

Arreglos rápidos para problemas de código en ReSharper

C#: Ejemplo de convertir foreach en expresión LINQ

Si le gusta la sintaxis LINQ en Ch#, ReSharper le ayudará a revisar sus bases de código existentes para detectar bucles que se podrían convertir en expresiones LINQ y luego podrá usar un arreglo rápido para llevar a cabo la conversión de forma rápida y segura.

Arreglos rápidos para problemas de código en ReSharper

C#: Ejemplo de eliminar creación de vector redundante

Si un método de C# admite un número variable de argumentos con la palabra clave params, el compilador generará un vector para los argumentos para que no necesite crear un vector para sus argumentos en la llamada al método.

Lo que resulta más interesante es que ReSharper sugiere un arreglo rápido que elimina todo el código redundante en el ámbito deseado, incluidos calificadores, argumentos o castings redundantes, revisiones de condiciones, asignaciones no usadas, código no alcanzable y más.

Arreglos rápidos para problemas de código en ReSharper

C#: Ejemplo de introducir parámetros opcionales

Si el único propósito de una función de anulación es invocar a la llamada "implementation" con valores predeterminados para algunos argumentos, ReSharper le ayudará a eliminar esta sobrecarga y usar parámetros opcionales en la función de "implementación".

Arreglos rápidos para problemas de código en ReSharper

C#: Ejemplo de uso de casting explícito dentro de un bucle foreach

Por diseño, foreach permite un casting oculto a un tipo derivado. Por un lado esto simplifica el uso, pero por otro esto puede conllevar a System.InvalidCastException en tiempo de ejecución. Un arreglo rápido que ReSharper sugerirá aquí le ayuda a hacer que el casting sea explícito. Aún no es seguro, pero al menos ya no está oculto.

Arreglos rápidos para problemas de código en ReSharper

VB.NET: Ejemplo de especificar comparación de cadenas

Muchos arreglos rápidos funcionan para varios lenguajes. Aquí hay un ejemplo de un arreglo rápido que está disponible tanto en C# y en VB.NET: para dejar claro cómo se comparan exactamente dos cadenas, ReSharper sugiere sustituir la comparación mediante el operador de igualdad con String.Equals() que manejará el uso de mayúsculas y minúsculas y se asegurará de que la comparación tenga en cuenta la cultura.

Arreglos rápidos para problemas de código en ReSharper

TypeScript: Ejemplo de introducir type guard

Los tipos de uniones TypeScript a veces pueden resultar complicadas. Por ejemplo, usar un miembro que no es común a todos los tipos de un valor de tipo de unión conllevará a un error de compilador. En este caso, ReSharper sugiere una variedad de arreglos rápidos que añaden distintos type guards para desambiguar dicho miembro.

Arreglos rápidos para problemas de código en ReSharper

JSON: Ejemplo de añadir propiedad obligatoria faltante

En los archivos JSON, ReSharper usa su conocimiento sobre todas las propiedades requeridas provenientes de esquemas JSON vinculadas para sugerir arreglos rápidos para las propiedades obligatorias faltantes.

Arreglos rápidos para problemas de código en ReSharper

CSS: Ejemplo de eliminar componente alfa

CSS nivel 3 e inferior no permiten un canal alfa en la notación de colores hexadecimal. Por lo tanto, ReSharper le sugiere ya sea sustituir el color hexadecimal con un color RGBA o HSLA, o simplemente eliminar el valor de canal alfa.