1、前言

这篇博客是给认识的那帮新手搞的,刚进入IT行业的崽们

这个东西配置好了,也可以选择弄成在线文档,下一次安装IDEA时,有一个import导入配置,然后就可以自己配置好了( 虽然方便,但不建议用 )

另外:IDEA建议别汉化,一开始接触不习惯,后续使用一段时间之后就很舒服了

还有:这篇博客并不是全部配置,只是起到一个引导作用,基础中的基础配置

注:本文使用的IDEA示例版本是2020.3

jetBrains全家桶破解地址:https://tech.souyunku.com/?page_id=50199

2、背景图

image

3、自动import包 和 删除不需要的包

指的是:我们写代码时,不需要自己写import xxx.xxx.xxx,同时我们写代码时引错了包/注释掉了代码,不再需要对应的包时,会自动帮我们删掉import xxx.xxxx这样的语句

image

4、去除大小写敏感

这个敏感指的是:自己在写代码时,输入system 和 System弹出来的内容是一样的

image

5、ctrl + 鼠标滚轮调节字体大小

image

6、显示方法分割线

为了排版好看而已,一个类中方法与方法之间有一条分割线

image

7、多行显示标签

指的是:下图中标签栏可以分行显示

image

配置:

image

8、黑色背景字体高亮

这种适合在前面配置了背景图,同时背景图是偏暗色的,从而导致IDEA原生的字体有点暗,外加本身背景图就是偏暗色,看起来有点难受,就可以设置IDEA字体高亮,但是个人其实不太建议设置这个,时间长了对眼睛不好( 另外再进行了其他配置的话,就可以了 ),可以直接在后面plugins插件安装中搜一个护眼插件

image

9、注释颜色

image

10、注释和代码对齐 并 在注释内容前保留一个空格

image

11、类注释模板


/**
 * <p>@description  : 该类功能  TODO
 * </p>
 * <p>@package      : ${PACKAGE_NAME}</p>
 * <p>@author       : ZiXieqing</p>
 * <p>@createTime   : ${YEAR}-${MONTH}-${DAY}</p>
 * <p>@version      : V1.0.0</p>
 */


image

12、方法注释模板


*
 * <p>@description  : 该方法功能 TODO
 * </p>
 * <p>@methodName   : $NAME$</p>
 * <p>@author: ZiXieqing</p>
 * <p>@createTime: $date$ $time$</p>
 * <p>@version: V1.0.0</p>
 $param$ $return$
 */

在代码中用此模板的快捷键:/*+下面设置的快捷键 enter / space空格....

image

image

image

image

自定义params配置


groovyScript(
	"def result = '';
	def params = \"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList();
	for (def i = 0; i < params.size(); i++) {
		result += (i > 0 ? ' *' : '*') + (params[i].size() > 0 ? ' @param ' + params[i] : '') + (i < params.size() - 1 ? ' \\r\\n' : ' ');
	};
	return result;", methodParameters()
);

自定义return配置


groovyScript(
	"def returnType = \"${_1}\";
	return (
		'void' == returnType ? '' : '\\r\\n * @return ' + returnType + ' '
	);",methodReturnType()
);

要是想对date也进行自定义配置(即:使用-切割开),和前面return一样,配置如下内容即可`


groovyScript("
	import java.text.SimpleDateFormat;
	def date = new Date();
	sdf = new SimpleDateFormat('yyyy-MM-dd');
	return sdf.format(date); 
")


备注:若是选择不自定义参数和返回值配置,选择的是:methodParamsType 和 methodReturnType,那么方法模板就需要变一下


*
 * <p>@description  : 该方法功能  TODO
 * </p>
 * <p>@author: ZiXieqing</p>
 * <p>@createTime: $date$ $time$</p>
 * <p>@version: V1.0.0</p>
 * <p>@params: $param$</p>
 * <p>@return: $return$</p>
 */

13、文件编码设置

强制要求

image

14、文件的换行符使用 Unix 格式

强制要求

image

15、安装插件

image

推荐的基础插件

  • 1、lombok 减少代码冗余,如:配置无参、有参、getter、setter、链式调用,到时只需要对应注解即可

注: 此插件在2020.3之后版本的IDEA中已经内嵌了,而我的IDEA正好是2020.3版本的,所以需要安装

image

代码中使用

