Klasse in Eclipse extrahieren

7

Das muss möglich sein, aber ich kann es in Eclipse einfach nicht herausfinden. Ich habe

%Vor%

und ich möchte Klasse B auswählen und in eine eigene Datei extrahieren, so dass ich bekomme:

%Vor%

und

%Vor%

Wie mache ich das in Eclipse?

    
Ztyx 01.11.2010, 13:38
quelle

5 Antworten

11

So machen Sie das (funktioniert in Eclipse 3.5):

  1. Wählen Sie Ihren Code zum Extrahieren:

    %Vor%
  2. Ausschneiden

  3. Klicken Sie mit der rechten Maustaste auf das Paket, in das Sie es einfügen möchten

  4. Wählen Sie Einfügen. (Dann Importe organisieren falls erforderlich.)

aioobe 01.11.2010, 13:49
quelle
6

In meinem Eclipse (3.6 - Helios SR1) markiere ich den Typnamen ( B ), dann klicke mit der rechten Maustaste für das Popup-Menü und wähle dann Refactor & gt; Move Type to New File ... .

Bearbeiten: Es wurde in früheren Versionen 'Elementtyp in oberste Ebene konvertieren' umbenannt, wurde jedoch aktualisiert, um mit mehr als nur Elementtypen zu arbeiten:

Ссылка

  

Verschieben Sie den Typ in das Refactoring für neue Dateien.

     

Der Member-Typ wird in die oberste Ebene konvertiert   Refactoring wurde in Move umbenannt   Tippen Sie auf "Neue Datei" und lassen Sie nun alle Dateien zu   Sekundärtyp in einer Datei, die verschoben werden soll   in eine eigene Datei. Die Aktion   funktioniert weiterhin für Elementtypen.

    
Bert F 01.11.2010 13:48
quelle
1

Wenn es keine spezifische Funktion gibt, dann erstellen Sie die neue Klasse, kopieren und fügen Sie den Inhalt von B ein und drücken dann STRG - SHIFT - O > In beiden Dateien (oder zumindest A.java) sollten die Importe bereinigen, sollte es tun.

Es ist nicht sehr üblich, nach etwas zu fragen, und es ist ziemlich einfach manuell zu machen.

Bearbeiten: Sie können auch B.java erstellen und dann Refactoring- & gt; Bewegen auf B in Ihrem A.java verwenden, um es nach B.java zu verschieben. Es schien jedoch nicht die Importe zu kopieren, als ich das tat, während ich beim manuellen Kopieren und Einfügen die importierten Dateien automatisch packte.

    
Mark Peters 01.11.2010 13:42
quelle
1

Es gibt keine Funktion, die ich kenne. Sie müssen eine Java-Datei Ihrer Wahl erstellen und die Klasse in der neuen Datei ausschneiden und einfügen. Korrigieren Sie die Import- und Paketdeklarationsnamen (falls erforderlich).

BEARBEITEN Die beste Methode: Erstellen Sie einfach eine leere Datei B.java , gehen Sie zurück zu A.java , markieren Sie B.java und klicken Sie mit der rechten Maustaste und wählen Sie Refactor -> Move ( Alt+Shift+V kurz). Es wird die Klasse B nach B.java verschieben.

Ich habe getestet und es funktioniert. Möglicherweise müssen Sie Importe ggf. verwalten.

    
Buhake Sindi 01.11.2010 13:47
quelle
0

Platziere den Caret irgendwo innerhalb der Klasse B (vielleicht muss er innerhalb des Klassennamens sein). Wählen Sie Refactor -> Move type to new File .

(Das ist der Aktionsname in Eclipse 3.6. Ich glaube an frühere Versionen war es Move member type to top level )

Referenz:

Sean Patrick Floyd 01.11.2010 13:49
quelle

Tags und Links