前言

最近IntelliJ又由于自己的骚操作给弄崩溃了,导致之前弄的一大波配置又找不到了,十分蛋疼的又要开始重头开始弄环境。很多之前精心搞过的配置又都记不住了,为了防止以后出现这种情况,这里就把我日常用的配置和注意点记一下,免得以后又要重新摸索。尽量持续更新。

安装

安装这块没啥好说的,不过要注意的是,虽然 IntelliJ 有 Community 版,但是毕竟还是少了一些东西的,比如对JavaScript的支持、一些静态检查的支持、Spring框架的整体支持等等。因此还是不要太委屈自己了,安装个正式版然后激活下好了(罪过罪过,实在是正版太贵了)。

配置

修改文件模板

合作写代码的时候,一般都要求在自己创建的文件头加上一些创建者的信息,用以方便交流。

方法是找到下面的路径:File > Settings > Editor > File and Code Templates > Includes > File Header,并修改文件模板:

1
2
3
4
/**
* @author ${USER}
* @date ${DATE}
*/

当然,@date 并不是标准的javadoc注解,不过也无妨了。

修改编辑器样式

人老了,眼神不好,编辑器字体太小的话为了看清楚还要凑上去,对颈椎也不好。

方法找到下面的路径: File > Settings > Editor > Font,并把Size设为一个合适的大小(蛋疼的默认设置竟然是12磅),我现在似乎对16磅的感觉比较舒服,不排除以后用更大的字体。

而且,一般公司的灯光都不错,用白底的主题更舒服。在File > Settings > Appearance & Behavior > Appearance里将Theme调成IntelliJ即可。

自动Import包时少用通配符

一般在 import 其他包的类时,如果来自同一个包的类比较多,IntelliJ 会弄个通配符出来,缩成一行。这样做可以减少文件长度,但是容易把本地的名空间弄混乱,可读性会差一点,因此一般会建议显示 import 所有需要的类而不要用通配符。

方法是找到下面的路径: File > Settings > Editor > Code Style > Java > Imports,并将 Class count to use import with "*" 和 Names count to use static import with "*" 设为一个较大的值。

序列化接口提示自动生成serialVersionUID

序列化的时候如果不指定serialVersionUID,那么实际上每次都要根据类的定义去计算一个UID,这个计算的结果很可能会受编译器的影响,容易导致UID的不一致,出现序列化/反序列化失败。

不知为何 IntelliJ 默认没有增加这个 Inspection ,那我们加一下就好了。

找到下面的路径:File > Settings > Editor > Inspections。首先把 Profile 设置成Default IDE,这样配置才能在所有项目中应用,否则就只在当前项目中应用。然后在Java > Serialization issues中,找到Serializable class without 'serialVersionUID',并把校验勾上。

增加了 Inspections 告警之后,就可以条件激活时,触发 Intention 的提示,这样就可以使用 alt + enter 直接自动生成UID了。

话说回来,有一个叫GenerateSerialVersionUID的插件也是专门用来做这件事的,不过相比较之下还是直接改下配置更轻量。

指定JavaScript语言

JavaScript的语言特性飚的太快了,为了防止使用新特性报错,需要调一下语言等级。

找到下面的路径:File > Settings > Languages & Frameworks > JavaScript,并将 JavaScript language version 调整为 ECMAScript 6或以上。

插件

对于插件,最好的原则应当是宁缺毋滥。曾经有一段时间我也是一听说有什么新奇的插件都会装来已用,后来发现很多东西到头来根本用不到。其实很多功能 IDEA 本身就已经很强大了,再额外装那些看上去很帅其实并没有什么卵用的插件其实只能把开发环境弄的乱七八糟,各种热键冲突,各种中英文混淆,各种不适配的Bug,反而让人用起来很烦躁。况且很多所谓插件提供的功能,IDEA 本身其实是慢慢都已经支持了。因此与其到处找新插件,倒不如仔细研究一下 IntelliJ 自身已经提供的功能。

