This post is out-of-date! For the latest version, go here: "Useful Eclipse Templates for Faster Coding".
In this post, I will share some of my Eclipse Java Code Templates. Templates are simply "magic words" or shortcuts to standard blocks of code or text. They are very handy because once you have them setup you don't have to waste time writing boilerplate code any more! An example of a pre-defined template in Eclipse issysout
which expands to System.out.println();
. All you have to do is type sysout
followed by Ctrl+Space
to insert the statement in your java source file.
To see what templates are defined in Eclipse:
- Open your Preferences dialog by going to Windows > Preferences
- On the navigation tree on the left, go to Java > Editor > Templates
- You will see a list of pre-defined templates
- You can add new ones by pressing the "New..." button
logger
Context: Java statements
Description: create new Logger
Pattern:
${:import(org.apache.log4j.Logger)} private static final Logger logger = Logger.getLogger(${enclosing_type}.class);2. logd Name:
logd
Context: Java statements
Description: logger debug
Pattern:
if(logger.isDebugEnabled()) logger.debug(${word_selection}${});${cursor}3. logi Name:
logi
Context: Java statements
Description: logger info
Pattern:
logger.info(${word_selection}${});${cursor}4. logerr Name:
logerr
Context: Java statements
Description: logger error
Pattern:
logger.error(${errorMessage}, ${e});5. readfile Name:
readfile
Context: Java
Description: read text from file
Pattern:
${: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}6. for (iterate over map) Name:
for
Context: Java statements
Description: iterate over map
Pattern:
for(Map.Entry<${key:argType(map,0)},${value:argType(map,1)}> entry : ${map:var(java.util.Map)}.entrySet()) { ${key} key = entry.getKey(); ${value} value = entry.getValue(); ${cursor} }Do YOU have any useful templates? If so, share them in the comments!
Neat, but where's that Java projectile game you promised?
ReplyDeleteName: Singleton
ReplyDeleteContext: Java type members
Description: Singleton design pattern
Pattern:
private static ${enclosing_type} INSTANCE;
private ${enclosing_type}(){
// TODO Auto-generated constructor stub
}
/**
* Retrieves the single instance of ${enclosing_type}.
* @return The instance of ${enclosing_type}.
*/
public static ${enclosing_type} getInstance(){
if (INSTANCE == null)
INSTANCE = new ${enclosing_type}();
return INSTANCE;
}
${cursor}
This singleton isn't thread-safe.
ReplyDeleteThe readfile template is cool.
ReplyDeleteGood Contents!
ReplyDeleteAny way of doing string manipulation on the variables?
ReplyDeleteI want to have a private member mFoo back [gs]etters with signature source like
ReplyDeletepublic void setFoo(${enclosing_type} pFoo);
public ${enclosing_type} getFoo() ;
...so I'm looking for a way of going from 'mFoo' to 'Foo'.
seems in.close throws an exception
ReplyDelete