1 概述

IDEA全称IntelliJ IDEA,主要用于Java开发的IDE,代码自动提示,重构,JUnit,代码分析等的功能非常牛逼,这篇文章首先介绍目前为止IDEA最新版本的特性,然后从UI,常用设置,快捷键,插件四个部分去食用IDEA.文章内容有点长,慢慢细品.

2 新版本特性

JetBrains在2020年4月9日发布了目前最新的版本:IntelliJ IDEA 2020.1.下面来看看新版本的特性:

2.1 中文

界面支持中文了,需要安装一个叫

Chinses(Simplified) Language Pack

的插件,这个插件是官方提供的.



至于汉化效果....不清楚,笔者不用哈哈.

2.2 Java14

新版本支持Java14,另外可以直接从IDE中下载JDK,不过下载源没有Oracle的...



2.3 LightEdit模式

就是作为简单的文本编辑器模式,无需创建或加载整个项目,就可以在类似文本编辑器中快速修改独立文件.

可以直接右键文件选择IDEA或者使用命令行打开:



界面非常清爽,启动速度非常快,同时菜单栏只剩下了4个:

2.4 禅模式ZenMode

这个模式超赞啊,结合了原来的免打扰模式和全屏模式.

2.5 javadoc渲染

需要设置中开启:



打开一个源码文件,快捷键Ctrl+Alt+Q,渲染后可以调节字体大小.

2.6 导航栏

可以定位到具体字段或方法.

2.7 改进Http Client

可以补全URL路径:



并且对于Spring MVC可以直接创建或者打开现有的HTTP请求文件并导航到HTTP Client:

2.8 其他

  • 终端拆分:

  • JBR11:

    JBR8成为历史,彻底过渡到JBR11:

  • IntelliJ Light与Windows10 Liight主题:

  • 新字体:JetBrains Mono(支持连字哦):



    更多新特性请看官网,戳这里.

3 UI篇

好了,新特性看完了,下面看看如何做出一个漂亮的IDEA.

3.1 背景

一个好看的IDE怎么能没有背景?



可以选择透明度和缩放方式,提供了预览:



整体效果:

3.2 主题

一个好看的IDE怎么能没有一个好看的主题?

戳这里下载主题.



笔者用的是Monokai Sublime Text 3:



下载之后,从Fille处导入:



提示窗口ok就行,然后重启:



(这里真心吹一下这个主题...不得不说真的漂亮)

3.3 字体

嗯...字体...这个贼重要!!!

推荐使用等宽字体,例如:

Source Code Pro:



Consolas:



Droid Sans Mono:



或者新字体也不错JetBrains Mono:



下面看看连字字体,首先开启连字设置:



新字体JetBrains Mono是支持连字的:



另一个要推荐的连字字体是Fira Code:



也很不错.

3.4 整体风格

3.4.1 字体大小

如果觉得菜单栏字体小的话可以调大一点,字体建议不要改,改大小就好.

3.4.2 UI元素以及模式切换



建议为工具栏,工具窗口栏,状态栏以及导航栏设置一个快捷键,然后可以快速切换一个简洁模式.

另外为全屏模式/免打扰模式/禅模式设置一个缩写词也是一个不错的选择,方便快速切换:



推荐为其中一个绑定一个鼠标快捷键,比如中键单击,这样就可以中键单击切换.



3.4.3 侧栏窗口

非必要固定建议改成Undock,滑动效果非常不错:



3.4.4 编辑器



第一个是Soft-Wrap,就是对于太长的行显示成多行,但并没有实际插入换行符,相对的是Hard Wrap,可以在Editor->Code Style中设置.



第二个会对Tab进行显示:



第三个显示行数,第四个是侧栏图标:



关闭后:



第五个是缩进引导线:





第六个"面包屑"(实际上是个导航栏,概念来自童话故事"汉赛尔和格莱特"):





第七个是import时的弹出的窗口.

4 常用设置篇

这部分包含了一些常用的而且有用的设置.

4.1 控制台

Windows下的终端有很多,除了自带的cmd ,powershell ,还有Fluent Terminal,Windows Terminal,ConEmu,Hyper,Cmder,wsl等等,随便美化一下都很不错:

没错来晒终端了.

先来自带的powershell(感谢伟大的oh-my-posh):



Fluent Terminal:



Windows Terminal:



VSCode集成效果:



至于IDEA...显示有点问题,就不截图了,图形显示得有点奇怪,可能是windows上的终端支持得不够好.

