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. 死磕Spring之IoC篇 - 文章导读

    该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读 Spring 版本:5.1. ...

  2. 使用 Tye 辅助开发 k8s 应用竟如此简单(五)

    续上篇,这篇我们来进一步探索 Tye 更多的使用方法.本篇我们来了解一下如何在 Tye 中实现对分布式链路追踪. Newbe.Claptrap 是一个用于轻松应对并发问题的分布式开发框架.如果您是首次 ...

  3. java与freemarker遍历map

    一.java遍历MAP /** * 1.把key放到一个集合里,遍历key值同时根据key得到值 (推荐) */ Set set =map.keySet(); Iterator it=set.iter ...

  4. Windows开发常用快捷键

    毕业后一直在从事Windows开发工作,掌握些常用的Windows快捷键可以大大的提升工作效率,同时还能秀一波操作.本文记录在工作中常用的Windows快捷键,以及VS常用快捷键.掌握了这些键盘操作, ...

  5. 简单&&大数取模

    Big Number Problem Description As we know, Big Number is always troublesome. But it's really importa ...

  6. 数据结构-PHP 线段树的实现

    转: 数据结构-PHP 线段树的实现 1.线段树介绍 线段树是基于区间的统计查询,线段树是一种 二叉搜索树,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点.使用线段树可以快速的查 ...

  7. JavaWeb随笔整理

    JavaWeb随笔整理 为方便阅读,故整理了相关学习笔记 前端相关 HTML CSS JavaScript BootStrap 数据库相关 MySQL基础 MySQL表的约束和数据库设计 MySQL多 ...

  8. Java的特性和优势以及不同版本的分类,jdk,jre,jvm的联系与区别,javadoc的生成

    Java 1.Java的特性和优势 Write Once,Run Anywhere 简单性 面向对象 可移植性 高性能 分布式 动态性 多线程 安全性 健壮性 2.Java的三大版本 JavaSE:标 ...

  9. Git 常用命令 和 安装

    这年头不会点git还真不能与别人进行代码交流 安装 windowns版下载:https://git-scm.com/download/win ,下载完成后就自己手动安装 ,很简单就不多说. Ubunt ...

  10. phpMyAdmin Transformation 任意文件包含/远程代码执行漏洞

    漏洞参考 https://yq.aliyun.com/articles/679633 国外提供了一个在线测试的靶场     默认密码  root  toor https://www.vsplate.c ...