目录 start
目录 end
|2018-07-19| 码云 | CSDN | OSChina
IDEA 使用笔记
常识
- project 就是一个工作空间,一个Module就是一个项目
- 新建一个empty项目可以作为一个工作空间,放很多module,新建的时候不要选中任何目录,光标选中JRE库,再菜单栏点击File然后new,
- 不然项目结构很乱, 会在光标停留的文件夹下新建module
一个项目一个空间也是可以的,就是跨项目查看代码会有点麻烦,而且每个项目的IDEA的配置都是不一样的,同样的配置可能要配置很多遍
在新版中提供的load unload 模块功能,必须要重启idea, 才能让maven生效 emmm
常用技巧
- 鼠标方法上悬停显示javadoc 勾选 General -> show quick documentation on mouse move
- 自定义 TODO 等标签 Editor -> TODO, 照已有的 TODO FIXME 新建一个即可
Tomcat的使用
直接配置解压的即可, 然后Idea会在 用户目录下的Idea主目录中配置一个专门放Tomcat的配置和日志等文件, 和原Tomcat进行了隔离, 这样就不会影响到该Tomcat.
导出为可运行的JAR包 普通Java项目
- File -> project structure ->artifact 里面设置好 引入的库,设置Main类,引用的jar包的相对classpath
- Build artifact -> Build
- Maven或者Gradle的话直接就能得到,不过也要配置一下main
Springboot热加载
每个project都是一个新的工作区,所以要重新配置 | howto-hotswapping
- **Ctrl Shift A 快捷搜索 automatically 在Build下的 Compiler,勾选
Build project automatically
自动构建- (如果旁边有提示说不会在运行和debug执行, 那么就要勾选并行)
Compile independent modules in parallel
- (如果旁边有提示说不会在运行和debug执行, 那么就要勾选并行)
- **Ctrl Shift A 快捷搜索 Registry 进入后找到 compiler.automake.allow.when.app.running 勾选
- 加入devtools依赖 | DevTools的官方文档
Debug
debug还是比较强大的, 会在行末显示这一行的变量值
横排的八个按钮
Show Execution Point (Alt + F10)
:如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行。Step Over (F8)
:步过,一行一行地往下走,如果这一行上有方法不会进入方法。Step Into (F7)
:步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法,如第25行的put方法。Force Step Into (Alt + Shift + F7)
:强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。Step Out (Shift + F8)
:步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。Drop Frame (默认无)
:回退断点,后面章节详细说明。Run to Cursor (Alt + F9)
:运行到光标处,你可以将光标定位到你需要查看的那一行,点击按钮,代码会运行至光标行,而不需要打断点。Evaluate Expression (Alt + F8)
:计算表达式,后面章节详细说明。
竖向的七个按钮
Rerun 'xxxx':重新运行程序,会关闭服务后重新启动程序。 Update 'tech' application (Ctrl + F5):更新程序,一般在你的代码有改动后可执行这个功能。而这个功能对应的操作则是在服务配置里,如图2.3。 Resume Program (F9):恢复程序,比如,你在第20行和25行有两个断点,当前运行至第20行,按F9,则运行到下一个断点(即第25行),再按F9,则运行完整个流程,因为后面已经没有断点了。 Pause Program:暂停程序,启用Debug。目前没发现具体用法。 Stop 'xxx' (Ctrl + F2):连续按两下,关闭程序。有时候你会发现关闭服务再启动时,报端口被占用,这是因为没完全关闭服务的原因,你就需要查杀所有JVM进程了。 View Breakpoints (Ctrl + Shift + F8):查看所有断点,后面章节会涉及到。 Mute Breakpoints:哑的断点,选择这个后,所有断点变为灰色,断点失效,按F9则可以直接运行完程序。再次点击,断点变为红色,有效。如果只想使某一个断点失效,可以在断点上右键取消Enabled
个人思考
- 当断点 F8 步过 到一行代码后, 这个方法没有抛出异常什么的, idea的面板上的那些属性, 断点什么的都没了, 只有一个 app is running , 这个意思就是这行代码还在执行中, 很有可能就是死循环...
- 没有断点的时候, 也就是说这个死循环一直挂在这边, 不会被回收, 后面的代码也被阻塞了, 所以代码才诡异的不符合自己构想的调用链执行
常用配置
- 依次找到配置项:
File->settings->Editor->File and Code Templates->
- 如果自己要每个文件都单独设置头部, 就依次点击Class Interface Enum ...进行设置
- 如果要统一设置 就点击Includes标签, 选择File Header
例如修改为如下
/**
* Created by https://github.com/kuangcp
* @author kuangcp
* @date ${DATE} ${TIME}
*/
个人IDEA配置
- 字体Fira Code Retina 14 0.9
IDEA快捷键
参考博客: Intellij IDEA神器居然还有这些小技巧
如果一时不习惯idea, 可以在 设置中 的keymap 选择eclipse系列即可
默认快捷键
可以在 Help -> Keymap Reference 看到PDF文档
个人觉得最简单就是打开 Setting -> keymap -> Find Action by shortcut, 任意的按键, 然后查看对应的内容
Ctrl+E
,可以显示最近编辑的文件列表Shift+单击标签页
可以关闭文件Ctrl+Shift+Backspace
可以跳转到上次编辑的地方Ctrl+F12
,可以弹窗显示当前文件中类的结构(快速跳转方法和属性)Ctrl+F7
可以查询当前元素在当前文件中的引用,然后按F3可以选择Ctrl+N
,可以快速打开类Ctrl+Shift+N
,可以快速打开文件Alt+Q
可以看到光标处的元素的JavadocCtrl+W
可以选择单词继而语句继而行继而函数Alt+F1
可以将正在编辑的元素在各个面板中定位Ctrl+P
,可以显示参数信息Ctrl+Shift+Insert
可以选择剪贴板内容并插入Alt+Insert
可以生成构造器/Getter/Setter等Ctrl+Alt+V
可以引入变量。例如把括号内的SQL赋成一个变量Ctrl+Alt+T
可以把代码包在一块内,例如try/catchAlt+Up and Alt+Down
可在方法间快速移动Shift+Escape
不仅可以把焦点移到编辑器上而且还可以隐藏当前(或最后活动的)工具窗口。Ctrl Shift 左/右
, 调节以上窗口分隔线Ctrl+Shift+Enter
就能自动补全代码的分号,括号Ctrl+空格
代码提示Ctrl+Alt+Space
代码提示 包括类,变量,方法等内容Ctrl Shift Space
智能提示
Ctrl+P
方法参数提示Alt+F1
查找当前文件所在位置(项目,结构,maven等等)- 选中文本,按
Ctrl+Shift+F7
,高亮显示所有该文本,按Esc高亮消失。 - 选中文本,按
Alt+F3
,然后 F3逐个往下查找相同文本,并高亮显示。 Ctrl+B
快速打开光标处的类或方法的 声明或调用Ctrl Alt B
查看抽象类或接口的实现方法- 等价的,B键 可以换成鼠标左键单击
Ctrl+Shift+Alt+N
可以快速打开符号(方法名, 变量名等等,全局搜索)Ctrl+O
可以选择父类的方法进行重写- Shift Shift 也就是双击, 就可以快速搜索类了
- Ctrl Shift F 全局搜索, 不含Shift 就是简单当前文件搜索
- 快速打开类/文件/符号时,可以使用通配符,也可以使用缩写
Ctrl+J
Live Templates! 例如 fori 等快速模板代码Ctrl+Shift+F7
可以高亮当前元素在当前文件中的使用Ctrl+Alt+Up /Ctrl+Alt+Down
可以快速跳转搜索结果Ctrl+Shift+J
可以整合两行Alt+F8
是计算变量值
- 在调试程序时查看任何表达式值的一个容易的方法就是在编辑器中选择文本(可以按几次 **Ctrl-W 组合键更有效地执行这个操作)然后按 Alt-F8 。
- 要打开编辑器脱字符处使用的类或者方法 Java 文档的浏览器,就按 Shift-F1 (右键菜单的 External JavaDoc )。
- 要使用这个功能须要把加入浏览器的路径,在“ General ”选项中设置( Options | IDE Settings ),另外还要把创建的 Java 文档加入到工程中( File | Project Properties )。
个人习惯
从eclipse风格继承而来和原生Idea快捷键结合, 自己修改的风格, 如果需要, 则在个人配置文件夹下找到对应的jar导入即可 个人的习惯特点是左手完成大部分快捷键的任务, 因为还没习惯脱离鼠标工作
- Alt Enter 自动修复
- Ctrl Q 显示javadoc
- Ctrl B 显示定义处或者调用处
- Ctrl Shift T 自动创建或跳转 Test
- Ctrl Shift F7 高亮显示光标所在元素所有出现过的地方(就是搜索)
- Ctrl Alt L 快速格式化代码
- Ctrl Alt O 优化导入的类和包
File
- Ctrl W 选中代码
- Ctrl E / Alt E 最近文件打开
- Alt Shift C 最近更改的文件
- Ctrl N 快速搜索类
- Ctrl Shift N 搜索所有文件
- Ctrl Shift Alt N 按文件内容字符的搜索,也能按类名首字母搜索
- Alt left/right 左右切换打开的文件
Coding
- Ctrl S build 项目
- Ctrl Shift V 显示最近的粘贴板记录
- Ctrl O 选择要重写的方法
- Ctrl L 选择要实现的方法
- Alt Insert 生成代码(如get,set方法,构造函数等)
- Shift F6 重构-重命名
- Ctrl X 剪切一行
- Ctrl D 删除一行
- Ctrl Y 复制一行到下一行
- Ctrl Q 显示注释文档 或者 Alt+鼠标中键
- Ctrl Shift Space 智能提示代码的补全
- Ctrl Shift 上/下键 代码上/下移动
光标在一行上就是移动一行, 在代码块的首行就是移动整个代码块
- Ctrl J 提示代码片段 也就是 Live Template
- Alt J 选中字符
- Ctrl Space 智能补全
- Ctrl Shift Space 结合上下文补全
Ctrl W 选中代码,连续按会有其他效果
Ctrl Alt V 根据当前行代码自动生成变量定义 自定义为
Ctrl Alt Shift J
Jump
- Alt+ Up/Down 在方法间快速移动定位
- Ctrl Alt ←/→ 后退/前进 至光标的上一个位置
- F2 或 Shift F2 高亮错误或警告快速定位
- Ctrl+[ 或 ] 可以跳到大括号的开头结尾
- Alt S 跳转类的方法或属性
原为 Ctrl F12
Search
- Ctrl N 查找类(所有类范围,包括引用的包)
- Ctrl Shift N 查找文件名
- Ctrl Shift Alt N 符号查找: 类中的方法或变量
- Ctrl R 替换文本
- Ctrl F 查找文本
View 显示/隐藏窗口
- Ctrl H 生成类结构图并显示
- Alt H 类结构图窗口
- Alt A 目录结构窗口
- Alt X Run窗口
- Alt D debug窗口
- Alt T TODO的窗口 |
Ctrl +/-
显示和折叠TODO - Alt G Gradle窗口
- Alt M Maven窗口
- Alt Z Spring窗口
- Alt V VCS窗口
- Alt N 定位当前文件在目录结构的位置
- Alt 3 数据库工具窗口
- Alt . 终端窗口
- Shift Alt V 数据库 Console 窗口
- Ctrl Shift 左/右 , 调节以上工具窗口与编辑器窗口的分隔线位置
在任一工具窗口, 按
ESC
都会让焦点回到编辑器Shift ESC
就能关闭工具窗口并让焦点回到编辑器 以上的窗口都是默认显示小bar的, 我为了窗口更大就设置为了默认隐藏, 如果想显示, 可以双击Alt, 在第二下按住不动, 鼠标就能进行点击了
Setting
- Ctrl Shift A 搜索设置项的位置
- Ctrl Shift Alt ? 进行一些设置,找到编译自动部署,就能热加载
Tips
- 代码模板 Live Template (fori notnull...) 输入完成后,按Tab或者Enter,生成代码。
常用插件
Alibaba Java Code Guidelineshuo
- 阿里巴巴的代码规范插件
- 《阿里巴巴Java开发规约》IDEA插件与Eclipse插件使用指南
TestMe
- 快速创建测试类
TestNG
- TestNG 测试框架的集成
lombok
- 插件商店中搜索 lombok 安装重启idea即可
- 配置 Build,Execution > Compiler > Annotation Processors 勾选上即可使用lombok的注解
Jrebel
- 热部署插件, 需要付费
GoogleTranslation
- Ctrl Alt 1 快速翻译选中的单词和语句
http-client
启动配置
Tips
Error:Cannot compile Groovy files: no Groovy library is defined for module "XXX"
- Project Structure -> 找到 XXX 项目 右击 -> Add -> 选择 Groovy