搞了这么多最后还是决定把终端给关了(老老实实用Windows Terminal...)



IDEA的终端是一个插件,不需要的话关了就好,如果需要的话,可以直接搜索Terminal,在shell Path这里设置默认终端的路径(默认cmd),搜索Console Font修改字体.

4.2 自动去除未引用的包

Editor-Gereral-Auto Import:

4.3 编码统一UTF8

4.4 JDK

建议JDK统一.

4.4.1 编译JDK

4.4.2 项目JDK

4.4.3 模块JDK

4.4.4 已有JDK



2020.1版本提供了下载JDK的功能.

4.5 Maven/Gradle

构建工具一般用Maven或Gradle,通常需要用其中一个即可,笔者用的是Maven,以Maven为例.

首先修改用户目录下的.m2/settings.xml,这个是Maven的配置文件,建议修改localRepository:



默认位置如图,对于Windows用户不建议C盘,在其他地方找一个,填绝对路径.

其次在<mirrors>加入如下镜像:

<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror> <mirror>
<id>uk</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://uk.maven.org/maven2/</url>
</mirror> <mirror>
<id>CN</id>
<name>OSChina Central</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror> <mirror>
<id>nexus</id>
<name>internal nexus repository</name>
<url>http://repo.maven.apache.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>

然后打开设置就可以看到对应的更改了.

4.6 关闭标签栏



一次只打开一个文件,也就是说没有标签栏,看个人吧.

4.7 自动编译

这功能用起来非常爽,强烈建议开启,配合JRebel,从此让漫长的编译与部署见鬼去吧!



两次shift搜索Registry:



找到compiler.automake.allow.when.app.running:



需要的话可以加上compile.document.save.trigger.delay,这个是针对静态文件如JS,CSS的更新.

4.8 代码补全不区分大小写



看个人,关了匹配大小写的话,直接输入小写字母除了补全变量以外还会补全类,可能会带来一点不方便.

4.9 代码模板/补全

VScode中的syso就可以输出System.out.println,这个应该很多人知道,但是IDEA中不可以(虽然,用的是sout).

如果想用syso输出怎么办呢?

没事,用补全!

IDEA中的补全分为两种,一种是模板补全(Live Templates),一种是后缀补全(Postfix Completion).

4.9.1 Live Templates

先看一下自带的模板:



新建一个模板组,叫Java:



然后添加模板:



define这里可以选择应用的范围,从上到下是:注释,声明,表达式,智能类型补全,语句,字符串,其他.



然后输入补全的内容,其中

$END$

表示光标的位置(类似的还有很多,具体查看默认的模板).



如果不想用Tab补全,可以考虑一下空格(不过估计半年后键盘的空格就弹不起来).

当然,这样只能补全自定义的模板,一些自定义的类无法使用空格,可以考虑加一个全局的快捷键:



这样就能实现空格补全了(努力让空格弹不起来吧!!!)

再介绍一个字符串常量补全:



利用了内置的函数capitalizeAndUnderscore(字母大写,并且下划线分隔)与cipboard(调用剪贴板最近一次内容).

首先把变量名复制到剪贴板,然后调用补全"cs",配置如下:



还有其他很多函数,详见官网文档(戳这里).

4.9.2 Postfix Completion

后缀补全其实就是输入.之后出现的补全,比如:



自带的后缀补全已经很强大了,包括常用的for,fori,if,iter等:



这里添加一个数组输出的补全作为例子:



其中

$EXPR$

表示目标表达式,上面可以选择应用的表达式类型,这里是数组,也就是说,只有对于数组类型才会出现这个后缀补全:

4.10 ctrl+滚轮改变字体大小

5 快捷键篇

官方快捷键参考列表:

5.1 编辑

作用
Ctrl+Space 基本代码补全
Ctrl+Shift+Space 智能代码补全
Ctrl+Shift+Enter 补全语句
Ctrl+Q 快速查看文档
Alt+Insert 生成代码(getter/setter,构造方法,toString等)
Ctrl+O 重载方法
Ctrl+I 实现接口方法
Ctrl+Alt+T 代码包裹(if/else/try/catch...)
Ctrl+/ 行注释/取消行注释
Ctrl+Shift+/ 块注释/取消块注释
Ctrl+W 扩展选择范围
Ctrl+Shift+W 缩减选择范围
Alt+Enter 快速修复问题和显示猜测动作
Ctrl+Alt+L 重新格式化代码
Ctrl+Shift+I 自动缩进行
Ctrl+Shift+V 从缓冲区粘贴(Ctrl+C过的内容会放进缓冲区,监控系统剪切板)
Ctrl+D 复制当前行或选择块
Ctrl+Y 删除当前行
Ctrl+Shift+J 智能连接行
Ctrl+Enter 智能行截断
Shift+Enter 智能新增行
Ctrl+Shift+U 切换光标所在单词或选择块大小写
Ctrl+Shift+[/] 选择到代码块开始/结束
Ctrl+Backspace/Delete 删除到单词首/尾
Ctrl+ +/- 折叠/打开代码块
Ctrl+Shift+ +/- 折叠所有/打开所有

