Asistencias rápidas para editar
Usando refactorizaciones localizadas para ser más productivo
¿Pasas demasiado tiempo realizando tareas repetitivas mientras programas? Si es así, entonces tengo buenas noticias para ti. Muchas de las tareas repetitivas se pueden realizar automáticamente usando una funcionalidad que llamamos asistencias rápidas.
Una asistencia rápida es una edición automatizada orientada a realizar un cambio común en el código. A diferencia de una corrección rápida, que vimos en Correcciones rápidas para problemas de análisis y Aplicación masiva de correcciones, la presencia de una asistencia rápida no es una sugerencia de que deberías cambiar tu código, simplemente está ahí para facilitarte el trabajo.
Veamos un par de ejemplos.
Declarar variables locales
#Probablemente pasas bastante tiempo declarando e inicializando variables locales. Las herramientas pueden ayudar con parte de eso. Si escribes la expresión de inicialización, puedes usar una asistencia rápida para crear una variable local que capture el valor de la expresión.
Si comienzas con el código siguiente y colocas el cursor en cualquier parte de la expresión, aparecerá el icono de bombilla cerca del borde izquierdo del editor. Si pasas el cursor por encima, puedes hacer clic para abrir un menú que contiene las asistencias rápidas disponibles.
Al elegir la asistencia se inserta una declaración de variable, usando la expresión como inicializador, y se selecciona el nombre de la variable para que puedas elegir uno de los nombres sugeridos o escribir el tuyo propio:
Presionar la tecla enter/return acepta el nombre introducido.
Estilos de cuerpo de función
#Si usas frecuentemente funciones con cuerpo de expresión, probablemente hayas necesitado convertir una en una función con cuerpo de bloque en algún momento. Hay una asistencia para eso también. Por ejemplo, si tienes código como el siguiente y colocas el cursor dentro de la flecha, verás las siguientes opciones:
Al seleccionar “Convertir a cuerpo de bloque” se reescribe el cuerpo de la función para que se vea así:
Y, sí, hay otra asistencia que convierte de un cuerpo de bloque a un cuerpo de expresión.
Reescribir sentencias if
#Las asistencias también pueden ayudar con reestructuraciones más grandes. Si alguna vez has escrito código estructurado así:
void f(int a, int b, int c, int d) {
if (a == b) {
if (a == c || a == d) {
print(0);
}
}
}
y te diste cuenta de que podrías combinar las dos condiciones, hay una asistencia para eso. Coloca el cursor en el
if interno y abre el menú:
Al seleccionar “Unir sentencia ‘if’ con sentencia ‘if’ externa” se reescribe el código para que se vea así:
void f(int a, int b, int c, int d) {
if (a == b && (a == c || a == d)) {
print(0);
}
}
La asistencia también aparece si colocas el cursor en el if externo, aunque entonces el menú dice “Unir sentencia ‘if’ con sentencia ‘if’ interna”.
Usar funcionalidades más recientes del lenguaje
#También hay asistencias para ayudarte a convertir a funcionalidades más recientes del lenguaje. Por ejemplo, si tienes una clase como esta:
class A {
A({int? x, int? y});
}
class B extends A {
B({int? x, int? y}) : super(x: x, y: y);
}
donde el constructor de la subclase pasa algunos parámetros a la superclase sin modificarlos, hay una forma más limpia de escribir el código. Coloca el cursor en el nombre del constructor
B y abre el menú:
Al seleccionar “Convertir a uso de super parámetros” se reescribe el código para que se vea así:
Hay más asistencias disponibles de las que podemos cubrir en un solo artículo. La próxima vez que te encuentres a punto de realizar una edición que haces todo el tiempo, revisa las acciones de contexto para ver si hay una asistencia que facilite la tarea.
Más de Dart
Dart en Google Summer of Code 2026
¡Estamos emocionados de anunciar que el proyecto Dart será mentor de contribuidores por séptima vez en Google Summer of Code 2026!
Resultados de Google Summer of Code 2025
El programa Google Summer of Code (GSoC) se enfoca en involucrar a nuevos desarrolladores de todo el mundo con el desarrollo de software de código abierto. Google…