image

  • 2、翻译

image

  • 3、class类文件分析(学了JVM后,才会用到)、json查看器、自动生成测试方法、快捷键提示、mybatis辅助工具、不同颜色括号、RESTful接口测试

image

注:图中的mybatisCodeHelper要收费,可以去这里解决:https://www.cnblogs.com/xiegongzi/p/16726534.html

  • 4、阿里巴巴规范检测

image

16、集成git

需要在IDEA主界面(就是一开始打开IDEA时的样子,open着项目的那就 file ——> close project ),选择customize ——> all setting进行全局设置,这样才不容易在使用时出BUG,不然的话,进入了项目然后配置,当前项目可以适用,下一次创建时,可能又需要重新配置

image

17、集成maven

需要在IDEA主界面(就是一开始打开IDEA时的样子,open着项目的那就 file ——> close project ),选择customize ——> all setting进行全局设置,这样才不容易在使用时出BUG,不然的话,进入了项目然后配置,当前项目可以适用,下一次创建时,可能又需要重新配置

image

maven配置参看

image

image

18、集成tomcat

需要在IDEA主界面(就是一开始打开IDEA时的样子,open着项目的那就 file ——> close project ),选择customize ——> all setting进行全局设置,这样才不容易在使用时出BUG,不然的话,进入了项目然后配置,当前项目可以适用,下一次创建时,可能又需要重新配置

image

19、关闭IDEA更新检查

这个东西是特别针对于IDEA破解的,为了不更新IDEA

image

20、设置新建package/directory、class的快捷键

安装了前面插件中的key promoter x的话,进行一些操作时会有快捷键提示,可以结合这个插件来使用快捷键设置

image

image

21、实体类implements serializable时生成序列化ID号

image

22、配置Debug下输出结果出入问题

比如:在未打断点进行run输出的结果为:


head 766672210
head 766672210
head 766672210

打上断点,但直接run运行完整个程序(不是以debug模式运行)的结果:


head 766672210
head 766672210
head 766672210

看起来加入断点和未加入断点直接run整个程序结果都是一样的,但是一旦在每个输出位置加入断点,进行Debug运行时,就可能是如下的结果:


head 766672210
head 1020391880
head 1020391880

这是因为此时使用Debug进行程序运行,IDEA会调用对象的toString()方法,所以会造成调试结果不一致,因此需要关闭IDEA在Debug模式下的toString()预览

image

想要测试出这个问题的话,可以先不取消上面的两个东西,使用如下的代码,在每个输出位置打上断点,然后进行Debug,最后就会中奖了


import java.lang.reflect.Field;
import java.util.concurrent.ConcurrentLinkedOueue;

public class ConcurrentLinkedOueueTestf {
	public static void main(String[]args) (
		ConcurrentLinkedQueue <String> queue = new ConcurrentLinkedQueue <>();
		print(queue);
		queue.offer("item1");
		print(queue);
		queue.offer("item2");
		print(queue);
		queue.offer("item3");
		print(queue);
	}

