博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IntelliJ下使用Code/Live Template加快编码速度:程序员的工作不是写程序,而是写程序解决问题...
阅读量:6815 次
发布时间:2019-06-26

本文共 1551 字,大约阅读时间需要 5 分钟。

程序员的工作不是写程序,而是写程序解决问题。 --- 某不知名程序员

我们每天都在写代码,有些代码有结构性的相似,但不是所有的代码都可以被抽成方法。在这种情况下,我们应该考虑使用template的方式加快我们的开发速度。这篇博客会先介绍IntelliJ下已经有的一些code/live template,然后介绍如何自定义template。

1.IntelliJ下已有的template

在java中,我们时常会遇到遍历一个iterable的情况。如下所示:

       for (Integer item : items) {

            //...
        }

你可以选择一个字母,一个字母的敲,但是在IntelliJ下面,你只需要输入iter再按TAB键,就可以自动生成这个代码,和原来的代码比起来,你需要敲键盘的次数少了几倍。

这个时候,红色的框框部分就是当前你的编辑区域,因为我之前有一个items的变量,这里IntelliJ会建议Iterable是items。如果你觉得不对也可以修改,确认后敲Enter。

敲了回车以后,就进入下一个编辑的部分,而不需要你手动的去移动光标。确实很Intelligent啊。

IntelliJ中提供了很多现有的Code/Live Template,你可以在Settings中找到这些已有的template:

比如sout可以输出System.out.println(...), ifn可以输入if (xxx == null) 等等。学习这些template,并且灵活运用,可以缩短你敲键盘的速度。

2.自定义Live Template

IntelliJ提供了很多现成的template。但你也可以根据自己的需要创建新的template。举个例子,我们经常在测试代码中写出如下的代码:

        assertThat(person.getAge(), is(18));

我们会写很多次的assertThat(..., is(...))。每次这样去敲,让我觉得很烦,

我们来看如何在IntelliJ中配置这个模板来简化这个输入。

如上图所示,进入IntelliJ的Settings的Live Template,我们创建一个新的template:ati。

1)缩写名(Abbreviation):ati。ati就是assertThat(..., is(...))的缩写,在以后,你只需要输入ati,就有办法自动变成assertThat(..., is(...));了

2)模板文本(Template text):assertThat($result$, is($expect$))。这里被$括起来的部分就是敲了Enter以后,光标会停留的部分。

3)使用情况(Applicable):statement。这表示你创建一个statement的时候,可以用到这个template。

4)选项(options):Enter。这里我选择的使用Enter出发ati变成完整的assert语句。不过建议使用TAB,这样的话,和IntelliJ自己提供的template保持统一。

这样就配好了template。让我们来试验一下:

第二行就是提示template,这个时候轻盈的按下TAB键,就会看到:

光标就正在等待你输入了。

总结:

写程序不是程序员的目的,解决问题才是程序员的目的,写程序只是解决问题的一种手段而已。当我们采用写程序这种方式解决问题时,我们仍然需要专注于问题本身。

提高我们编码的速度,目的不是自嗨,只是为了减少敲键盘对我们思考问题、解决问题的干扰。

做到心中无码,才更容易专注于解决问题。

转载于:https://www.cnblogs.com/lvchenfeng/p/5306616.html

你可能感兴趣的文章
《软件工程-理论、方法与实践》读书笔记一
查看>>
POJ Problem Radar Installation 【贪心】
查看>>
redis 持久化方式
查看>>
Vue2.0设置反向代理解决跨域问题
查看>>
伪类link,hover,active,visited,focus的区别
查看>>
WTL 实践笔记
查看>>
漫谈C++:良好的编程习惯与编程要点(转载)
查看>>
Jquery plugin ScrollUp使用和实现
查看>>
使用HTML5 FormData对象实现大文件分块上传(断点上传)功能
查看>>
在 xilinx SDK 使用 math.h
查看>>
项目中自定义返回任意数据或者消息
查看>>
IOS设计模式的六大设计原则之单一职责原则(SRP,Single Responsibility Principle)
查看>>
How to run ASP file on VS 2010
查看>>
Manacher算法
查看>>
Linux 的cp命令
查看>>
JavaScript类型转换
查看>>
OnClientClick="return confirm('确定要删除吗?')"
查看>>
Android 中间白色渐变到看不见的线的Drawable
查看>>
Oracle创建用户、表空间并设置权限
查看>>
10.5 集合ArrayList 和 io流
查看>>