这里也顺便吐槽一下很多推荐插件的文章,我反正是完全不相信他们自己会用他们推荐的插件的。

IDE Features Trainer

插件地址: IDE Features Trainer
使用理由: 在刚接触 IntelliJ 的时候,一定要先使用一下这个插件。安装之后可以在View > Tool Windows > Learn里打开练习页。这个插件能非常全面的过一遍 IntelliJ 的快捷键,运用熟练之后开发效率能有很大提升。

Vue.​js

插件地址: Vue.js

使用理由: 对于平时需要使用 Vue.js 开发一些页面的我来说,一个支持 Vue.js 语法的插件当然十分有用了啊,否则就是各种波浪线,很难受的。

VisualVM Launcher

插件地址: VisualVM Launcher

使用理由: 对于需要经常使用 visualvm 来进行性能调优和 debug 的我来说,一个可以直接帮我启动 visualvm 并打开当前正在调试的应用的按钮还是很方便的。

Lombok

插件地址: Lombok

使用理由: 虽然我个人不喜欢用 Lombok ,毕竟这玩意不方便调试,而且容易跟 gradle 和 jdk 产生构建冲突,非常蛋疼。但是鉴于很多同事喜欢用这玩意,导致不装这个东西就根本调试不了他们的代码,所以没辙,这玩意必须得装,没得选。

Alibaba Java Coding Guidelines

插件地址: Alibaba Java Coding Guidelines

使用理由: 阿里的代码规约插件还是能让我们学到一些不错的规范的,在 IntelliJ 自带的 Inspection 的基础上更进一步,可以看成是一种补充。用的时候记得把语言调成英文,食用起来更可口。

CodeGlance

插件地址: CodeGlance

使用理由: IntelliJ 自带的滚动条还是太细了点,文件比较长的时候,想拖动的话还是不太方便的。CodeGlance 能做到在右边加一个类似 VSCode 的缩略图,拖动起来就方便多了。

注意事项

最后是两个最重要的注意事项,当 IntelliJ 没啥响应,总是在做一些后台操作却又无法中止时,可以尝试这两种方法修复:

清除缓存并重启

很多情况下,重启可以解决。如果是 IntelliJ 内部运行的问题,清一下缓存文件也可以解决了。

方法是选择File > Invalidate Caches / Restart,清除 IntelliJ 的缓存并重启。

禁止索引无用文件

如果发现清除了缓存还没用的话,多半是你的文件数太多了,IntelliJ 根本就处理不过来了。出现这个问题的原因是,IntelliJ 需要首先加载并索引项目的文件,但是你的项目中很可能存在太多的本不需要索引的文件,导致 IntelliJ 加载不完。比如在开发前端时下载的node_modules/文件夹之类的。因此我们需要把这一类的文件夹排除在索引名单中。

方法是在File > Project Structure中,找到这类的文件夹并将其标记为橘黄色的Excluded。这样 IntelliJ 就不会索引这些无用的文件了。(没错,这次我就是因为忘记了这个操作才先重装了一下导致配置全部丢失的。)

链接地址:https://blog.mythsman.com/2019/04/11/1/