	private static void print(ConcurrentLinkedOueue queue) {
		Fieldfield=null;
		booleanisAccessible = false;
		try {
			field = ConcurrentLinkedQueue.class.getDeclaredField("head");

			isAccessible = field.isAccessible();
			if(!isAccessible) [
				field.setAccessible(true);
			}
		System.out.println("head: " + System.identityHashCode(field.get(queue)));
		catch (Exception e) {
			e.printStackTrace();
		finally (
			field.setAccessible(isAccessible);
		}
	}
}

中奖的原因:当调用ConcurrentLinkedQueue类的toString()方法时会获取队列的迭代器,而创建迭代器时会调用队列的first(),在first()里会修改head的属性,从而导致输出的结果不一致

要完全解决上面中奖的情况就是关闭IDEA的 EnablealternativeviewforCollectionsclasses 和 Enable'toString()'objectview 选项

23 解决IDEA中plugins搜索加载很慢、安装很慢问题

23.1、修改hosts文件

路径:C:\Windows\System32\drivers\etc

image


	52.84.224.36 plugins.jetbrains.com

重启IDEA,再次安装插件时,耶吼~直接起飞了

23.2、附上一个jetbrains测速网址

链接:https://tool.chinaz.com/speedtest/plugins.jetbrains.com

image

image

选择一个耗时较少的,然后像前面修改hosts文件一样,保存即可

注: 选择了上面的ip之后,可能由于另外自己所处位置原因,会一样的很慢,所以:建议使用前面放出来的那个ip吧,那个稳定得很,直接起飞

不想借助其他东西上github的,这个玩意儿也可以ping github的

23.3、注意事项

可能会遇到修改了信息,还是出现安装插件很慢,那就把网络换成自己的热点试一下,有时确实会出现这种问题

24、Java编译版本使用jdk8

需要在IDEA主界面(就是一开始打开IDEA时的样子,open着项目的那就 file ——> close project ),选择customize ——> all setting进行全局设置

image

25、解决google翻译不能用的问题

此为2022.10.27添加的内容

google翻译不能用是因为从国内撤离了,通过修改hosts文件即可,但是注意:ip需要弄成国外的,不能选国内的,因为国内服务器已经撤离了(但不足为:因为是国外的,响应可能会慢,通过下面提供的测试网址可以适当调整,但下面提供的ip我均在自己电脑上测试过了,响应速度很快)


	windows的hosts文件目录:C:\Windows\System32\drivers\etc\hosts

	Mac地址:/etc/hosts

	Linux地址:/etc/hosts

以下ip均可以使用,随便选择一行,然后添加到上述自己对应系统的文件中即可


142.250.4.90 translate.googleapis.com
172.253.114.90 translate.googleapis.com
172.217.203.90 translate.googleapis.com
172.253.112.90 translate.googleapis.com
142.250.9.90 translate.googleapis.com
172.253.116.90 translate.googleapis.com
142.250.97.90 translate.googleapis.com
142.250.30.90 translate.googleapis.com
142.250.111.90 translate.googleapis.com
172.217.215.90 translate.googleapis.com
142.250.11.90 translate.googleapis.com
142.251.9.90 translate.googleapis.com
108.177.122.90 translate.googleapis.com
142.250.96.90 translate.googleapis.com
142.250.100.90 translate.googleapis.com
142.250.110.90 translate.googleapis.com
172.217.214.90 translate.googleapis.com
172.217.222.90 translate.googleapis.com
142.250.31.90 translate.googleapis.com
142.250.126.90 translate.googleapis.com
142.250.10.90 translate.googleapis.com
172.217.195.90 translate.googleapis.com
172.253.115.90 translate.googleapis.com
142.251.5.90 translate.googleapis.com
142.250.136.90 translate.googleapis.com
142.250.12.90 translate.googleapis.com
142.250.101.90 translate.googleapis.com
172.217.192.90 translate.googleapis.com
142.250.0.90 translate.googleapis.com
142.250.107.90 translate.googleapis.com
172.217.204.90 translate.googleapis.com
142.250.28.90 translate.googleapis.com
142.250.125.90 translate.googleapis.com
172.253.124.90 translate.googleapis.com
142.250.8.90 translate.googleapis.com
142.250.128.90 translate.googleapis.com
142.250.112.90 translate.googleapis.com
142.250.27.90 translate.googleapis.com
142.250.105.90 translate.googleapis.com
172.253.126.90 translate.googleapis.com
172.253.123.90 translate.googleapis.com
172.253.122.90 translate.googleapis.com
172.253.62.90 translate.googleapis.com
142.250.98.90 translate.googleapis.com
142.250.185.238 translate.googleapis.com
142.251.116.101 translate.googleapis.com
216.58.214.14 translate.googleapis.com
142.250.189.206 translate.googleapis.com
216.58.209.174 translate.googleapis.com
142.250.203.142 translate.googleapis.com
142.250.218.14 translate.googleapis.com
142.251.10.138 translate.googleapis.com
142.251.40.174 translate.googleapis.com
142.250.185.174 translate.googleapis.com
172.217.16.46 translate.googleapis.com
172.217.0.46 translate.googleapis.com
172.217.31.142 translate.googleapis.com
216.58.220.142 translate.googleapis.com
172.217.13.142 translate.googleapis.com
142.250.110.90 translate.googleapis.com
172.217.203.90 translate.googleapis.com
172.253.112.90 translate.googleapis.com

若是以上的ip后期失效了,那么测试地址去这里(就是前面放的那个jetbrains测速地址,只是ping的地方改了而已):https://ping.chinaz.com/translate.google.cn

image