Acciones de refactorización

Mandatos del menú Refactorizar:

Nombre

Descripción

Redenominar

Redenomina el elemento seleccionado y (si está habilitado) corrige todas las referencias a los elementos (también en otros archivos).
Disponible: Métodos, parámetros de método, campos, variables locales, tipos, parámetros de tipo, constantes de enumeración, unidades de compilación, paquetes, carpetas fuente y proyectos, así como en una selección de texto que se resuelva en uno de estos tipos de elementos.
Acceso directo: Alt + Mayús + R
Opciones: La redenominación de un tipo permite redenominar variables y métodos con nombres parecidos. Habilite 'Actualizar variables y métodos con nombres parecidos' en el diálogo Redenominar tipo. Seleccione 'Configurar...' para configurar la estrategia de nombres de tipo coincidentes.

La redenominación de un paquete permite redenominar los subpaquetes correspondientes. Habilite 'Redenominar subpaquetes' en el diálogo Redenominar paquete.

Mover

Mueve los elementos seleccionados y (si está habilitada) corrige todas las referencias a los elementos (también en otros archivos).
Disponible: Método de instancia (que puede moverse a un componente), uno o varios métodos estáticos, campos estáticos, tipos, unidades de compilación, paquetes, carpetas fuente y proyectos y en una selección de texto que se resuelva en uno de estos tipos de elemento
Acceso directo: Alt + Mayús + V
Opciones: Puede utilizar Arrastrar y soltar en el Explorador de paquetes para iniciar esta refactorización.
Cambiar signatura de método Cambia los nombres, los tipos y el orden de los parámetros y actualiza todas las referencias al método correspondiente. Además, es posible añadir o eliminar parámetros, así como cambiar el tipo de retorno de los métodos y su visibilidad.
Disponible: Métodos o en una selección de texto que se resuelva en un método
Opciones: Habilite 'Mantener método original como delegado para método cambiado' en el diálogo Cambiar signatura de método para mantener el método original.
Extraer método Crea un método nuevo que contiene las sentencias o la expresión seleccionada actualmente y sustituye la selección por una referencia al método nuevo. Esta característica es de utilidad para borrar métodos largos, confusos o demasiado complicados.
Disponible: La opción Ampliar selección a del menú Editar le permite obtener un rango de selección válido. 
Acceso directo: Alt + Mayús + M
Extraer variable local Crea una variable nueva asignada a la expresión seleccionada actualmente y sustituye la selección por una referencia a la variable nueva.
Disponible: Selecciones de texto que se resuelven en variables locales. La opción Ampliar selección a del menú Editar le permite obtener un rango de selección válido. 
Acceso directo: Alt + Mayús + L
Extraer constante Crea un campo estático final a partir de la expresión seleccionada, sustituye una referencia al campo y, opcionalmente, reescribe los otros lugares en los que aparece la misma expresión.
Disponible: Expresiones constantes o selecciones de texto que se resuelven en expresiones constantes
Incorporar Incorpora variables locales, métodos o constantes.
Disponible: étodos, campos estáticos finales y selecciones de texto que se resuelven en métodos, campos estáticos finales o variables locales
Acceso directo: Alt + Mayús + I
Convertir clase anónima en anidada Convierte una clase interna anónima en una clase de miembro.
Disponible: Clases internas anónimas
Convertir tipo de miembro a nivel superior Crea una unidad de compilación Java nueva para el tipo de miembro seleccionado y actualiza todas las referencias en la medida de lo necesario. En el caso de los tipos de miembros no estáticos, se añade un campo para permitir acceder a la instancia delimitadora anterior, si es necesario.
Disponible: Tipos de miembro o texto que se resuelva en un tipo de miembro
Convertir variable local en campo Permite convertir una variable local en un campo. Si la variable se inicializa en el momento de su creación, la operación mueve la inicialización a la declaración del campo nuevo o a los constructores de la clase.
Disponible: Selecciones de texto que se resuelven en variables locales
Extraer superclase Extrae una superclase común de un conjunto de tipos hermanos. Los tipos hermanos seleccionados se convierten en subclases directas de la superclase extraída después de aplicar la refactorización.
Disponible: Tipos
Opciones: Habilite 'Utilizar la clase extraída cuando sea posible' para utilizar la clase recién creada siempre que sea posible. Consulte Utilizar supertipo cuando sea posible.
Extraer interfaz Crea una interfaz nueva con un conjunto de métodos y hace que la clase seleccionada implemente la interfaz.
Disponible: Tipos
Opciones: Habilite 'Utilizar el tipo de interfaz extraído cuando sea posible' para utilizar la interfaz recién creada siempre que sea posible. Consulte Utilizar supertipo cuando sea posible.
Utilizar supertipo donde sea posible Sustituye las apariciones de un tipo por uno de sus supertipos después de identificar todos los lugares en los que resulta posible esta sustitución.
Disponible: Tipos
Degradar Mueve un conjunto de métodos y campos de una clase a sus subclases.
Disponible: Uno o más métodos y campos declarados en el mismo tipo o una selección de texto dentro de un campo o un método
Promover Mueve un campo o un método a una superclase de su clase declarante o (en el caso de los métodos) declara el método como abstracto en la superclase.
Disponible: Uno o más métodos, campos y tipos de miembro declarados en el mismo tipo o una selección de texto dentro de un campo, método o tipo de miembro.
Introducir direccionamiento indirecto Crea un método de direccionamiento indirecto estático que delega en el método seleccionado.
Disponible: Métodos o en una selección de texto que se resuelva en un método
Opciones: Habilitar 'Redireccionar todas las invocaciones de método' para sustituir todas las llamadas al método original por llamadas al método de direccionamiento indirecto.
Introducir fábrica Crea un método de fábrica nuevo que llamará a un constructor seleccionado y devolverá el objeto creado. Todas las referencias al constructor se sustituirán por llamadas al nuevo método de fábrica.
Disponible: Declaraciones de constructor
Introducir parámetro Sustituye una expresión por una referencia a un nuevo parámetro de método y actualiza todos los llamadores del método para que pasen la expresión como valor de ese parámetro.
Disponible: Selecciones de texto que se resuelven en expresiones
Encapsular campo Sustituye todas las referencias a un campo por métodos get y set.
Disponible: Campo o una selección de texto que se resuelve en un campo
Generalizar tipo declarado Permite al usuario elegir un supertipo del tipo actual de la referencia. Si la referencia puede cambiar sin correr riesgos, pasando a ser una referencia al nuevo tipo, el cambio se lleva a cabo.
Disponible: Referencias y declaraciones de tipo de los campos, variables locales y parámetros con tipos de referencia
Inferir argumentos de tipos genéricos Sustituye las apariciones en bruto de los tipos genéricos por tipos parametrizados, tras identificar todos los lugares en que resulta posible esta sustitución.
Disponible: Proyectos, paquetes y tipos
Opciones: 'Suponer que clone() devuelve una instancia del tipo receptor'. Por lo general, las clases con buen comportamiento respetan esta regla, pero si se sabe que el código la va a violar, hay que quitar la marca de este recuadro.

