2010-04-11 4 views
51

Gibt es eine CTRL + -Raum-artige Methode zum "automatischen Konstruieren" eines Switch-Falls um eine gegebene Java Enum in Eclipse? Ich möchte einen Stub mit allen Enum-Hüllen ...Eclipse: Java Enum automatische Vervollständigung des Switch-Gehäuses

+0

Gerade falls Sie noch nicht wissen, Sie * kann * erhalten Eklipse für Sie in jeder 'case' Anweisung zu füllen (geben Sie einfach' case' und dann ctrl-Raum), die bereits spart angemessene Menge an Zeit. Es wird automatisch Werte ausschließen, die Sie bereits verwendet haben, aber es garantiert nicht, dass Sie eines nicht vergessen, wie die Vorlage, die Sie vorschlagen. – MatrixFrog

Antwort

111

Es hat sich seit Jahren in Eclipse gewesen. Es ist zugegebenermaßen nur ein bisschen schwer zu finden. Erster Start mit

switch (myEnum) { 

} 

An diesem Punkt würden Sie den Cursor in der Regel innerhalb des Anweisungsblocks {} sein. Sie müssen Ihren Fehler mit dem Schlüsselwort switch zurück in die Zeile setzen und Ctrl + drücken und auswählen. Fügen Sie die fehlenden Fallanweisungen hinzu. Auf diese Weise wird es möglich case einfügen.

alt text

Sie würden intuitiv diese Option erwarten innerhalb der Anweisungsblock {} auch verfügbar sein, aber nein.


aktualisieren: seit Eclipse-Kepler (oder vielleicht schon Juno, aber es ist so instabil, dass ich nie benutzt es wirklich), diese Option ist schließlich verfügbar über Ctrl + im statement blockieren Sie auch.

enter image description here

+1

Eclipse hat so viele Funktionen, die großartig sind, aber schwer zu finden. Gibt es gute schnelle Referenzen? Es gab einen kürzlichen SO-Thread, der viele gute Tipps hatte. –

+4

@ Jon: http://stackoverflow.com/questions/54886/hidden-features-of-eclipse – BalusC

+3

Danke! Diese Antwort hat mir geholfen, eine ähnliche Technik für NetBeans zu entdecken. Nachdem Sie 'switch (myEnum)' eingegeben haben, setzen Sie Ihren Cursor in das '(' '' 'und drücken Sie Alt + Enter für eine Option, um fehlende Fallsätze hinzuzufügen." –

0

Sie können Ihre eigenen Code-Vorlagen hinzufügen mit: Windows-> Einstellungen-> Java-> Editor-> Vorlagen.

Sobald Sie eine Codevorlage hinzugefügt haben, geben Sie genügend Zeichen des Vorlagennamens ein, um ihn eindeutig zu machen. Geben Sie STRG + Leerzeichen ein; und Ihr definierter Code ersetzt die Schablonenamenzeichen.

Die Vorlage für Switch ist in Eclipse Galileo vordefiniert. sw + STRG + Leerzeichen sollte Ihnen eine switch-Anweisung geben. Möglicherweise müssen Sie eine vorhandene Vorlage anpassen, um Ihnen die Switch-Enum-Kombination zu geben.

3

Ich weiß nicht, ob dies als Vorlage möglich ist, weil die Vorlage wissen müsste, welchen Aufzählungstyp Sie verwenden. Aber Sie könnten ein kleines Skript schreiben, um die Anweisung für Sie auszudrucken, und dann einfach die Ausgabe in Ihre Quelldatei kopieren.

public class SwitchWriter { 
    public static void printSwitchStatement(String varName, Class<?> E) { 
    System.out.format("switch(%s) {\n", varName); 
    for (Object o : E.getEnumConstants()) { 
     System.out.format("case %s:\n // TODO: Auto-generated switch statement stub\n break;\n", o); 
    } 
    System.out.println("default:\n // TODO: Auto-generated switch statement stub\n}"); 
    } 
} 

Ausgabe von SwitchWriter.printSwitchStatement("action", java.awt.Desktop.Action.class):

switch(action) { 
case OPEN: 
    // TODO: Auto-generated switch statement stub 
    break; 
case EDIT: 
    // TODO: Auto-generated switch statement stub 
    break; 
case PRINT: 
    // TODO: Auto-generated switch statement stub 
    break; 
case MAIL: 
    // TODO: Auto-generated switch statement stub 
    break; 
case BROWSE: 
    // TODO: Auto-generated switch statement stub 
    break; 
default: 
    // TODO: Auto-generated switch statement stub 
} 
Verwandte Themen