- 代码模板:用于生成完整的代码结构,如类、方法、
for循环等,通常通过输入缩写后按Alt + /(或Ctrl + Space) 触发。 - 代码片段:用于生成一小段可自定义的代码片段,通常在输入缩写后按
Tab键触发。
下面我将详细介绍这两类模板的使用方法和一些常用模板的配置。

代码模板
代码模板是 Eclipse 最核心的自动补全功能之一。
如何管理代码模板?
你可以通过以下步骤查看和修改所有可用的代码模板:
- 打开 Eclipse,进入菜单栏:
Window->Preferences(在 macOS 上是Eclipse->Preferences)。 - 在弹出的窗口中,导航到
Java->Editor->Templates。
在这个界面,你可以:
- 查看:右侧的
Pattern字段显示了模板的具体内容。 - 编辑:选中一个模板,点击
Edit按钮,可以修改其内容。 - 新建:点击
New按钮,可以创建一个完全属于你自己的模板。 - 删除:选中一个模板,点击
Delete按钮。 - 导入/导出:你可以将自己的模板配置导出为
.xml文件,方便在团队或不同电脑间分享。
常用内置代码模板示例
以下是一些非常实用的内置模板,以及它们的缩写和作用:

| 缩写 | 触发方式 | 作用 | |
|---|---|---|---|
main |
Alt + / |
快速生成 main 方法 |
public static void main(String[] args) {<br> ${cursor}<br>} |
sysout |
Alt + / |
快速生成 System.out.println() |
System.out.println(${word_selection}${cursor}); |
syserr |
Alt + / |
快速生成 System.err.println() |
System.err.println(${word_selection}${cursor}); |
for |
Alt + / |
生成一个标准的 for 循环 |
for (${iterable_type} ${iterable_element} : ${iterable}) {<br> ${cursor}<br>} |
fori |
Alt + / |
生成一个带索引的 for 循环 |
for (int ${index} = 0; ${index} < ${array}.length; ${index}++) {<br> ${type} ${element} = ${array}[${index}];<br> ${cursor}<br>} |
while |
Alt + / |
生成一个 while 循环 |
while (${condition}) {<br> ${cursor}<br>} |
if |
Alt + / |
生成一个 if 语句 |
if (${condition}) {<br> ${cursor}<br>} |
ifn |
Alt + / |
生成一个 if (variable == null) 语句 |
if (${var} == null) {<br> ${cursor}<br>} |
inn |
Alt + / |
生成一个 if (variable != null) 语句 |
if (${var} != null) {<br> ${cursor}<br>} |
try |
Alt + / |
生成一个 try-catch 块 |
try {<br> ${cursor}<br>} catch (${ExceptionType} e) {<br> // TODO Auto-generated catch block<br> e.printStackTrace();<br>} |
tryf |
Alt + / |
生成一个 try-finally 块 |
try {<br> ${cursor}<br>} finally {<br> // TODO: something in finally<br>} |
new |
Alt + / |
快速创建一个对象实例(需要先输入类型) | new ${type}(${cursor}) |
mtd |
Alt + / |
快速生成一个标准的 getter 方法 | public ${type} ${get}${field_name_capitalized}() {<br> return this.${field_name};<br>} |
msc |
Alt + / |
快速生成一个标准的 setter 方法 | public void ${set}${field_name_capitalized}(${type} ${field_name}) {<br> this.${field_name} = ${field_name};<br>} |
ctor |
Alt + / |
在一个类中,生成构造函数(需要先选中类名) | public ${ enclosing_type }(${cursor}) {<br> // TODO Auto-generated constructor stub<br>} |
模板中的变量
中的 部分是变量,它们会在你使用模板时被自动替换:
${cursor}:光标最终停留的位置。${word_selection}:如果你在输入模板缩写前选中了某个词,这个词会出现在这里。${iterable}:循环的集合或数组名称。${iterable_element}:循环中的元素变量名。${index}:fori循环中的索引变量名。${condition}:if或while语句中的条件。${var}:ifn或inn中的变量名。${type}:变量的数据类型。${field_name}:字段名(小写)。${field_name_capitalized}:字段名(首字母大写)。${enclosing_type}:当前所在的类名。
代码片段
代码片段比代码模板更轻量级,通常用于快速插入一小段自定义的代码。
如何管理代码片段?
代码片段的管理路径与代码模板不同:
- 打开
Window->Preferences。 - 导航到
Java->Editor->Code Templates。 - 在
Code Templates界面,切换到Code Snippets标签页。
你可以:

- 新建文件夹:用来分类管理你的代码片段。
- 新建代码片段:点击
New,然后填写以下信息:- Name:片段的名称,用于在代码提示列表中显示。
- Description:片段的描述。
- Pattern:片段的具体代码内容。
- Shortcuts:触发片段的快捷缩写(多个用逗号分隔)。
- Context:这个片段在哪些上下文中可用(Java Editor, Javadoc 等)。
自定义代码片段示例
假设你经常需要打印当前方法的执行日志,你可以创建一个这样的代码片段:
- 在
Code Snippets页面,点击New。 - Name:
log-method-entry - Description:
Prints a log message for method entry - Pattern:
// Entering method: ${enclosing_method} System.out.println("Entering method: ${enclosing_method}"); - Shortcuts:
logme - Context: 确保
Java Editor被勾选。
如何使用:
在你的 Java 代码中,输入 logme,然后直接按 Tab 键,Eclipse 就会自动插入这段日志代码,${enclosing_method} 会自动替换为当前所在的方法名。
高级技巧:自定义模板
假设你想创建一个模板,用于快速生成一个带 @Override 注解的 toString() 方法。
- 打开
Window->Preferences->Java->Editor->Templates。 - 点击
New。 - Name:
toString - Description:
Override toString() method - Pattern:
@Override public String toString() { return "${type_name} [<br>\t${cursor}<br>]"; } - 点击
OK保存。
如何使用:
在你的类中,输入 toString,然后按 Alt + /,Eclipse 就会为你生成这个方法。${type_name} 是一个内置变量,会自动替换为当前类的名称。
| 功能 | 触发方式 | 主要用途 | 管理位置 |
|---|---|---|---|
| 代码模板 | Alt + / (或 Ctrl + Space) |
生成标准、结构化的代码块(方法、循环、异常处理等) | Window -> Preferences -> Java -> Editor -> Templates |
| 代码片段 | Tab 键 |
插入一小段高度自定义、可重用的代码片段 | Window -> Preferences -> Java -> Editor -> Code Templates -> Code Snippets |
熟练掌握和使用这些模板,可以让你从重复的、模板化的代码编写中解放出来,专注于业务逻辑的实现,从而显著提升开发效率和代码质量,建议你花一些时间浏览和修改内置模板,并根据个人习惯创建一些自定义模板,这将让你的 Eclipse IDE 更加强大和个性化。
