前言
正所谓差生文具多 工欲善其事必先利其器,对于我们吃饭的工具,敲代码敲得开心,敲得快乐也是尤为重要的。
wc,好多需求要写。。。慢慢补上,主打一个细水长流。
标题带有 * 的是我极度推荐的功能。
目录
插件篇
插件有两种安装方式:
- 在设置中找到插件选项,直接搜索对应插件安装。
- 或是在插件网页下载对应的包,在此界面,导入对应的插件。
(施工中)
Chinese (Simplified) Language Pack / 中文语言包
名称:Chinese (Simplified) Language Pack / 中文语言包
作用:汉化IDEA界面
地址:【简体中文包插件地址】
效果:略
CamelCase(变量命名风格转换)
名称:CamelCase
作用:汉化IDEA界面
作用:快速将变量命名风格进行转变,比如将下划线命名风格的变量转换为驼峰命令风格(my_var -> myVar)
地址:【CamelCase插件地址】
效果:如下
设置篇
(施工中)
体验优化配置
*选项卡多行显示
选项卡默认是一行显示,如果你的打开代码选项卡过多,就会变成下面这样:
这样显示很不直观,建议修改为选项卡多行显示,按下图修改配置:
最后的效果:
显示空格/制表符
在不改动默认配置时,我们是很难区分原文件中的空格和制表符的。
修改如下配置,则会更为直观:
*个人TODO标记配置
一般在工程中,肯定少不了TODO注释。
// TODO 像是这样
// todo 或者像是这样
本人可能也有没开发完的代码,且使用了todo标记,虽然在 IDEA 中能够通过 TODO 列表展示这些待完成的代码:
注释的文件过少时,可能还比较直观,当文件中的 todo 过多时,你就会发现真的很难从一大堆文件里面找到你自己的标记,可能后续的开发都忘记了还有这个 todo 待完成。
进行以下配置,是不是发现自己的 todo 一目了然啦。这个丑丑的颜色实在是太刺眼了,还不赶紧修复它。
新增快捷键
*拆分并右移(已补完)
作为CV工程师的我,经常需要“参考/借鉴”本工程下的代码。这个时候我们一般会拆分选项卡进行对比。就像下面这样:
这个时候我们需要右键点击选项卡,选择拆分并右移才能实现。
添加快捷键:
拆分并右移: 【alt r】
提高效率篇
说实话,自从接触过IDEA后,ECLIPSE 就基本上被抛弃了。IDEA 其中的插件和自带功能能够将我们从一些重复性的劳动中解脱出来。
实时模板
具体操作可参考官方文档,自己多摸索一下就明白了。
此处只说明一下官方给的两个特殊的变量:
$END$: 指示代码片段完成后插入符号的位置,即实时模板所有的变量赋值了以后,光标会抵达的位置。
$SELECTION$: 用于环绕模板。
*stream 快速拓展
由于 java8 经常会使用 stream 进行操作,此处整理了一部分实时模板快速拓展生成代码。
// 列表转 List、转 Set 、groupingBy、转Map 其实是相同的写法,可以自己微调。
$VAR_LIST$.stream().map($VAR_CLASS$::$VAR_FIELD$).collect(Collectors.toList()).var$END$
// 变量表达式设置如下:
// 使用到的表达式:
complete()
typeParameterOf(VAR_LIST)
由于没有找到啥完全自动化生成本地变量的方法,所以结合了后缀补全 .var 达到类似的效果。
最终的效果如下,补上变量名后,最后按下 tab 键自动补全本地变量:
*日志打印
日志输出是必要的。
我们可以通过切面编程借助注解来实现。如果我只是想在特定的代码行输出我入参里面的部分内容,注解就不是很好操作了。这时候我们可以自己设置一个环绕模版达到目的。
// 设置如下内容
log.info("$REMARK$#$CLASS_NAME$#$METHOD_NAME$#{}", $SELECTION$);$END$
// 变量绑定函数
// 类名
$CLASS_NAME$:className()
// 方法名
$METHOD_NAME$:methodName()
效果如下,我们就可以快捷生成带有类名和方法名的日志了,定位问题时如果我们能知道编码或者id,按这个格式去搜索对应打印的线程id,就能很好的定位到问题:
线程池异步
有的时候我们需要用到线程池做异步推送的操作。并不关心结果,推过去就完事,最多在报错的时候记录一下,这个时候我们选择直接闭包写一断内容,通过环绕模板,我们可以快速生成此部分结构。
// 设置内容如下
$POOL$.execute(() -> {
$SELECTION$$END$
});
// 变量绑定函数
$POOL$:complete()
效果如下:
文件模板
(施工中)
后缀补全
(施工中)
*列选择模式(已补完)
一些文本编辑器都会有这样一个操作。对我来说,在编写代码时或者处理文本时有大量的重复性且有规律可循操作内容时,这个功能能极大的提高效率。
触发方式:【ctrl shift 点选】、【按下鼠标滚轮拖动选择】、【ctrl shift alt j 快速选中匹配项】(动图按上述顺序展示)
适用场景:处理文本或代码时有大量的重复性且有规律可循的操作。
举个栗子:使用easypoi构建实体类。有的时候我们需要根据 @ExcelProperty 的 index 属性来定位模板的内容,而不是 name 。这个时候就可以向下面这样,快速给我们的实体类编号。以下是步骤:
- 先根据 private 关键字确认有多少个字段。
- 新建一个excel文档拉出对应的序号数。
- 利用快速匹配或者拖动选择所有的字段进入列模式。
- 将excel中的序号粘贴至代码中,搞定。效果十分完美。
最常用快捷键
(施工中)
常见问题
以下的问题仅为本人遇见过的。可能不适用于部分场景。
*快捷键冲突
此处基本上是其他后台运行的软件与IDEA的快捷键产生了冲突。
万恶之源,搜狗输入法,比如说全局查找老是不管用(ctrl shift f)。
占用此处的一般是我们输入法的简繁切换快捷键,我们找到设置将这里关掉就完事了。
- 解决办法
右键点击 搜狗输入法》更多设置》属性设置》按键》系统功能快捷键。