Je ne parviens pas à trouver l'option refactor correcte pour le scénario suivant:Comment refactoriser une classe interne statique en une classe de niveau supérieur dans Eclipse?
J'ai le code comme ceci (en Outer.java):
public class Outer {
// ... class stuff
public static class Inner {
// ... inner class stuff
}
}
Je cherche un moyen de sélectionner intérieure, et avoir converti en une classe de premier niveau, dans son propre fichier source .java
. Je sais que c'est assez facile à faire manuellement avec copier/coller etc., mais la classe interne est référencée dans beaucoup d'endroits, et je voudrais que l'option refactor gère le changement partout où il est référencé.
J'ai essayé l'option Refactor -> Extract Class...
mais cela fait quelque chose de bizarre avec un champ appelé data
que je ne comprends pas très bien.
La version d'Eclipse est 3.5.1 Galileo.
Comment refactoriser une classe interne statique pour qu'elle soit une classe de niveau supérieur?
Éditer: Je ne peux pas croire que j'ai ignoré l'option de le faire. Merci pour toutes vos bonnes réponses, +1 à vous tous. J'aurai toujours besoin d'accepter une réponse, donc s'il y a d'autres informations utiles, par ex. gotchas avec le script, il y a toujours un but de laisser une réponse.
Il semble que dans le Helios libérer la fonctionnalité a été renommé « Déplacer type au nouveau fichier ... ». – ArtB
Et assurez-vous de sélectionner uniquement la classe/interface, pas tout son contenu, aussi. – xamde
C'est peut-être facile, mais je l'ai trouvé en lisant cette réponse! – reinierpost