特殊代码模板语法
您可以使用代码模板,加快输入一系列常用的保留字和常用代码模式的速度。例如,如果输入 forc 并按 Tab 键,它将扩展为以下内容:
for (Iterator it = collection.iterator(); it.hasNext();) {
Object elem = (Object) it.next();
}
在创建代码模板时,可以使用几种结构来定制代码模板的工作方式。在“工具”菜单下面的“选项”窗口中,可以查看缺省的 IDE 代码模板,从中可以了解这些示例。
通常,代码模板参数可以由其名称和一组可选提示指定。在计算由基础结构赋给参数(位于模板扩展中)的值时,可以将这些提示作为指导信息。参数定义的语法如下所示:
${param_name hint=value hint=value ...}
不过,可以编写不包含 value 部分的布尔提示:
${param_name hint} 转成 ${param_name hint=true}
某些参数名称是代码模板基础结构的保留名称:
- ${cursor} 定义在编辑完代码模板值后插入记号所在的位置。
- ${selection} 定义用于粘贴编辑器选择内容的位置,每次用户在编辑器中选择文本时,作为提示显示的“选择模板”将使用该位置。
同样,某些提示名称是代码模板基础结构的保留名称:
- ${param_name default="value"} 定义参数的缺省值。
- ${param_name editable=false} 可用于禁止用户编辑参数。
- ${param_name instanceof="java.util.Collection"} 要求参数值为给定类型的实例。
- ${param_name array} 要求参数值为数组类型(包括基本数据类型的数组)。
- ${param_name iterable} 要求参数值为数组类型或 "java.lang.Iterable" 的实例。可以在 'for-each' 循环中使用。
- ${param type="java.util.Iterator"} 要求参数值为给定类型。如果可能,基础结构将尝试使用短名称迭代器并导入 java.util.Iterator。
- ${param_name iterableElementType} 要求参数值为 iterable 元素的类型。可以在 'for-each' 循环中使用。
- ${param_name leftSideType} 要求参数值为赋值语句左侧的表达式类型。
- ${param_name rightSideType} 要求参数值为赋值语句右侧的表达式类型。
- ${param_name cast} 定义应为强制类型转换的参数值(如有必要)。
- ${param_name newVarName} 定义参数值应为在给定上下文中未使用(全新)的变量名称。
法律声明