5.2 查找类/方法/变量使用情况

作用
Alt/Ctrl+F7 (Ctrl表示在文件中)查找光标所在的类/方法/变量使用情况
Ctrl+Shift+Alt+F7 在文件中高亮光标所在的类/方法/变量
Ctrl+Alt+F7 显示使用情况

5.3 导航

作用
Ctrl+N 定位到类
Ctrl+Shift+N 定位到文件
Ctrl+Alt+Shift+N 定位到标记
Alt+Right/Left (建议改成Ctrl+Tab/Ctrl+Shift+Tab)切换到下一个/上一个标签
ESC 回到编辑器
Shift+ESC 隐藏当前或者上一次激活的窗口
Ctrl+G 定位到行
Ctrl+E 定位到最近打开的文件
Ctrl+Shift+Backspace 定位到上一个编辑位置
Ctrl+B 定位到声明
Ctrl+U 定位到父类/夫方法
Alt+Up/Down 定位到上一个/下一个方法
Ctrl+[/] 定位到代码块开始/结束
Ctrl+H 类型层次结构
Ctrl+Shift+H 方法层次结构
Ctrl+Alt+H 调用层次结构
F2/Shift+F2 下一个/上一个高亮错误
F11 切换书签状态
Ctrl+ 0-9 定位到书签
Shift+F11 显示书签

5.4 搜索/替换

作用
Shift两次 搜索所有
Ctrl+F 搜索
F3/Shift+F3 搜索下一个/上一个
Ctrl+R 替换
Ctrl+Shift+F 全局搜索
Ctrl+Shift+R 全局替换

5.5 代码模板

作用
Ctrl+Alt+J 模板包裹
Ctrl+J 插入模板

5.6 重构

作用
F5 复制
F6 移动
Alt+Delete 安全删除
Shift+F6 重命名
Ctrl+F6 重构类/方法
Ctrl+Alt+N 内联
Ctrl+Alt+M 提取当前选择为方法
Ctrl+Alt+V 提取当前选择为变量
Ctrl+Alt+F 提取当前选择为字段
Ctrl+Alt+C 提取当前选择为常量
Ctrl+Alt+P 提取当前选择为参数

5.7 调试

作用
F8/F7 step over/into
Shift+F8/Shift+F7 智能step over/into
Alt+F9 运行到光标处
Alt+F8 计算表达式
F9 恢复程序
Ctrl+F8 切换断点
Ctrl+Shift+F8 查看断点

5.8 编译和运行

作用
Ctrl+F9 构建工程
Ctrl+Shift+F9 编译选择的文件/包/模块
Alt+Shift+F10/F9 选择配置运行/调试
Shift+F10/F9 运行/调试

5.9 版本控制系统/本地历史

作用
Ctrl+K/T 提交工程到VCS/从VCS更新
Alt+Shift+C 查看文件最近变化
Alt+反引号 VCS操作窗口

5.10 通用

作用
Alt+0 信息窗口
Alt+1 项目窗口
Alt+2 收藏窗口
Alt+3 查找
Alt+4 运行窗口
Alt+5
Alt+6 TODO窗口
Alt+7 项目结构窗口
Alt+8 服务窗口
Alt+9 版本控制
Alt+Shift+F 添加到收藏
Ctrl+反引号 切换主题
Ctrl+Alt+S 设置窗口
Ctrl+Alt+Shift+S 项目结构窗口
Ctrl+Shift+A 查找动作
Ctrl+Tab 切换窗口/标签

5.11 必记

