galileo软件
问题所在
无论您的项目或团队规模如何,在编辑代码库时都会出现两个问题:
- 缺乏一致性 —团队中的许多人编辑文件时,编码中的细微差异可能会渗入,并使代码更难于理解和维护。 如果代码出现差异,则搜索代码出现更为困难。 即使您自己工作,如果您忘记了以前编写代码的方式,每天也会有差异。
- 缺乏生产力 -节省击键次数可节省时间,因为键入是编辑代码的核心。 较大的代码段可能需要一些时间来键入,甚至复制,粘贴和更改以适应当前上下文。
在使用模板之前,弥补一致性和生产率差距的一种常见但手动的方法是复制和粘贴。 您搜索现有的代码库(或Internet),然后复制最接近您要执行的代码。 然后,您更改适用于您的应用程序的部分。
解决方案:使用模板
Eclipse中的模板是预定义的代码清单,其中包含一段在使用之间不会更改的代码。 例如,Java™代码中的for
循环无论在何处使用,都以相同的方式构造,除了inside
条件或循环更改变量之外。 模板包含保持不变的部分,并对变化的部分使用变量。
在Eclipse中使用模板是解决一致性和生产力问题的好方法。 使用模板,您可以编写一次代码,并充满信心地在整个应用程序中使用它。 否则,您甚至可能都没有考虑这一点。
本文介绍了如何:
- 调用模板
- 编辑范本
- 创建模板
- 利用模板中的变量
- 导出模板
- 导入模板
调用模板
调用模板很容易。 在编辑器中键入内容时,开始键入模板名称,然后使用Ctrl + Space调用代码完成。 名称与您键入的名称匹配的模板将显示在列表中(请参见图1)。
图1.从列表中选择模板
![图1显示名称与您键入的名称匹配的模板出现在列表中](https://i-blog.csdnimg.cn/blog_migrate/d84a83e4f8a221a98ba324a9669373b6.png)
如果再次按Ctrl + Space ,则Eclipse将继续循环浏览模板的类型。
要插入模板,请使用箭头键从列表中选择模板,然后按Enter 。 或者,您可以使用鼠标双击列表中的模板名称。
插入模板后,您将有机会输入变量的值。 使用Tab键在变量之间移动。
编辑模板
要编辑模板,请通过选择Window> Preferences来打开Eclipse Preferences 。 转到Java>编辑器>模板以查看现有模板。 要编辑现有模板,请在列表中单击它,然后单击“ 编辑” 。 出现Edit Template窗口(请参见图2)。
图2.编辑模板
![图2显示出现Edit Template窗口](https://i-blog.csdnimg.cn/blog_migrate/0dbe7e642657ae0c115188e05aa4052b.png)
表1描述了“编辑模板”窗口中的字段。
表1.“编辑模板”窗口的字段描述
领域 | 描述 |
---|---|
名称 | 模板的名称。 |
语境 | 模板的上下文。 Eclipse将模板选择限制为对上下文有效的选择。 例如,当您编辑XML文件时,Java语句不会出现。 |
自动插入 | 选中后,如果键入了模板的全名并调用了模板插入(例如,使用Ctrl + Space ),则Eclipse自动插入模板。 |
描述 | 描述模板,并显示在下拉列表中。 该描述有助于识别模板,因为名称不必唯一。 |
模式 | 作为模板插入的实际代码,包括您要Eclipse解析的所有变量。 |
您可以编辑模板的值,完成后,点击OK 。 要在编辑模板时插入内置变量,请点击插入变量 。 请参阅“利用模板中的变量”以了解有关可用变量的更多信息。
创建模板
要创建模板,请点击新建 。 按照“编辑模板”中的说明编辑值,然后单击确定 。 现在,新模板出现在列表中。 完成后,单击“ 确定”以编辑文件。
利用模板中的变量
使用模板的最大挑战之一是,了解内置变量在插入代码后将解决的问题。 这些变量可以自动插入诸如当前类型的名称,光标的位置或所选值之类的内容。 这些变量使您的模板更具动态性,并减少了在模板插入后需要对模板进行的手动更改。
考虑清单1中的模板代码。
清单1.日志声明的模板
${imp:import(java.util.logging.Logger)}
private static Logger logger = Logger.getLogger(${enclosing_type}.class.getName());
当插入Automobile
类时,代码类似于清单2。
清单2.插入日志记录声明后的Automobile
类
private static Logger logger = Logger.getLogger(Automobile.class.getName());
您可以看到该类的名称已为您解析。 这比复制和粘贴技术更好,在复制粘贴技术中,您忘记了更新类的名称。 由于声明中不正确的类名不会引发编译错误,因此您有可能会错过它,直到查看日志并想知道为什么语句不在期望的位置。
Logger的import语句也会自动添加到类顶部的Logger中。
表2列出并描述了Eclipse for Java模板随附的内置变量。
表2. Eclipse的Java模板的内置变量
变量 | 描述 | 例 |
---|---|---|
cursor | 将编辑器的光标放置在此位置。 | 不适用 |
date | 插入当前日期。 | Oct 20, 2009 |
dollar | 插入文字美元符号。 | $ |
elemType | 尝试猜测具有给定ID的元素的类型。 | MyType |
enclosing_method | 插入要插入模板的方法的名称。 | method() |
enclosing_method_arguments | 插入周围方法的参数。 | arg1, arg2 |
enclosing_package | 插入当前类的包的名称。 | com.example.ui |
enclosing_project | 插入包含正在编辑的类的项目的名称。 | myProject |
enclosing_type | 插入要编辑的类型(类)的名称。 | MyType |
exception_variable_name | 插入异常变量名称,以进行最佳猜测。 | e, ioe |
file | 文件的简称。 | MyType.java |
import | 插入给定类型的导入语句(如果尚未导入)。 | import com.example.ui.MyOtherType |
importStatic | 与import 相同,但具有静态导入。 | import static com.example.ui.MyOtherType.* |
line_selection | 将选定的行插入到该位置。 对于用模板包装线很有用。 | do , while 循环与选定的行作为身体 |
primary_type_name | 不带扩展名的文件的简称。 | MyType |
time | 插入当前时间。 | 9:09:35 am |
todo | TODO 中的TODO 标签。 | TODO |
user | 当前的用户名。 | ngood |
var | 解析为局部变量,如果有多个列表,则提供一个列表。 | myvar |
word_selection | 插入当前选择的单词。 | 不适用 |
year | 将当前年份插入代码中。 | 2009 |
变量的另一个重要功能是您可以组成自己的变量。 它们不会自动解析为任何值。 但是,在插入模板后,您可以在模板中键入值。 当您键入变量时,键入的值将插入代码中该变量存在的位置。 考虑清单3中的模板。
清单3.创建自己的变量
public void test${my_variable}() {
String expected = "value";
${my_object}.set${my_variable}(expected);
assertEquals("${message}", expected, ${my_object}.get${my_variable});
}
当您插入模板时,它看起来如图3所示。
图3.自动插入值
![屏幕截图显示了自动插入值](https://i-blog.csdnimg.cn/blog_migrate/0c9d9356af9f7c06f8107065ebfb66ab.png)
您所要做的就是输入第一个值,其余的将自动替换。 完成后,按Tab键移动到下一个变量。
导出模板
要与其他用户共享模板,可以将其导出到文件中。 该文件是一个XML文件,其中包含模板信息,并且可以导入到其他Eclipse实例中。
要导出模板,请选择模板,然后单击“ 导出” 。 Eclipse会提示您输入可以保存文件的位置。 导出模板完成后,单击“ 确定”关闭“首选项”窗口。
导入模板
您可以从包含导出模板的文件中导入模板。 要导入模板,请点击导入 。 Eclipse提示您输入要导入的文件。
导入所需模板后,单击“ 确定” 。 您现在可以将新模板插入编辑器。
摘要
Eclipse中的代码模板是一种提高应用程序生产力和一致性的方法。 您可以构建代码模板,以便在编辑代码时轻松地将常用部分插入代码中。 您可以在代码中定义变量,以将类型,方法甚至所选代码的名称自动插入模板中。 当您拥有自己喜欢的模板时,可以通过导出模板并将其导入Eclipse来共享它们。
翻译自: https://www.ibm.com/developerworks/opensource/library/os-eclipse-galcode/index.html
galileo软件