建筑行业内,我看过的最凶残笑话(IT行业内好一致!)
上联:一天晚上两个甲方三更半夜四处催图只好周五加班到周六早上七点画好八点传完九点上床睡觉十分痛苦
下联:十点才过九分甲方八个短信七个电话居然要六处调整加五张图纸四小是交三个文本两天周末只睡一个小时
横批:用原来的
内心的独白
2017 从 eclipse 换到 IDEA,适应了一段时间,后面一直用 IDEA 2018 版,使用期间偶尔出现一些小问题,但不多,没太注意
最近换了电脑,开发环境得重新搭,顺便把 IDEA 更新下。本来打算用 2020 版的,可网上对 2020 版的评论一直比较差,所以我就放弃做勇士了,用的是 2019.3.5 版本
切了版本后,使用期间陆陆续续暴露了不少问题,有些问题还花了不少时间来处理,期间甚至有了放弃 IDEA,重新投保 Eclipse 的想法,但是后面冷静一想,Eclipse 几年没用,都忘完了,重新捡起来的成本可能更高,所以痛定思痛,决定将 IDEA 的这些比较常用的设置全部整理一下,方便以后自己查阅,也方便遇到同样问题的小伙伴进行问题排查与处理
需要大家注意是,楼主用的是 IDEA 2019.3.5 版本,可能和大家的版本不同,版本不同,配置项会有细微的区别,大家不要完全一致的去对比
其实 IDEA 安装完成的时候就提示我们进行全局设置,但是往往被我们忽略了
当我们打开工程后,往往设置的是当前工程的设置,而不是全局设置,所以当我们用新窗口打开新的工程时,发现新窗口的设置都是默认的,而不是我们之前设置的,这就有点不爽了
那如果我们在 IDEA 安装的时候没有进行全局设置,还能进行全局设置吗? 答案是肯定的,可以在 IDEA 窗口进行当前设置和全局设置,如下图
Settings 表示的是当前设置,Other Settings 表示的是全局设置;不同的 IDEA 版本,Other Settings 代表的都是全局设置(未来不一定,但是历史是这样),只是 Other Settings 下内容可能会有所不同
如果既进行了 Settings 设置,又设置了 Other Setting, 那么当前工程生效的是 Settings 中的设置
后续讲到的一些设置若非特殊说明都是在全局设置下进行,主要是为了强调下全局设置的重要性(可能只是楼主后知后觉,汗...)
配置成我们安装的 JDK,目前用的比较多的是 1.8 版本; 配置如下
工程编码我需要统一,基本统一成 UTF-8,设置如下
都选择 UTF-8
如果不选择 UTF-8,可能会编译不报错,但是启动时却报错:Error:(15,31) java: 找不到符号
默认情况下,自动编译是关闭的,我们可以按下图进行开启
将复选框勾上则开启自动编译,但后面有说明:非 running 或 debugging 时才生效
效果就是,当我们输入 List,能够自动导入 java.util.List ,设置如下
两个复选框都需要勾上
显示代码行号,配合日志能快速地定位到出问题的代码,设置如下(这个只能在 Settings 中进行设置)
需要将复选框勾上;勾选上之后,每一行代码前就会有行号显示,如下所示
主要时考虑到不同的编辑器对 Tab 的处理不同,所以统一成 4 个空格来处理
复选框不要勾
IDEA 自带 maven,但往往需要修改成我们自己的 maven,我们的 maven 有很多自定义的配置,如私有仓库等
配置如下
标记的地方替换成我们自己的 maven, 至于 Local repository,会自动加载 maven settings.xml 中的仓库地址,一般不用覆盖修改
默认情况下对项目的构建和运行是 IDEA 自己负责的,这样就可能导致构建和运行时无法找到 maven 仓库中的相关 jar 包,从而出现:Error:(6, 34) java: 程序员xxx不存在 的错误
进行如下配置,将构建/运行操作委托给 maven,这样依赖的 jar 包都能正确找到
复选框勾上即可
默认情况下多行 Tab 是单行显示的,效果如下
所有打开的文件 Tab 显示在一行,显示不下的收缩起来(越久未被操作的文件越容易被收缩);文件多了收缩起来,还是不太方便文件的切换操作,推荐多行显示,配置如下(只能在 Settings 下设置)
复选框不要勾上,设置了后效果如下
这样文件切换起来更方便
当我们 Java 类中导入的某个包下类超过指定个数,就会换成用 * 号来代替,例如:import java.utils.*;
* 代表的是导入包下所有类,不够直观,也没必要,需要什么就导入什么是最好的
Class count to use import with '*' 表示的是:导入了同个包下多少的类,就将这些导入替换成 *, 默认是 5。Names count to use static import with '*' 则表示的是:静态导入了同个类中多少的静态常量,就将这些导入替换成 *, 默认是 3,我们将这两个值配置大一些,那么就不会 import * 了
阿里规约中有这么一条,类必须加注释,并且必须要有 author类注释还是很有必要的,可以追溯到人,便于业务的沟通,配置如下
想加什么参数就加什么;设置好后,我们新建一个类,就会自动带上注释,如下所示
Settings 下有这么个设置
理论上来讲,这个列表中的复选框都不能勾选(默认也都不会勾选),如果勾选了,那么就被勾选了的 pom.xml 对应的工程就不会被当作 maven 工程,后果可想而知:不是 maven 工程就会有依赖找不到的问题,项目就会启动失败
楼主不知道怎么回事就勾上了其中一个,出现如下症状
maven 工具窗口下该 maven 工程显示成了灰色,特别与众不同;然后启动该工程的时候,提示各种依赖都找不到,真是毙了狗
正常情况来说,我们是不会直接在方法名上打断点的,断点往往是打在方法体上的某一行上,但是楼主不知道怎么回事就打了,导致以 debug 方式启动不了工程,并提示:Method breakpoints may dramatically slow down debugging
打开 Breakpoints 面板看看(快捷键:Ctrl+Shift+F8 )
一个断点打在了 UserService 接口中的方法上,一个接口打在了实现类 UserServiceImpl 的方法名上
一般而言不会出现这种情况,就怕大家像楼主一样不小心,在方法名上打了断点,并导致项目 debug 不起来,知道如何处理就好
逐个选中,remove 就好,如下图所示
1、遇到问题,不能立马想到去怎么处理的,尽快利用网络去查,千万不要一头扎进自我认为中去,太费时了,最后还得求助于网络
网络搜索的话,关键字非常重要,描述的越清楚,命中率越高;如果确实不好描述,那就多换关键字去查
2、有些配置是需要勾选复选框,有些是不能勾选,大家要看清楚了
3、文中的 IDEA 配置修改分了三种:必须、推荐、可能,只囊括了一部分,有些未考虑到的欢迎大家补充
可能级别中的问题基本都是误操作,大家留个印象就好,万一碰到了知道怎么处理
4、要学会多总结,包括各个方面的总结,这样我们才能越来越强大!