'Dejar argumentos de tipo no restringidos en bruto (en lugar de inferir <?>)'. Si no hay restricciones en los elementos de, por ejemplo, ArrayList a y se quita la marca de este recuadro, Eclipse todavía proporcionará un parámetro comodín que sustituye la referencia por ArrayList<?>.
Migrar archivo JAR Migra un archivo JAR en la vía de acceso de construcción de un proyecto en el espacio de trabajo a una versión nueva, posiblemente utilizando la información de refactorización almacenada en el archivo JAR nuevo para evitar romper los cambios.
Disponible: Archivos JAR en la vía de construcción
Crear script Crea un script de las refactorizaciones que se han aplicado en el espacio de trabajo. Los scripts de refactorización pueden guardarse en un archivo o copiarse en el portapapeles. Consulte Aplicar script.
Disponible: Siempre
Aplicar script Aplica un script de refactorización a los proyectos del espacio de trabajo. Los scripts de refactorización pueden cargarse de un archivo o del portapapeles. Consulte Crear script.
Disponible: Siempre
Historial Examina el historial de refactorización del espacio de trabajo y ofrece la opción de suprimir las refactorizaciones del historial de refactorizaciones.
Disponible: Siempre

Los mandatos de refactorización también están disponibles en los menús contextuales de muchas vistas y en el editor Java.

Conceptos relacionados

Soporte de refactorización

Consulta relacionada

Diálogos de refactorización
Preferencias Java