前言

最近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. 使用Object.create()实现继承 用 Object.create实现类式继承

    使用Object.create()实现继承:https://www.cnblogs.com/cuew1987/p/4075027.html 用 Object.create实现类式继承:https:// ...

  2. Y7000 安装ubuntu16.04.6 的tips :禁用nouveau 、Wifi 问题 、nvidia 驱动安装

    由于最近要跑DeepLearning 所以在自己的Y7000上装一个Ubuntu ,自己碰了好多壁 写下来以防止自己忘掉以便后续再用! 配置:i7-8750H +GeForce GTX 1050Ti ...

  3. HNUSTOJ 1444:树的最长路径

    1444: 树的最长路径 时间限制: 1 Sec  内存限制: 128 MB 提交: 18  解决: 7 [提交][状态][讨论版] 题目描述 定义:无向树中结点的路径为该结点所能到达的最远距离:无向 ...

  4. P4290 [HAOI2008]玩具取名

    传送门 $dp$ 设 $f[i][j][k]$ 表示初始为 $k$ 时,能否得到 $[i,j]$ 这一段子串 设 $pd[i][j][k]$ 表示长度为二的字符串 $ij$ 能否由 $k$ 得到 然后 ...

  5. wordpress数据库结构以及数据表之间的关系

    默认WordPress一共有以下11个表.这里加上了默认的表前缀 wp_ . wp_commentmeta:存储评论的元数据 wp_comments:存储评论 wp_links:存储友情链接(Blog ...

  6. linux MySql 的主从复制部署

    MySql 复制 mysql 复制:将某一台主机上的 Mysql 数据复制到其它主机(slaves)上,并重新执行一遍从而实现 当前主机上的 mysql 数据与(master)主机上数据保持一致的过程 ...

  7. 使用Medusa美杜莎暴力破解SSH密码

    使用Medusa美杜莎暴力破解SSH密码 1.Medusa简介 Medusa(美杜莎)是一个速度快,支持大规模并行,模块化的爆力破解工具.可以同时对多个主机,用户或密码执行强力测试.Medusa和hy ...

  8. 解决vuex数据页面刷新后初始化问题

    在vue项目的开发中经常会用到vuex来进行数据的存储,然而在开发过程中会出现刷新后页面的vuex的state数据初始化问题!下面是我用过的解决方法 利用storage缓存来实现vuex数据的刷新问题 ...

  9. 计蒜客 蓝桥模拟 F. 结果填空:数独

    代码: #include <cstdio> #include <cstdlib> #include <cstring> #include <iostream& ...

  10. systemd 相关及服务启动失败原因

    1 查看启用的units systemctl list-unit-files | grep enabled 2 查看指定服务的日志 按服务单元过滤 journalctl -u j   查看j.serv ...