522 Stimmen

Suche nach nützlichen Eclipse-Java-Code-Vorlagen

Sie können verschiedene Java-Code-Vorlagen in Eclipse erstellen über

Fenster > Voreinstellungen > Java > Editor > Vorlagen

z.B..

sysout wird erweitert auf:

System.out.println(${word_selection}${});${cursor}

Sie können dies aktivieren, indem Sie Folgendes eingeben sysout gefolgt von CTRL+SPACE

Welche nützlichen Java-Code-Vorlagen verwenden Sie derzeit? Nennen Sie den Namen und die Beschreibung der Vorlage und warum sie so toll ist.

Ich suche eher nach einer originellen/neuartigen Verwendung einer Vorlage als nach einer eingebauten bestehenden Funktion.

  • Log4J-Logger erstellen
  • Swt-Farbe vom Display abrufen
  • Syncexec - Eclipse-Framework
  • Singleton-Muster/Enum-Singleton-Generierung
  • Readfile
  • Konst
  • Spurensuche
  • Format Zeichenfolge
  • Überprüfung des Kommentar-Codes
  • String-Format
  • Versuchen Sie Finally Lock
  • Nachrichtenformat i18n und Protokoll
  • Equalsbuilder
  • Hashcodebuilder
  • Spring Objekt Injektion
  • FileOutputStream erstellen

428voto

Robert Munteanu Punkte 64955

Die folgenden Code-Vorlagen erstellen sowohl einen Logger als auch die richtigen Importe, falls erforderlich.

SLF4J

${:import(org.slf4j.Logger,org.slf4j.LoggerFactory)}
private static final Logger LOG = LoggerFactory.getLogger(${enclosing_type}.class);

Log4J 2

${:import(org.apache.logging.log4j.LogManager,org.apache.logging.log4j.Logger)} 
private static final Logger LOG = LogManager.getLogger(${enclosing_type}.class); 

Log4J

${:import(org.apache.log4j.Logger)}
private static final Logger LOG = Logger.getLogger(${enclosing_type}.class);

Quelle .

JUL

${:import(java.util.logging.Logger)}
private static final Logger LOG = Logger.getLogger(${enclosing_type}.class.getName());

49voto

Jon Punkte 58858

Einige zusätzliche Vorlagen hier: Link I - Verbindung II

Ich mag das hier:

readfile

 ${:import(java.io.BufferedReader,  
           java.io.FileNotFoundException,  
           java.io.FileReader,  
           java.io.IOException)}  
 BufferedReader in = null;  
 try {  
    in = new BufferedReader(new FileReader(${fileName}));  
    String line;  
    while ((line = in.readLine()) != null) {  
       ${process}  
    }  
 }  
 catch (FileNotFoundException e) {  
    logger.error(e) ;  
 }  
 catch (IOException e) {  
    logger.error(e) ;  
 } finally {  
    if(in != null) in.close();  
 }  
 ${cursor} 

UPDATE : Die Java 7 Version dieser Vorlage ist:

${:import(java.nio.file.Files,
          java.nio.file.Paths,
          java.nio.charset.Charset,
          java.io.IOException,
          java.io.BufferedReader)}
try (BufferedReader in = Files.newBufferedReader(Paths.get(${fileName:var(String)}),
                                                 Charset.forName("UTF-8"))) {
    String line = null;
    while ((line = in.readLine()) != null) {
        ${cursor}
    }
} catch (IOException e) {
    // ${todo}: handle exception
}

33voto

jamesh Punkte 19377

Formatieren einer Zeichenkette

MessageFormat - umgibt die Auswahl mit einem MessageFormat.

 ${:import(java.text.MessageFormat)} 
 MessageFormat.format(${word_selection}, ${cursor})

So kann ich den Cursor auf eine Zeichenfolge setzen, die Auswahl auf die gesamte Zeichenfolge erweitern (Umschalt-Alt-Auf) und dann zweimal Strg-Leertaste drücken.

Sperren der Auswahl

lock - umgibt die ausgewählten Zeilen mit einem try finally lock. Setzen Sie das Vorhandensein einer Sperrvariablen voraus.

${lock}.acquire();
try {
    ${line_selection}
    ${cursor}
} finally {
    ${lock}.release();
}

NB ${line_selection} Vorlagen erscheinen in der Umgeben mit Menü (Alt-Umschalt-Z).

28voto

mmdemirbas Punkte 8840

Codefragment anhängen, um zu iterieren Map.entrySet() :

Vorlage:

${:import(java.util.Map.Entry)}
for (Entry<${keyType:argType(map, 0)}, ${valueType:argType(map, 1)}> ${entry} : ${map:var(java.util.Map)}.entrySet())
{
    ${keyType} ${key} = ${entry}.getKey();
    ${valueType} ${value} = ${entry}.getValue();
    ${cursor}
}

Generierter Code:

for (Entry<String, String> entry : properties.entrySet())
{
    String key = entry.getKey();
    String value = entry.getValue();
    |
}

Screenshot

28voto

questzen Punkte 3208

Ich weiß, dass ich hier eine tote Stelle angreife, aber ich wollte dies der Vollständigkeit halber mitteilen:

Eine korrekte Version der Vorlage für die Erzeugung von Singletons, die das fehlerhafte Design der doppelt geprüften Sperren überwindet (oben diskutiert und an anderer Stelle erwähnt)

Singleton-Erstellungsvorlage: Diesen Namen createsingleton

static enum Singleton {
    INSTANCE;

    private static final ${enclosing_type} singleton = new ${enclosing_type}();

    public ${enclosing_type} getSingleton() {
        return singleton;
    }
}
${cursor}

Für den Zugriff auf die mit den obigen Methoden erzeugten Singletons:

Singleton-Referenz Vorlage: Diesen Namen getsingleton :

${type} ${newName} = ${type}.Singleton.INSTANCE.getSingleton();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X