工欲善其事必先利其器
基本概念
IDEA 没有类似 Eclipse 的工作空间的概念(workspace),最大单元就是 Project。这里可以把 Project 理解为 Eclipse 中的 workspace。Module 可以理解为 Eclipse 中的 project。一个 工程(Project) 下可以创建多个 模块(Moudle)。
- src 目录,用于存放代码
- .idea 目录和 project01.iml 文件都是 IDEA 工程特有的。
- 删除 module ,这样不会删除代码文件,只是从 Project 中移除组织关系,如下图:

系统设置
设置显示收藏栏等工具栏

取消更新
取消 IDEA 自动更新,避免引入不稳定的问题:

设置Tab为4个空格
Editor->Code Style->Java/Python,不要勾选Use Tab character
支持滚轮调节字体大小
Editor->General,勾选 Change font size(Zoom) with Command+Mouse Wheel
鼠标滑过,显示文档
Editor->General,Show quick documentation on mouse move,输入延迟时间。鼠标滑过类、方法时,显示文档说明
显示行号和方法分隔符
在 Editor->General->Apperance 中,勾选:
Show line numbers显示行号Show method separators这个是显示方法分隔符的,我没勾选Show whitespace显示空格符号,针对 Python,「游标卡尺」的名号不是白叫的,所以,必须设置显示空格、缩进等
参考:
- 舒服的pycharm设置
给提示时忽略大小写
Java 是严格区分大小写的,未设置时,输入 str 时,它不会提示 String,要想实现忽略大小写的情况它也能智能提示,可以进行如下设置,而且,这样设置它也不是完全按照首字母进行匹配了,比如你输入 hmap 时,也会看到 HashMap 的智能提示,相当方便。Editor->Genreral->Code Completion:

取消单行方法折叠的设置
IDEA 中对于单行方法会默认折叠,使代码更紧凑。但是我阅读代码时,不太喜欢这种默认设置。可以根据如下设置修改:
Settings->Editor->General->Code Folding->One-line methods,取消勾选即可

自动导包 import popup
Editor->General->Auto Import->Python->Show import popup

手动导包的快捷键是 Alt+Enter
设置换行符默认为LF
Editor->Code Style 页面不仅能设置换行符,还可以设置 wrap columns。