IntelliJ常用配置备忘的更多相关文章

  1. Manjaro启动项目及服务配置备忘

    Manjaro启动项目及服务配置备忘 =============== 系统服务GUI管理搜索 systemdgenie 并安装,类似Windows的服务管理. ================ 系统启 ...

  2. 生产服务器环境最小化安装后 Centos 6.5优化配置备忘

    生产服务器环境最小化安装后 Centos 6.5优化配置备忘 作者:Memory 发布于:2014-8-13 15:00 Wednesday 服务器 本文 centos 6.5 优化 的项有18处: ...

  3. 生产服务器环境最小化安装后Centos 6.5优化配置备忘

    生产服务器环境最小化安装后 Centos 6.5优化配置备忘 本文 centos 6.5 优化 的项有18处,列表如下: 1.centos6.5最小化安装后启动网卡 2.ifconfig查询IP进行S ...

  4. jenkins持续集成配置备忘

    配过好几次,但是老忘记.记录备忘. 安装下列插件: ssh和git插件用来下载源码 publish over ssh 插件用来发布代码到测试环境. email插件用来更强大的email配置. file ...

  5. macOS 中 apache vhosts 配置备忘

    1. 修改 apache 服务器指向的根目录 macOS 默置了 apache,有以下几个常用命令: sudo apachectl -v // 查看 apache 版本 httpd -v // 同上 ...

  6. centos配置备忘(apache\php\mysql)

    1. 安装apache\php\mysql=======================================yum -y install httpd php mysql mysql-ser ...

  7. Web Config配置备忘

    数据压缩 <httpCompression>节点用于配置静态压缩和动态压缩,<urlCompression>则用于开关 http压缩 <urlCompression do ...

  8. vps_centos_7_系统环境常规配置备忘

    1.设置时区(东八区) 1> 选择亚洲东八区北京时间:tzselect (按照提示选择指定的序号直到北京时间) 2>替换时区文件 :cp /usr/share/zoneinfo/Asia/ ...

  9. Nginx基本配置备忘

    原文:http://www.open-open.com/lib/view/open1482477873078.html Nginx 配置 在了解具体的Nginx配置项之前我们需要对于Nginx配置文件 ...

随机推荐

  1. [LeetCode] 39. 组合总和

    题目链接 : https://leetcode-cn.com/problems/combination-sum/ 题目描述: 给定一个无重复元素的数组 candidates 和一个目标数 target ...

  2. 4-2如何判断字符串a是否以字符串b开头或结尾

    1.相关介绍 1.1修改文件权限和查看文件权限 在windows平台实验时 os.chmod()无法将文件权限修改为可执行,暂不深究如何实现.在linux平台进行测试. (1)创建三个文件 pytho ...

  3. Dire Wolf——HDU5115(区间DP)

    题意 就是有一对狼,每个狼有初始的攻击力,并且还能给左右两边的狼提供攻击力加成,当冒险家杀死一头狼的时候他也会受到这个狼目前攻击力的伤害 实例解析 33 5 78 2 0 有三头狼,刚开始第二头狼给他 ...

  4. “程序包com.sun.tools.javac.util不存在” 问题解决

    最近工作中在编译打包项目的时候遇到了如标题所示的问题,报这个错误的类是 com.sun.tools.javac.util.Pair.问题很诡异,在Idea可以导入此类,项目启动运行也很正常,但就是在打 ...

  5. MAC设置环境变量

    1. Mac 启动加载文件位置(可设置环境变量) ------------------------------------------------------- (1)首先要知道你使用的Mac OS ...

  6. Spring Boot实现SAAS平台的基本思路

    一.SAAS是什么 SaaS是Software-as-a-service(软件即服务)它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器 上,客户可以根据自己实际需求,通 ...

  7. jquery.lazyload (JS懒加载框架使用详解)

    /** 本地加载方式加载JS*/        NSString *path = [[NSBundle mainBundle] pathForResource:@"jquery.js&quo ...

  8. linux 防止误操作 mysql 数据库技巧

    mysql 帮助说明 1[oldboy_c64 ~]# mysql --help|grep dummy 2 -U, --i-am-a-dummy Synonym for option --safe-u ...

  9. linux Apache 日志轮询

    安装日志轮询工具 cronolog [root@Nagios-Server tools]# wgethttp://cronolog.org/download/cronolog-1.6.2.tar.gz ...

  10. Codeforces 962 /2错误 相间位置排列 堆模拟 X轴距离最小值 前向星点双连通分量求只存在在一个简单环中的边

    A #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #def ...