前言

最近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. 使用idea搭建SSH

    一.新建项目 选中Spring strust2 hibernate 二.见项目根路径下的lib下的jar移动到WEB-INF下 移动 修改路径 在lib目录下导入[c3p0-0.9.5.2.jar]. ...

  2. IntelliJ IDLE

    目录 IntelliJ IDLE java项目结构 代码生成 psvm sout 快捷键 更改代码提示快捷键 代码相关快捷键 窗口相关快捷键 Debug快捷键 主题导入 下载主题 导入主题 应用主题 ...

  3. 分布式均匀算法--hash性一致算法--hash slot(转)

    目录 1.redis cluster介绍 2.最老土的hash算法和弊端(大量缓存重建) 3.一致性hash算法(自动缓存迁移)+虚拟节点(自动负载均衡) 不用遍历    -->   hash算 ...

  4. 高性能迷你React框架anujs1.1.3发布

    anujs现在只差一个组件(mention)就完全支持阿里的antd UI库了.一共跑通346个测试, 应该是全世界最接近官方React的迷你框架了. 以后的工作就是把React16的一些新特性支持了 ...

  5. winform 窗体间传值

    WinForm 两窗体之间传值实例 2010-12-27 22:10:11|  分类: 学业|举报|字号 订阅     下载LOFTER我的照片书  |     窗体Form1和Form2 Form2 ...

  6. 华为云搭建windows+wordpress+xampp

    1.如何将本地文件上传至华为云ECS云服务器(Windows系统) 1.1 在本地电脑上,快捷键“WIN+R"打开“运行”中输入“mstsc”,点击确定 1.2  在“远程桌面连接”框点击“ ...

  7. myeclipse2014下卸载,安装maven插件。

    转自:https://blog.csdn.net/gaoshang10/article/details/21177893 一.卸载方法: 点击Help->About Myeclipse Ente ...

  8. C# 中定义扩展方法

    1.编写扩展方法类 using System; using System.Collections.Generic; using System.Linq; using System.Text; name ...

  9. django + celery的队列,路由与弹性

    #celery_app.py #!/usr/bin/env python # -*- coding: utf-8 -*- from __future__ import absolute_import ...

  10. 03python面向对象编程之多态和枚举6

    7.多态性 对于弱类型的语言来说,变量并没有声明类型,因此同一个变量完全可以在不同的时间引用不同的对象.当同一个变量在调用同一个方法时,完全可能呈现出多种行为(具体呈现出哪种行为由该变量所引用的对象来 ...