参考:
- IntelliJ换行CRLF, LF, CR的解释和默认设置
设置 File Encodings 文件编码
Settings->Editor->File Encodings,编码全都设为 UTF-8。
不建议勾选 Transparent native-to-ascii convention
设置头信息
Settings->Editor->File and Code Templates-Files->Includes->File Header 设置如下模板
Python 头信息设置:
1 | #!/usr/bin/env python |
Java 头信息设置:
1 | /** |
自动编译
有时候我们需要操作 class 文件时,却忘记了对 java 类文件进行编译,从而还是对旧的文件进行了操作。

import 每个类而非整个包,少用通配符
settings > Editor > Colors Style > Java > Imports > Class count to use import with ‘*’ 设置大一点。
当 Java 类中 import 某个包下的类超过这里设置的个数,就会换成用星号来代替,比如 import java.util.*
设置 Tab 标签页
File->Editor->General->EditorTable->Tab closing Policy->Tab limit
在 Windows->Editor Tabs 可以设置标签页的相关内容,比如:
Tabs Placement放置位置,我勾选了Top- 勾选了
Sort Tabs By Filename - 勾选了
Open New Tabs At The End - 取消勾选
Show tab in single row,避免打开类文件多时,选择不方便
我设置最多打开标签页10个,同时将位置移到了右边,通过alt+←/→可以切换工作区。默认是10,即最多打开十个窗口,再打开新的就会把之前的窗口T掉!
- IntelliJ IDEA设置打开窗口的数量
自定义 Terminal
settings->Tools->Terminal
Shell path 原来的值是:
C:\Windows\System32\cmd.exeWindows
修改为:
C:\Program Files\Git\bin\bash.exe修改为Git bash的终端;"C:\Windows\System32\cmd.exe" /k ""%CMDER_ROOT%\vendor\init.bat""修改为Cmder的终端,这种方式就会弹出 Cmder 的窗口,需要配置系统变量CMDER_ROOT,值为:D:\Green-SF\cmder。
设置 Terminal 窗口字体和大小:Editor–>Color Scheme–>Console Font,在右侧面板修改Font为自己想要的字体。

参考:
- Pycharm官宣-Terminal
- Github-Run cmder inside IntelliJ idea
- Windows 上切换 Jetbrains IDE 的 terminal 为 PowerShell 或 cmder
版本控制下文件变化的显示
settings—Version Control—Show directories with changed descendants
开启后若想调整文件夹的显示颜色:settings—Version Control—File Status Color
打开内存使用状态
settings—Appearance & Behavior—Appearance—Show memory indicator
参考:
- 玄玉-idea配置小结 博主介绍的很详细
用 * 标识编辑过的文件
这样被修改的文件会以 * 号标识出来:
Editor –> General –> Editor Tabs,勾选 Mark modifyied(*)
脚本运行结束后留在命令行
这样脚本运行中的变量在脚本结束后还可以调用,调试时还是挺好用

- pycharm常用设置和技巧
添加 JavaDOC 注释
- 把光标停在类名或者方法名上,然后
Alt+enter,出现几个选项,选择Add Javadoc就 OK 了 - 默认
Fix doc comment是没有设置快捷键的,我这里把他设置成Alt + M
参考:
- 开源中国-IDEA添加JavaDOC注释 方法 快捷键
生成 JavaDOC
Javadoc 用于描述类或者方法的作用,具体介绍,可查看CSDN-Javadoc 使用详解

1 | Locale:输入语言类型:zh_CN |

缓存和索引的清理
IDEA 首次加载项目时,都会创建索引。创建索引的过程,暂时不要去编辑代码,避免遇到未知问题。有时候意外断电或蓝屏,出现索引损坏情况,可以清除缓存和索引,还原成默认状态。
File-Invalidate Caches


这个会将本地修改历史也会清理掉,如果想要将这个数据保留,LocalHistory 需要提前备份:
1 | system 目录,系统文件目录,是 IDEA 与开发项目一个桥梁目录,里边主要有缓存、索引、容器文件输出等等 |
参考:
- Where is IntelliJ IDEA config stored in OSX?
- 官宣-Directories used by the IDE to store settings, caches, plugins and logs
显示窗口 split
有时候可以将当前窗口 split,可以垂直或者水平分割,方便阅读代码

省电模式
在菜单栏 File 下面有一个选项是 Power Save Mode,这个叫「省电模式」,如果不小心勾选了这个选项,那么会关掉代码检查和代码提示等功能,所以需要注意。
快捷菜单
Mac 的 Command 键一般是对应了 Win 的 Ctrl 键,在 Win 上,还可以用 Alt+<n> 打开相关窗口,在 Mac 上同样要使用 Command+<n>。
除此以外,还可以在 Settings-Keymap 中,设置快捷键、输入快捷键查看对应的功能。
快捷键设置
alt+r:打开最近项目ctrl+shift+o:打开项目- 自动补全快捷键,默认是
ctrl+空格,这个和一些中文输入法的切换快捷键冲突了,于是,我多设置了一个ctrl+/:

常用快捷键
在介绍常用快捷键之前,先看看这个快捷键 ctrl+shift+a,Find Action 快捷键,输入关键词,不会的就问它,超级赞!!!★★★
alt+↑/↓: 快速在方法间跳转 ★★alt+p:打开Python控制台 ★★★alt+insert生成代码(如 get, set 方法,构造函数等) 或者右键(Generate),在 Mac 上是ctrl+n★★★alt+enter万能键,任何地方都可以尝试使用,不同场景有不同的表现方式,比如自动导包等功能,不管出错了不知道怎么办,知道怎么办想这么办时都按下这个快捷键,有惊喜,万能纠错键 ★★★alt+f7找当前变量、方法在哪些地方用了find usaged★★★alt+f12打开命令行终端(view->tool window) ★★★ctrl+space万能提示键,基本代码补全ctrl+f4:关闭当前页ctrl+f12: 结构视图 File Structure,查看 class method field,阅读源码查看类方法时很方便 ★★★ctrl+home、ctrl+end回到页首/页尾,关键字Move Caret to Text End或者 开头Move Caret to Text Start,参考- 查看接口继承关系:
ctrl+h查看类型继承关系type hierarchy,只能查看向上向下继承关系,而不能看实现了哪些接口。查看继承关系,右击,点击 Digram 查看;ctrl+alt+h查看函数调用层次结构关系call hierarchy,可以看到函数被哪些地方调用了,但是需要谨慎,部分人不会注意到后面的调用次数!为了防止遗漏,建议使用alt+f7这个快捷键 ★★★ctrl+alt+b查找接口的实现类
- 注释
ctrl+/注释ctrl+shift+/多行注释
ctrl+u查看当前方法的父方法super method,比如 service 的实现类中,跳转到覆盖的接口方法ctrl+d复制当前行 ★★ctrl+e打开最近文件 ★★★ctrl+p有时候敲了方法,忘记方法可以使用什么参数,那么这个快捷键可以显示parameter info- 删除当前行
ctrl+y删除当前行 ★★★ctrl+x剪切(会删除当前行)★★★
ctrl+w不断按下这个快捷键,选择代码块范围逐步扩大;★★★- 换行
shift+enter向下另起一行 ★★★ctrl+alt+enter向上另起一行 ★★★
crtl+q查询documentationctrl+鼠标点击查看内置函数啥的ctrl+alt+←/→快速跳转光标刚刚所在行 ★★★ctrl+alt+b所有的实现类(Implementation)★★★ctrl+alt+h谁调用了这个方法,查看调用层次(Call Hierarchy)★★ctrl+alt+L,格式化代码(Reformat Code) ★★★ctrl+alt+o优化 importsOptimize Imports,优化导入的类和包 ★ctrl+shift+enter补全语句,complete current statement不管光标是不是在行尾,可以补全必要的字符,比如行尾的分号 ★★ctrl+shift+b查看接口中方法的实现方法;ctrl+shift+u:大小写转换,在Edit->Toggle Case中能看到选项 ★ctrl+shift+v:从最近的缓冲区粘贴ctrl+shift+backspace快速跳转到最后修改的地方 ★★★ctrl+shift+v在 Pycharm 中,访问历史粘贴板 ★★ctrl+shift+/-代码块折叠★ctrl+alt+shit+j多目标选择选择的词,或者用alt+鼠标点击也可以实现效果,Select All occurrences★★ctrl+alt+shit+t重构利器shift+f6:文件重命名 ★★★shift+f2:跳转到上一个高亮错误 或 警告位置- 搜索
shift双击,搜索一切,不管是 IDE 功能、快捷键、文件、方法、变量,它都能搜索,使用频率很高的一个快捷键!可以按最近使用过的文件名, 类名, 方法名等去搜索定位! ★★★ctrl+n:快速按照名字搜索类ctrl+shift+n:快速搜索文件ctrl+shift+f: 在整个项目中 或 指定目录里 进行全局搜索 ★★★ctrl+alt+shift+n:快速搜索函数
参考:
- 极客学院-IntelliJ IDEA 使用教程-快捷键
alt+enter 快捷键的妙用
万能接错/生成返回值变量。创建对象时,可以先 new 后alter+enter,IDEA 会自动补全,直接让你输入对象名:

其他
scroll from source,点击这个按钮,可以快速跳转到打开的文件所在的文件夹中,非常有用提高效率的按钮 ★★★

模板
模板:
- Editor->Live Templetes,可以做一些用户的定义,可修改
- 关注
iteration - 关注
other - 关注
output - 关注
plain
- 关注
- Editor->General->Postfix Completion 不可修改
常用模板
psvm再按 Tab 生成 main 方法,或者,输入 main 之后,再按ctrl+jsout输出函数soutp打印函数的形参soutv打印变量值,就近的打印变量的值;soutm打印方法的名字xxx.out打印某变量 xxx 的值;
fori循环,按tab/enter进入下一处修改itar循环控制语句是xxx.lengthiter增强 for 循环(for each)users.for+tab快速生成 users 的增强 for 循环
list.for集合list.forilist.forr逆序遍历,倒序遍历
ifn条件判断,判断等于nullinn不等于null
prsf私有静态的常量psf生成public static finalpsfs生成public static final String
快捷键 ctrl/command+j 可以查看有哪些缩写字符。
更多关于模板的知识,点击官宣-live templates
参考:
- IntelliJ 创建main函数快捷
修改模板
在 Live Templates 中修改模板
abbreviation模板的缩略名称- template text` 模板的 diamante 片段
- 应用范围,点解 Define,选择 Java

添加一个 String 类型的带注释的模板,叫 prsc:
1 | /** |
版本控制 VCS

添加 Github 账户
- Settings->Version Control->GitHub
为何要添加这个账户呢?
因为你就可以直接在 VCS 菜单栏中克隆代码库,多种方式:
Checkout from Version Control-> Git- Git -> Clone 可以选择待下载的代码库
- File -> Project from Version Control -> Git
在 Github 创建仓库
VCS -> Import into Version Control -> Share Porject on GitHub
会将代码仓库提交到 GitHub 上,新建一个仓库
使用 Git 工具
- 查找背锅侠:Annotate/Blame
- 选中 Annotate 的 Commit,点击 Show Diff 观察差异(
Ctrl+D) - 查看当前文件的历史版本:工具栏有个时间标志,Show History,查看最近是否有人修改过,通过
Ctrl+D查看对比——Alt+H - 高级筛选方式查找 commit 记录
- 显示差异: Show Diff ——
Ctrl+D - 右键菜单中有一个 Open On Github,跳转到正在浏览的行所在的文件,方便分享讨论具体问题
调试&源码阅读技巧

step overF8 下一步,当前断点如果是一个方法,不会进入方法体内;step intoF7 下一步,当前断点如果是一个方法,则进入方法体内,不过默认情情况下并不会进入java.*等类的方法中。如果需要进入,可以在 Setting -> Stepping 中设置,排除即可force step intoAlt+Shift+F7 下一步,当前行如果是一个方法,强制进入方法体内;step outShift+F8 跳出run to curserAlt+F9 运行到鼠标所在行,临时设置断点,有用resume programF9 运行到下一个断点处,是不是有点像 pdb 中的 c 快捷键;stopCommand+F2 停止view breakpoints查看所有断点,可以在运行时选择哪些断点暂停略过;mute breakpoints所有断点失效/生效的切换;
调试器是什么
debugger 调试器,“除虫器”,调试器是用来告诉 JVM,请你在具体的哪个断点处停下来
- 堆 Heap: 所有对象都在堆上分配
- 栈 Stack:先进后出 LIFO 后进先出,
Last In First Out - 线程:每个线程会有一个方法栈,出栈,后进先出,你自己的是 main 线程,观察这个方法栈即可;
- 栈帧 Stack Frame:方法栈中的每一个小方块,局部变量仅存在于方法的栈帧中,当方法运行完,栈帧就会被丢弃
可以修改执行结果,修改执行流程中的值:
- 右击调试器中的变量,
View/Edit Text - 右击调试器中的变量,
Set Value
跳转到源代码
- 右击调试器中的变量,
Jump to Type Source
条件断点
在循环里增加条件判断,具体操作:在断点处右击,在某个条件下,实施断点。

查看表达式的值(可以查看已有变量的值):

线程断点
我们可以在断点上使用鼠标右键弹出断点设置框,在 Suspend 选择 Thread 选项。断点的多线程属性可以设置默认属性,点击 Make Default 按钮,设置默认 Suspend 属性
调用栈
ctrl+alt+h 快捷键
参考:
- IDEA的查询引用、调用关系图的功能
- Intellij IDEA神器常用技巧八-2018版本新增快捷键
- 挖掘IntelliJ IDEA的调试功能
DEBUG 模式下提前返回,而不终止程序
在 Frames 窗口下,选择当前的 Frame,右击,选择 Force Return。
这个功能在调试的时候十分有用,既可节约运行的时间,避免程序重启,又可以避免程序走到后面不想调试的步骤去。
参考:
- Intellij IDEA 在DEBUG模式下如何不执行后续代码直接停止程序?
查看继承关系
快捷键:Ctrl+H
- IDEA查看接口或类的继承实现关系图
- IntelliJ IDEA 中如何查看一个类的所有继承关系(当前类的所有继承关系图)
还有一个更加厉害的功能 show diagram,可以查看继承链。鼠标右键中有 Diagrams 的菜单。快捷键:Ctrl+Alt+Shift+U

- 蓝色实线是指继承关系
- 绿色实线表示的是接口的继承关系
- 绿色虚线是指接口实现关系

详细介绍参考:
- cnblogs-使用IntelliJ IDEA查看类的继承关系图形
设置程序环境变量
Run->Edit Configurations->Environment->Environment variables
1 | System.getenv("HOME_TEST"); |
Maven 设置
不推荐使用 IDEA 自带的 Maven 配置。在 Settings -> Build Excution Deployment -> Build Tools -> Maven 中修改:
Maven home directorymaven 安装目录User settings file勾选 Override,改为自己的settings.xml文件Local repository依赖包存储位置
在 Settings -> Build Excution Deployment -> Build Tools -> Maven -> Importing 中:
- 勾选
Import Maven projects automaticallypom 文件增加了新依赖,会自动下载;
为了避免每次打开或者新建项目时,都要设置一次 Maven 的配置,可以给 IDEA 设置默认 maven 版本:
- 选择
File -> Other Settings -> Settings For New Projects... -> Build,Execution,Deployment -> Build Tools -> Maven,找到 maven 配置的地方,选择需要默认配置的版本,保存。至此便完成了默认 maven 版本的配置。
参考:
- CSDN - IDEA 配置自定义maven
高效定位代码-无处不在的跳转
project之间跳转
ctrl+alt+左右方括号:
查看快捷键
ctrl+shift+a:搜搜快捷键
查看最近文件
ctrl+e
可以在ctrl+shift+a:搜索reccent …
快速跳转到最后修改的地方
ctrl+shift+backspace 快速跳转到最后修改的地方
利用书签跳转
F11:添加、取消书签ctrl+f11:添加、取消有标记的书签ctrl+<n>:跳转到有标记的书签处
添加收藏 Favorites
alt+shift+f:add to favorities
编辑区和文件区的跳转
alt+1进入文件区esc:进入编辑区
精准搜索
类搜索
ctrl+n:快速搜索类
文件搜索
快速打开指定的文件,方便★★★:ctrl+shift+n
函数搜索-symbol
ctrl+shift+alt+n
搜索 Maven 依赖包中的内容
有时候可能需要在源码分析时想要搜索 Maven 依赖包中的内容,只要如下设置即可扩大搜索范围:
ctrl+shift+f ->scope->All Places
重构
Shift+F6重命名
所有的文件,类名,函数名,属性名都可以重命名,值得点赞的是,只要你使用Shift+F6重命名,所有使用过这个名称的地方都会跟着改变;函数的重构,
Ctrl+F6重构函数
当你需要重构方法时,无论是增加参数,修改返回值,还是更改函数实现,只需要Ctrl+F6,就可以把所有用到此函数的地方一起重构
参考:
- 你们都在用IntelliJ IDEA吗?或许你们需要看一下这篇博文
列操作
- 选中单词转大写

多光标选中
- 多光标
按住 Alt 键,可以快速实现多光标、块选择。
界面中的基本功能
如果没有如老师那样的窗口,可点击view->tool buttons打开
alt+<n>快捷键 ★★★
如下图圈出的数字 n,可以使用alt+<n>的方式快捷使用,替代鼠标操作。
注意,Mac 使用的是 command+<n>方式;
打开收藏 ★★★
在一些调试的函数那里打断点,然后alt+7收藏中就会方便的查看;
TODO
在项目中使用# TODO,可以在Alt+6中看到哪些待开发的备注
必备插件
关于插键,单独总结了关于插键的文章
FAQ
Q: intellj Idea中给新建的项目导入jar包?
- 推荐intellij idea Project Structure 讲解
Q: 找不到提示
IntelliJ cannot find any declarations
- Right-click src folder
- Mark Directory as > Sources Root
Q: IDEA编译通过能运行但是出现红色下划线
原因就是可能没有清除原来的历史缓存,导致一些错误,解决方法是:File-Invalidate Caches,然后重启IDEA
最后
近期由于微博图床挂了,所以,截图都看不了了,点击原文链接,可查看图片:
参考
- IntelliJ IDEA 使用教程
- 简书-IntelliJ IDEA 教程 技巧篇 作者写了一系列的总结
- 你有哪些想要分享的 PyCharm 使用技巧?
- IntelliJ IDEA神器使用技巧
- Java人员正确使用 IntelliJ IDEA的方式
- 挖掘IntelliJ IDEA的调试功能
- IDEA 注册-lanyu
- Github-judasn/IntelliJ-IDEA-Tutorial
- IntelliJ IDEA 2019.3.3 便携增强版
- 张振伟的博客/IDEA 作者写了很多 IDEA 使用技巧的文章,推荐