记一些必要的就好了.

  • 重载/接口方法:Ctrl+O/I
  • 代码包裹:Ctrl+Alt+T
  • 注释:Ctrl+/ Ctrl+Shift+/
  • 选择:Ctrl+W Ctrl+Shift+W
  • 万能搜索:两次Shift
  • 定位文件:Ctrl+E
  • 定位行:Ctrl+G
  • 搜索/替换:Ctrl+(Shift+)F Ctrl+(Shift+)R
  • 代码模板:Ctrl+(Alt+)J
  • 重构:Ctrl+Alt+C/V/M
  • 调试:F7 F8 Shift+F9
  • 运行:Shift+F10
  • VCS:Alt+反引号
  • 切换窗口:Alt+数字

6 插件篇

6.1 自带插件

IDEA自带的插件分为了18类,分别是

  • Android
  • Build Tools
  • Code Coverage
  • Database
  • Deployment
  • HTML and XML
  • IDE Settings
  • JavaScript Frameworks and Tools
  • JVM Frameworks
  • Languages
  • Plugin Development
  • Style Sheets
  • Swing
  • Template Languages
  • Test Tools
  • Themes
  • Version Controls
  • Other Tools

建议不需要的可以选择关闭,只是Java开发的话,可以关掉Android,Build Tools中的Ant与Gradle,JavaScript Frameworks and Tools中的CoffeeScript等等.另外新版本带了一个win10主题插件:



是亮色主题,不需要也可以顺便关了.

对于VCS,大部分人应该用的是Git与Github,可以把Mercuial,Perforce,Subversion关了.

作为一个牛逼的IDE,除了自带的插件外,当然需要安装额外的插件,那么,下面就是激动人心的插件推荐环节.

6.2 Code Glance

代码小地图,默认快捷键Ctrl+Shift+G:

6.3 Grep Console

控制台高亮输出,默认配置有一个叫default的组,里面按照日志的等级划分,可以进行不同颜色的高亮,需要手动配置.

6.4 GsonFormat

根据JSON自动生成对应的字段与getter/setter.

6.5 IdeaVim

Vim键位绑定,神器不解释.

6.6 Key Promoter X

快捷键提示工具,每次使用鼠标点击操作会提示这个操作的快捷键和个人使用次数,如果没有快捷键的话会提示绑定快捷键.

6.7 Rainbow Brackets

看名字就知道了,彩色的括号:

6.8 JRebel and XRebel

热部署插件,有了它,不用再等待漫长的编译和部署.

具体使用看笔者的另一篇文章,戳这里.

6.9 Lombok

强大的注解工具,常用的注解有:

  • @Getter/@Setter:可以作用与类或成员上,作用与类上生成所有成员的getter/setter,作用与成员生成该成员的getter/setter.
  • @ToString:作用与类上,覆盖默认的toString,可以通过of/exclude限定/排除某些字段.
  • @EqualsAndHashCode:作用与类上,覆盖默认的equals与hashCode.
  • @NonNull:作用与成员变量/参数,标识不能为空.
  • @NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor:作用与类上,分别表示生成无参构造方法,生成包含final与@NonNull的成员变量的构造方法,生成所有成员变量的构造方法.
  • @Data:作用与类上,等价于@ToString+@EqualsAndHashCode+@Getter+@Setter+@RequiredArgsConstructor.

具体使用方式自行搜索.

6.10 power-mode

敲代码爽得飞起:



设置在Apperance中,建议把SHAKE!(晃动),FLAMES!(火焰)与POWER INDICATOR!(右下角的小窗口)关闭.

6.11 Translation

谷歌翻译插件,直接右键翻译即可.



设置目标语言为中文.

6.12 插件安装

如果直接从插件仓库安装得慢的话可以直接下载插件从本地安装.



以上插件合集:

Github.

码云.

7 参考

1.Idea使用指南--实用版

2.【开发工具】IDEA简明使用指南

3.程序员必备编译器 IntelliJ IDEA使用指南

4.IntelliJ IDEA 2020.1 正式发布,15 项重大特性、官方支持中文了!

5.IntelliJ Idea 常用快捷键列表

6.Lombok的基本使用

如果觉得文章好看,欢迎点赞.

同时欢迎关注微信公众号:氷泠之路.

