使用IntelliJ IDEA的小技巧快乐编程(2)
前言
本篇介绍的技巧为IntelliJ IDEA
中自动代码生成相关的技巧,合理的使用这些技巧将大大提高的你的编码效率 :)
Trick 6. 使用模板代码
idea默认的提供了许多模板代码,你可以使用ctrl + j
来进行查看,或者使用T1.命令查找 insert Live Template
,或者使用T3.设置你自己喜欢的快捷键
左边的是模板代码触发键,使用tab即可触发,如图
内置的模板代码看似很多,其实大部分都不会用到,比较常用的一些如下
触发词 | 含义 |
---|---|
psvm | main 方法 |
sout | System.out.println() |
souf | System.out.printf() |
fori | 创建一个正循环 |
ifn | 创建一个if(something == null)的代码块 |
fixme | 在光标处增加fix标记 |
todo | 在光标处增加todo标记 |
Trick 7. 自定义模板代码
系统提供的模板代码代码固然不错,但其实还是不够用,没关系,IntelliJ IDEA 支持自定义模板代码。
使用T1.命令搜索Live templates
进入编辑页面,具体编辑细节如下图
利用自定义模板的技巧你就可以自己定义自己常用的代码块了,例如下图自定义了一个打印出map里键值对的代码块,将自己经常写到的代码进行模板化整理,可以有效提升自己的编码效率 :)
Trick 8. 使用后缀表达式生成代码
不知道大家平时有没有遇到这样的情况,例如你正在编写一段链式的代码或者变量,写着写着这时候发现这个变量要进行打印/空值判断/各类对变量的操作,这时候会怎么做呢?将这样一段的链式代码选中剪切,然后sout
,再接着粘贴?这样的操作很显然是令人不愉快的,同时也不符合正常人的思维,试想这时候如果我直接.sout
该多好啊!是的,这时候你确实该这么做,这就是idea的后缀表达式。
如上图所示,虽然上图的代码没有什么意义,编译也没法通过(事实上就是我乱写的),可这一连串的包装操作极其流畅,都是通过后缀表达式来完成的,再也没有复制粘贴了:) 显然这样的编码方式是让人感觉十分愉悦的。
Trick 9. 自定义后缀表达式
和T7.类似,我们也可以定义自己的后缀表达式,使用T1.命令搜索postfix completion
即可进入自定义后缀表达式的设置(该功能为idea 2018.1以及之后的版本才提供),设置界面如图所示
例如上图中的示例,我设置了一个对象转json字符串的后缀表达式,适用类型为所有类型,触发关键字是.json
,这样每次想要转成json字符串的时候就方便许多。如图
上面提到这项功能是idea2018.1后的版本集成进来的,如果你的版本低于这个版本也想要这个功能,可以使用T2.搜索插件Custom postfix Templates
或者点击这里是github的链接,进行下载,下载之后t1.命令搜索 custom postfix 就可以进入设置页面,具体编辑方法的可以查看github链接中的readme
,和上文idea集成进来的大同小异。
10. 利用alt+insert插入代码
在T1.命令搜索中搜索Generate
或者在页面中按下默认快捷键alt+insert
可以自动的生成一些代码,包括常见的getset
构造器
hascode & equals
spring自动注入
版权信息
等等
另外值得一提的,这样的自动生成代码同样支持自定义一些模板(使用velocity
dsl进行编写),例如链式调用的setter方法,不同风格的toString&equals&hashcode
方法,但是因为运用的情况并不多,这里就简而略过,有兴趣的同学可以自行搜索。
使用IntelliJ IDEA的小技巧快乐编程(2)的更多相关文章
- 使用IntelliJ IDEA的小技巧快乐编程(1)
前言 我很喜欢和别人讨论一些问题,有时候,在公司里,讨论这样的问题需要演示代码.常常会碰到的一种情况是(根据我的记忆这半年多来至少超过了10次),别人会打断你的演示,抛出一个问题:等等,你刚才的操作是 ...
- 学会这些 pycharm 编程小技巧,编程效率提升 10 倍
PyCharm 是一款非常强大的编写 python 代码的工具.掌握一些小技巧能成倍的提升写代码的效率,本篇介绍几个经常使用的小技巧. 一.分屏展示 当你想同时看到多个文件的时候: 1.右击标签页: ...
- IntelliJ IDEA使用小技巧
1:设置类,接口,枚举注解模板 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NA ...
- Intellij IDEA神器那些让人爱不释手的小技巧
完整的IDEA使用教程,GitHub地址: https://github.com/judasn/IntelliJ-IDEA-Tutorial 概述 之前写了一篇介绍IntellIJ IDEA的文章 ...
- IDEA Intellij中vim插件使用小技巧
在 IDEA Intellij小技巧和插件 一文中简单介绍了一下IdeaVim插件.在这里详细总结一下这个插件在日常编程中的一些常用小技巧.供有兴趣使用这个插件,但对Vim还不十分熟悉的朋友参考.当然 ...
- Shellcode编程小技巧
工作需要,需要注入其他程序监控一些东西,检测到的数据通过WM_COPY 消息发送给显示窗体.(大体是这样的还没定稿) ##1 选择一个框架 ## tombkeeper/Shellcode_Templa ...
- Intellij IDEA神器居然还有这些小技巧
概述 Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜.出于对Intellij IDEA的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intel ...
- Intellij IDEA神器值得收藏的小技巧
概述 Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜.出于对Intellij IDEA的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intel ...
- Intellij IDEA神器居然还有这些小技巧---超级好用的
Intellij IDEA神器居然还有这些小技巧----https://my.oschina.net/samgege/blog/1808622?p=8
随机推荐
- Oracle中使用游标转换数据表中指定字段内容格式(拼音转数字)
应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create ...
- 1、MyEclipse插件配置以及通过MyEclipse生成表对应的JPA代码
去除MyEclipse插件的方式是打开:WindowàCustomize Perspective窗口进行插件配置: 取出下图中不常用的插件勾,最终点击OK. 3.点击OK之后显示的效果图如下: ...
- (七十二)自定义通知NSNotification实现消息传递
众所周知,iOS中一般在类之间传递消息使用较多的是delegate和block,还有一种是基于通知进行的消息传递,我们常常是使用系统的通知,来实现一些功能,例如利用键盘尺寸改变的通知,我们可以根据键盘 ...
- Android开发模式之MVC,MVP和MVVM的简单介绍与区别
相信大家对MVC,MVP和MVVM都不陌生,作为三个最耳熟能详的Android框架,它们的应用可以是非常广泛的,但是对于一些新手来说,可能对于区分它们三个都有困难,更别说在实际的项目中应用了,有些时候 ...
- JSP标签JSTL(5)--常用的标签函数
在使用JSTL的标签函数的时候请务必加上如下代码 <!-- 添加jsp标签的核心库 --> <%@ taglib uri="http://java.sun.com/jsp/ ...
- Unity插件 - MeshEditor(二) 模型网格编辑器(高级)
源码已上传至github,并持续更新,链接请看底部.(本帖跟随github持续更新) 继先前的一篇MeshEditor之后,MeshEditor第二版发布,这次在先前的基础上加入了为模型新增顶点以及删 ...
- VB.NET版机房收费系统---异常处理
异常处理,英文名为Exceptional Handling, 那时年少,还记得那年一起学习过的VB6.0的时候,常常使用ONError的错误语句.与传统VB6.0中的OnError语句相比.NET平台 ...
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十四)
我们回到Xcode,打开GameScene.m,首先要添加实例变量: CCNode *_trackLine; 为了根据选中的赛道更新_trackLine的位置,我们添加一个显示方法: -(void)s ...
- 小强的HTML5移动开发之路(3)——HTML5与HTML4比较
来自:http://blog.csdn.net/dawanganban/article/details/17652873 在前面介绍了HTML5的新特性,新标签的使用,智能表单设计,引入多媒体对象,C ...
- iOS基础常用细节问题处理65条
1. 不可变数组 转变为可变数组 //声明实例变量的数组 必须记得实现 //对于遍历数组找到对象后 如果还需要查找 记得先结束 再查找(return/break) NSArray * arr = ...