1.情景展示
刚入手idea,修改默认配置项
2.具体问题
IDEA 启动一段时间后闪退问题
闪退的根本原因在于:idea默认分配的内存带不动它本身启动后所需要的实际内存。
修改idea的配置文件,配置文件要去C盘找,比方说:我们一般情况下不会把idea安装到C盘,比方说,我把它安装到了D盘
在这里修改idea64.exe.vmoptions文件,没有用!!!
C:UsersMarydonAppDataRoamingJetBrainsIntelliJIdea2020.1idea.exe.vmoptions
C:UsersMarydonAppDataRoamingJetBrainsIntelliJIdea2020.1idea64.exe.vmoptions
自行按照此路径,找到自己的idea配置文件
-Xms 是最小启动内存参数;
-Xmx 是最大运行内存参数;
-XX:ReservedCodeCacheSize 保留代码占用的内存容量参数。
将Xms值设置为512m,Xmx值设置为1060m,即可。
这里,需要提醒的是,如果你使用的32位的idea的话,也就是idea.exe.vmoptions配置文件,-Xmx800m,最大值不能大于800,否则将无法启动!!!
另外,我设置成800后,还是会导致闪退,所以,改用了idea64.exe启动。
如果,你不知道修改哪里的配置文件才能生效,还有一种方式:
双击shift,在弹窗中输入:change memory Settings,
点击,打开
开启内存显示
双击shift呼出【Search Everywhere】窗口,输入:show memory indicator,点击开启
底部右下角会显示实时内存使用情况
工具栏设置
这些,都要勾选上。
显示行号和代码分割线
切换主题
设置背景图片
设置背景图片,透明度,以及预览效果
20200827
设置鼠标滚轮调节字体大小
设置类注释模板
类注释:File-->Settings-->Editor-->File and CodeTemplates
将如下代码拷贝到上图右侧空白区域即可(这个更为详细,具体用哪个自己决定)
/** * * @description: * @author: ${USER} * @date: ${DATE} ${TIME} * @version: 1.0 * @email: marydon20170307@163.com */
需要注意的是:class的注释,只有在新建文件的时候,会自动生成。
举个例子,复制原文件生成的新文件,是无法重新生成注释的,或者你把原来的注释删除,重新生成也是不行的,这一点相当恶心人(下面有解决办法)。
如上图所示,我的date显示格式为:2020年07月10日 0010 12:03,估计大家的日期格式也会五花八门,造成这样的原因,一般是修改了windows系统时间的显示格式。那该如何生成我们想要的日期格式呢?
配置这个就可以啦
/** * * @description: * @author: ${USER} * @date: ${YEAR}-${MONTH}-${DAY} ${TIME} * @version: 1.0 * @email: marydon20170307@163.com */
说点题外话(可以不看)
之所以我们设置了File Header后,新建java文件能引用这个里的注释模板,是因为它引入了我们刚才修改的文件(不用我们管,idea已经配好了)
20200827
上面的类注释,只能在新建java类时有效,但在实际开发过程中,我们通常会直接复制类似的java类,来快速完成类的创建,而往往不是同一人开发的,所以会导致类的注释模板与自己之前的不统一的情况,所以,有必要创建一个可以通过调用快捷键来生成类注释模板。
新建组和模板的方法,方法注释有讲解,因为是后期添加的,所以,可以先看方法注释,然后再回来创建。
配置快捷键,这里,我定义为**
设置该模板的使用范围:java--》comment(注释,勾选其它的,在别的地方,其实也用不到,所以没有勾选的必要)
配置模板
/** * * @description: * @author: $USER$ * @date: $DATE$ $TIME$ * @version: 1.0 * @email: marydon20170307@163.com */
配置变量对应的函数表达式
在需要添加类注释的地方,打上/**,按Tab键即可
注意:这里没有函数year()、month()和day(),用来表示日期的,只能是date(),所以,这里无法自定义年月日的表现形式,目前没有解决办法,只能手动修改展示格式。
方法注释:File-->Settings-->Editor-->Live Templates
点击右上角的+号,然后选择Template Group,然后输入group的name,我这里输入:Java,然后点ok
选中刚才创建的MyGroup,然后再次点击右侧的+,这次选择的是第一个Live Template。取名为 *(必须是这个)
将如下代码拷贝到上图左侧空白区域
1 * 2 * 3 * @attention: 4 * @date: $date$ $time$ 5 $params$ 6 * @return: $return$ 7 */
注意:必须是*开头,而不是/**开头,另外这个*必须顶格。
配置好模板后,点击右侧的 Editor variables配置变量
模板参数对应的值如下:
$user$ user() $date$ date() $time$ time() $params$ groovyScript("def result=''; def params="${_1}".replaceAll('[\\[|\\]|\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {result+='* @param: ' + params[i] + ((i < params.size() - 1) ? '\n ' : '')};return result", methodParameters())methodParameters()) $return$ methodReturnType()
将其对应的模板值,依次拷贝到对应的Expression中,如下图所示
点击模板页面最下方的警告define,来设置将模板应用于哪些场景,选择Everywhere-->Java即可。
如果曾经修改过,则显示为change而不是define。
如果应用范围太多,则将不能显示change按钮,我们只能选中要修改的模板,右键
意思是在注释的时候生效(全选也没有意义和必要),点击Apply,完事。
如何使用方法注释模板?在类的方法上,输入/*,按Tab键即可生成
注意:这种配置方法还存在一个漏洞,那就是:当我们的类或者方法抛出异常后,再调用生成的模板,无法像eclipse那样,生成的注释没有@throws,需要自己手动添加,也挺恶心人的。
添加步骤注释模板
在实际开发过程中,往往需要执行很多步骤才能完成,比如说接口,所以,如果需要的话,把这个也加上。
按照上面的方法进行即可。
在需要添加注释的地方,输入:step
按Tab键或者Enter键均可
修改 JAVA/HTML/XML 等文件的默认单行注释方式
在idea中,使用单行注释快捷键注释当前行Ctrl+/,注释会直接顶格,很丑
我们想要的样式是,注释对齐语句,和注释的语句对齐,如何实现?
File--》Settings--》Editor--》Code Style--》
修改Java 的单行注释:Java--》Code Generation
看图操作即可
修改HTML 的单行注释
修改 XML 的单行和多行注释
将两个都取消勾选
对于JavaScript也一样的操作方式
开启class文件自动编译功能
勾选“Make project automatically”选项,这里需要提醒的是:这个自动编译功能,只有在项目处于非运行状态下有效(换句话说,就是当我们在运行项目时,修改java文件,idea并不会对修改后的java重新编译class文件)
自动刷新项目目录
新建多级package,总是嵌套的问题
举个例子,我现在要在java下创建三级目录java/aa/bb/cc,如何实现?
选中java,右键,新建,package
package之间使用.点隔开(如果新建的Directory的话,使用/斜杠隔开)
包创建完成后,如下图所示
这三级目录折叠了在一起,我想在bb目录下新建一个文件,如果我们直接新建的话,会创建到cc包下
显然,这不是我们想要的,怎么办?
有两种方式可以实现:
方式一:修改Test.java的包位置
打开Test.java,删掉cc,会报错,鼠标悬浮上去,我们就可以把它迁移到bb目录下啦
方式二:将包识别为文件夹目录
这样,cc就变成了目录
拖动Test.java到bb目录下
选中cc,Cancel Exclusion
这样就好了
关闭自动更新
压制代码重复警告
@SuppressWarnings("Duplicates")
代码自动提示忽略首字母大小写问题
idea的代码自动提示功能,默认设置第一个字母大小写必须匹配(大小写提示代码不一样)
2018版:Editor--》General--》Code Completion--》Case sensitive completion--》选择:None
2020版:
IDEA 每次启动都显示选择项目页面
勾选上的意思是:每次打开idea时,都会自动打开最近使用的项目
文件字符集设置
统一设置为UTF-8
对于 Properties 文件,重要属性 Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选,不然 Properties 文件中的注释显示的都不会是中文。
代码审查级别
在这里可以修改代码审查级别
20200827
去掉never used提示(可以不弄)
在类中,方法如果没有用到的话,方法名会变成灰色,鼠标悬浮,会有提示
取消类和方法上的勾选
弄这个主要是封装的工具类或者类中的方法不一定就能马上用到,idea对其进行检测后,会对没有用到的类名或者方法名做变色处理。
代码补全骚操作
var 声明
前提:在方法体里面书写
"yolo".var; ----> String str = "yolo"; 1000.var; ----> int a = 100; new Test.var; ----> Test test = new Test();
null 判断对象为空
test.null 按回车键: if (test == null) { }
notnull 判断对象为空
test.notnull 按回车键: if (test != null) { }
nn 判断对象为空
test.nn 按回车键: if (test != null) { }
for 遍历
List<String> list = new ArrayList<>(); list.for 回车: for (String s : list) { }
fori 带索引的遍历(正序索引)
list.fori 回车: for (int i = 0; i < list.size(); i++) { }
fori 带索引的遍历(倒序索引)
list.forr 回车: for (int i = list.size - 1; i >= 0; i--) { }
集合迭代
iter 回车: for (String s : list) { }
not 取反
boolean isTrue = false; isTrue.not 回车: !isTrue
while循环
isTrue.while 回车: while (isTrue) { }
if 条件判断
num>99.if 回车: if (num>99) { }
case强转
isTrue.case 回车: (() isTrue)
return 返回值
"abc".return 回车: return "abc";
idea右键没有diagrams选项
idea2020版,maven视图没有了jar包之间的关系图
首先,选中项目,右键,查看有没有
如果没有,就看下面:
出现这类问题一般是由于uml插件没有启用
file -> settings -> plugins
如何查看mavenjar包UML类图?
必须打开pom.xml才行,右键
出现mavenjar包依赖图,点击1:1按钮,即可