嗝,我饱了——IDEA食用指南的更多相关文章

  1. Angular 从入坑到挖坑 - 组件食用指南

    一.Overview angular 入坑记录的笔记第二篇,介绍组件中的相关概念,以及如何在 angular 中通过使用组件来完成系统功能的实现 对应官方文档地址: 显示数据 模板语法 用户输入 组件 ...

  2. ffuf 基础食用指南

    PS: 1. 下文出现的某些字典 有可能是因为摆出效果 我自己瞎搞得字典 2. 分享一些好的工具 3. 其实Wfuzz也很好用的 4. 很早之前就在语雀写过Wfuzz和ffuf的笔记 但是一直没有公开 ...

  3. Git 简易食用指南 v2.0

    写在前面 一开始我们先聊一聊版本控制,什么是版本控制呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.具体大类分为: 本地版本控制系统 集中式版本控制系统SVN 分布式 ...

  4. go 食用指南

    Golang高效食用秘籍 一.关于构建 1.1 go环境变量 $ go env // 查看go 的环境变量 其中 GOROOT 是golang 的安装路径 GOPATH 是go命令依赖的一个环境变量 ...

  5. 二.Spring boot食用指南:结合Jpa(Hibernate) 构建MVC架构

    1.POM依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w ...

  6. 滴滴出行开源项目doraemonkit食用指南

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/94 doraemonkit 功能介绍 一两周前在地铁上刷任 ...

  7. 恭喜你,Get到一份 正则表达式 食用指南

    先赞后看,养成习惯 前言 正则表达式 正则表达式: 定义一个搜索模式的字符串. 正则表达式可以用于搜索.编辑和操作文本. 正则对文本的分析或修改过程为:首先正则表达式应用的是文本字符串(text/st ...

  8. [日常填坑系列]CAP食用指南-版本引用问题

    一.前言 最近,由于好久没升级底层框架,一直用着netcore2.2版本,导致有些包没能更新到最新的版本,例如:CAP. 然而,在最近升级到CAP:3.1.2版本的时候,发现有点小坑,只能退回到CAP ...

  9. python学习笔记 | macOS Big Sur动态壁纸食用指南

    目录 前言 爬虫篇 壁纸使用篇 后记 前言 北京时间23日凌晨1点,苹果WWDC2020大会开幕.在发布会上,苹果正式发布了新版macOS,并将其命名为"Big Sur". 相比于 ...

随机推荐

  1. Dev GridControl列绑定LookUpEdit数据源:默认值

    在Winform开发过程中,GridControl控件是比较常见的,尤其是其数据源的灵活性,为我们提供了不少的便利. 在使用Dev的GridControl的时候,有时候会在列的Column Edit属 ...

  2. HTTP/1.1报文详解

    本文为<三万长文50+趣图带你领悟web编程的内功心法>第三个章节. 3.HTTP/1.1报文详解 在RFC2616中心详细的描述了HTTP/1.1[1]的报文,感兴趣的朋友也可以前往阅读 ...

  3. Spring Boot和Thymeleaf整合,结合JPA实现分页效果

    在项目里,我需要做一个Spring Boot结合Thymeleaf前端模版,结合JPA实现分页的演示效果.做的时候发现有些问题,也查了现有网上的不少文档,发现能全栈实现的不多,所以这里我就把我的做法, ...

  4. 腾讯数据库tdsql部署与验证

    环境准备 | 主机 | IP | 配置(最低要求配置) | | :----- | ------------- | ------------------ | | node-1 | 192.168.1.8 ...

  5. Java流程控制:循环结构

    一.简介 顺序结构的程序语句只能被执行一次,如果您想要同样的操作执行多次,就需要使用循环结构. Java中有三种主要的循环结构: 'while'循环 'do...while'循环 'for'循环 在J ...

  6. 后端程序员之路 32、Index搜索引擎实现分析1-类的设计

    # 1.forward_index 正排索引(正向索引)- filter_t- filter_judge # 2.inverted_index 倒排索引(反向索引)- inverted_pre_sco ...

  7. HDOJ-1024(动态规划+滚动数组)

    Max Sum Plus Plus HDOJ-1024 动态转移方程:dp[i][j]=max(dp[i][j-1]+a[j],max(dp[i-1][k])+a[j]) (0<k<j) ...

  8. POJ-1458(LCS:最长公共子序列模板题)

    Common Subsequence POJ-1458 //最长公共子序列问题 #include<iostream> #include<algorithm> #include& ...

  9. spring 整合kafka监听消费

    前言 最近项目里有个需求,要消费kafka里的数据.之前也手动写过代码去消费kafka数据.但是转念一想.既然spring提供了消费kafka的方法.就没必要再去重复造轮子.于是尝试使用spring的 ...

  10. 测试平台系列(2) 给Pity添加配置

    给Pity添加配置 回顾 还记得上篇文章创立的「Flask」实例吗?我们通过这个实例,给根路由 「/」 绑定了一个方法,从而使得用户访问不同路由的时候可以执行不同的方法. 配置 要知道,在一个「Web ...