Useful Eclipse Java Code Templates

You can create various Java code templates in Eclipse via

Window > Preferences > Java > Editor > Templates

eg

sysout is expanded to:

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

You can activate this by typing sysout followed by CTRL+SPACE

What useful Java code templates do you currently use?
Include the name and description of it and why it's awesome.

There's an open bounty on this for an original/novel use of a template rather than a built-in existing feature.

  • Create Log4J logger
  • Get swt color from display
  • Syncexec - Eclipse Framework
  • Singleton Pattern/Enum Singleton Generation
  • Readfile
  • Const
  • Traceout
  • Format String
  • Comment Code Review
  • String format
  • Try Finally Lock
  • Message Format i18n and log
  • Equalsbuilder
  • Hashcodebuilder
  • Spring Object Injection
  • Create FileOutputStream

  • The following code templates will both create a logger and create the right imports, if needed.

    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);
    

    Source.

    JUL

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

    Some additional templates here: Link I - Link II

    I like this one:

    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 : The Java 7 version of this template is:

    ${: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
    }
    

    Format a string

    MessageFormat - surround the selection with a MessageFormat.

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

    This lets me move a cursor to a string, expand the selection to the entire string (Shift-Alt-Up), then Ctrl-Space twice.

    Lock the selection

    lock - surround the selected lines with a try finally lock. Assume the presence of a lock variable.

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

    NB ${line_selection} templates show up in the Surround With menu (Alt-Shift-Z).

    链接地址: http://www.djcxy.com/p/15952.html

    上一篇: JSP技巧使模板更容易?

    下一篇: 有用的Eclipse Java代码模板