Java开发IDE神器IntelliJ IDEA 教程

常用快捷键

连续两次Shift,激活Search Everywhere功能;
Alt + Enter,最智能的快捷键之一,依据鼠标的位置功能不一样,有无数功能等待你发掘;
Ctrl + Shift + A:find action/option;
Ctrl + Alt + L:格式化代码,左侧Project视图下选中多个文件夹也可以实现对多个文件进行批量格式化;
Ctrl + Alt + N:打开文件;
F4:跳转到源码,在调试,查看Git Diff等情况下,尤其有用;
Ctrl + Alt + H:查看某个方法的调用链关系;
Ctrl + Alt + S:打开设置;
Ctrl + Alt + B:查看一个类/方法的实现类/方法;
Ctrl + Shift + F:全局查找;
Ctrl + Alt + R:全局搜索替换;
Ctrl + Alt + F7:查看一个类里面定义的变量在那些地方被调用;
F11:添加/删除标签bookmark;
Shift + F11 查看标签 bookmark,还可以对标签添加自己的注释,尤其适用于一些核心的代码片段;
Shift + F6:Rename,重命名文件;
Ctrl + F6:Change Signature,重构文件;
Ctrl + Shift + U:大小写切换;
Shift + Alt + 上下,把当前选中的代码行上下移动
Ctrl + Alt + 左右,浏览代码时常用,前进/后退到之前的光标位置
Ctrl + ] / [:将光标定位在某个大括号一边,使用这个快捷键可以来回定位。尤其适用于很长的for循环语句;
Ctrl + Alt + ] / [:打开多个 IDEA 窗口(即多个工程)之后,使用这个快捷键切换工程;
Ctrl + Alt + Shift + N:查找符号;
Ctrl + Alt + Shift + J:相同格式列选中;
Ctrl + Shift + J:整合两行;
Ctrl + U:跳到父类接口;
Ctrl + N:搜索Java文件;
Ctrl + Shift + N:全局搜索所有文件,再次按此快捷键,勾选including non-project files;
Ctrl + F12:所有方法预览,查看一个类里面有哪些方法;
Alt + 7:所有方法预览,查看一个类里面有哪些方法;
Alt + Shift + F:收藏夹,可以理解为 Gist,实现代码片段管理;
Ctrl + -/+;折叠/展开代码块(方法,Java doc,注释,类/方法注解), Ctrl + . 也有类似功能;
Ctrl + Shift + -/+;折叠/展开整个文件;
Ctrl +B:鼠标 + Ctrl 类似功能,跳转到声明位置,如果光标放在类、方法或者变量中,能立即跳转到元素的声明位置;也可以查看某个方法被那些地方调用;
Ctrl + D:复制光标所在行;
Ctrl + H:查看类继承图关系;
Ctrl + X:删除某一行,同时具有剪切功能,然后可使用Ctrl + V;
Ctrl + E:最近浏览的文件;
Ctrl + Shift + E:最近编辑的文件;
Ctrl + Shift + I:弹窗预览某个类的定义;
Ctrl + Shift + T:定位导航到对应的UT类,没有的话,则新建;
Ctrl + Shift + Enter:对于没有行尾符号的代码,使用此快捷键,添加符号;对于if,else,while,for,哪怕只有一行代码,也需要添加大括号。此时这个快捷键就派上用场;
Alt + F7:show call history,列出变量/方法在哪些地方被调用;
F5:复制;
F6:移动。

调试

常用的快捷键:
Alt + F8:选中表达式,然后计算表达式
F8:Step Over,跳到下一行代码,即单步调试
F9:resume programe 恢复程序,即执行到下一个断点
Ctrl + F2:停止应用程序,停止调试
Shift + F9:Debug模式启动应用程序
Shift + F10:Run模式启动应用程序

不常用的快捷键:
Atl + F9:Run ToCursor,运行到光标处
F7:Step Into,进入到代码
Shift + F8:Step Out

条件调试

即条件断点,问号;run to cursor;debug context configuration

反复调试

在这里插入图片描述
遇到极其难以发现的问题,我们可能会重复多次运行Postman接口请求,多次单步调试,但始终定位不了问题,有可能对数据库写入脏数据。此时选中我们的调试接口方法,右键Drop Frame,即可跳转到上一个断点,重复来一次单步调试。

Set Value

在这里插入图片描述
调试时,经常遇到想要调试的代码片段在某个IF条件语句成立然后return的代码块后面,此时如果继续按F9,则结束调试。

针对这样的情况,强大的IDEA提供的解决方法:手动修改IF条件语句,让条件不成立,然后继续往下单步调试。

具体方法:
选中变量,Alt + F8修改数据。

其他小技巧

设置换行最大长度

使用快捷键 Ctrl + Shift + L格式化代码时,如果一行超过长度(尤其在if/else/for等语句嵌套很深的情况下),会格式化到下一行,如果希望还是保留在一行内,可以设置Editor > Code Style > Java,Hard Wrap at,默认是120,设置为150即可。

Rest Client

内置 Rest Client,通过 Command + Shift + A,然后搜索 Rest Client 来找到。不如Postman 强大。

Git diff review

由于 Git 会把所有的文本改动,甚至是编码的改动都记录提交到远程仓库,故而不同IDE,甚至是不同的 Tab 设置(规范是一个tab等于4个空格,不要用2个空格,也不要使用 space 空格)都会引起提交前后的 diff change(所以在团队协作中,设置一份共同的编码规范配置文件是多么重要)。在 review 他人的提交时,Version Control —— Log面板,选中 commit 之后,右侧有本次 commit 更改到文件列表,双击打开 git diff 页面,在顶部可以设置 Diff 对话框显示 Ignore imports and formatting 选项:
在这里插入图片描述

更改文件编码

更改所有:ctrl + alt + s,弹出设定页面,输入 file encoding,可以设置项目的默认编码;
单个文件:打开文件,项目界面右下角有显示当前光标行号列号,右边就是当前文件编码,改成想要的类型。

postfix与liveTemplete最大的区别是:postfix不能编辑,只能选择。

搜索时过滤测试文件

一些代码组织良好的优秀的框架(或工程)源码里面一般会带有大量的单元测试文件。但实际上看源码时,其实并不想关注UT,快捷键Ctrl + Shift + R 搜索时如何过滤呢?在 File mask 里输入 !*Test.java 可以将Test文件过滤掉(注意大小写勾选情况)。

关闭typo检查

所谓的typo检查:
在这里插入图片描述
即图上所谓的波浪线,这样的命名不规范的代码看起来像一坨屎。接受烂摊子项目时经常遇到这种问题。
那该如何关闭这个非语法级别的波浪线呢?
方法:点击IDEA右下角那个类人头像按钮,选择 Syntax 级别的即可。这个修改是针对单个文件的。如果想要全局修改使其对所有文件生效,点击弹窗里面的configurations。但是,强烈不要做此项设置。

IDEA文件打开方式

IDEA修复文件打开方式:settings > Editor > File Types
比如将.propertites文件用yml的方式打开,则会提示红点。
那要想去掉,回归默认方式,则
这里写图片描述
去掉即可:
这里写图片描述

打开潘多拉魔盒

默认情况下,IDEA 的File——Open recent projects 数量设置是50个,对于一个分布式开发微服务部署的工作环境下的程序猿而言,可能主力开发的项目有那么10个左右,需要导入源码查看其它项目,以及自己个人工作之余打开新建的demo project,数量一不小心就超过50个。此时如果希望从 recent projects 打开之前打开过的项目,就需要修改默认的50,那么怎么修改配置?
此时就需要使用到 IDEA 的隐藏设置功能。
Mac 平台下快捷键 shift + option + command + / 打开 maintenance,选择 registry。
可以发现这里有很多隐藏的功能设置。但是IDEA 之所以把这个隐藏起来,因为更改之后可能会有一些意想不到的问题,所以快捷键设置比较复杂。
IDEA 热部署 hotswap 技术即需要使用该快捷键:
这里写图片描述
上图第二个设置就是用于热部署的。

IDEA 编辑器如何将tabs分行显示多个Tab页

写代码时,打开标签后不想关闭,但是当标签很多时,文件tab就被隐藏,如何实现文件tab分行显示,且显示多个。
打开设置,搜索Editor tabs 上——Tabs Placement——show tabs in signle row 前面的√去掉,即可实现多行显示。
上面的步骤完成后,会发现tabs最多显示为两行,这是因为系统中默认打开tab数目为10,所以下一步需要修改tab最大数目,点击file,再点击settings。会出现一个设置框,为了迅速定位到tab标签的设定,直接在输入框中输入tabs——选择editor——editor tabs,在如图输入框Tab limit 中输入你自己想要的最大标签数。
当标签很多,你自己想快速关闭时,可以在某个标签页右键,会出现 close\close others,随便选择哪一个,都可以快速关闭tabs标签。

替换掉默认的terminal,使用Git Bash

IDEA 自带 terminal 工具,对于 Windows 系统而言,IDEA自带的terminal工具使用的命令行是cmd。个人感觉并不好用(比如说你不能使用 Linux 系统下的命令行,比如 vim,touch等,报错'vim' 不是内部或外部命令,也不是可运行的程序或批处理文件),可以换成 git bash。具体的配置方法:打开settings(Ctrl + Alt + S),搜索 terminal,或者直接 tools -terminal,找到 application settings,修改shell path,如修改成:C:\Program Files\Git\bin\bash.exe

设置快捷键关闭 tab 页

之前使用过一段时间Mac平台下IDEA java开发,感觉不用鼠标双手触控&编码确实会比较爽一些;比如Command + W就是关闭Tab页,不能跑到Tab页顶端右键close,当然可以自己设置快捷键。
设置:Keymap,输入 close,找到 Main menu > Window > Editor Tabs > Close,右键,添加快捷键,注意不要和其他工具的快捷键冲突,也不能和 IDEA 自身的快捷键冲突,还要方便双手操作。比如我选用 Alt + W。

隐藏文件(夹)

对于 IDEA 生成的隐藏文件夹 .idea 或者是隐藏文件 .iml,又或许工程下面还有 Eclipse 生成的隐藏文件 .classpath,如果希望在 IDEA 中不显示,可以按照如下方式设置:Editor > File Types,最下面看到Ignore files and folders,添加;*.idea;*.iml;*.classpath即可。

设置不要import *

个人是不推崇在代码里面使用import *这种方式,无奈 IDEA 默认就是这样的;
如何修改设置:Editor > Code Style > Java,找到 Imports 标签页:
在这里插入图片描述

设置代码自动提示忽略大小写

写代码时,类名是大写开头,字段、方法名是小写开头,如果每次都要按住Shift键取引用一个类,那是狠低效的。idea默认选择是First letter(首字母大小写敏感),修改为None(关闭大小写敏感)后就自动代码提示就不会对大小写敏感。设置方法:
如图,在设置里面搜索"completion",设置成None即可。
这里写图片描述

IDEA自动重置LanguageLevel的问题

最近发现IDEA会自动重置Project和Module的Language Level到1.5,导致各种错误。而且手动改正为1.8后,仍会重置回1.5。
原因:maven compiler plugin从3.0版本开始,默认使用JDK 1.5解析和编译源码,与运行Maven的JDK版本无关。
解决方案——pom.xml:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

IDEA添加JDK报错

如图,IDEA添加JDK时报错:
在这里插入图片描述
网上找的资料答非所问,和我的问题场景并不一样;
那么为什么有这种问题,原来是IDEA的版本太低的原因,Help-About即可查看当前的IDEA版本,下载安装更新即可。

快捷键之Ctrl + F2

不知道怎么去形容这个标题。简单描述一下我遇到的问题吧:
Windows 10 开发环境,专业版,经过公司安全部门(whatever)的定制化和功能增强或者裁剪等等;IDEA版本 2018.1.6终极版(build版本号IU-181.5540.7),实际上我升级IDEA之前的2017.1.6也有这个问题。基本上可以肯定的是:与IDEA版本没关系,与 Tomcat 版本没关系,与操作系统有关。
本地开发使用 Tomcat 部署 war 包;关闭运行run/调试debug 模式,再次运行或者调试,就会出现这个问题:
在这里插入图片描述
实际上仔细观察的话,在关闭Tomcat应用时,下面有这样的进度条:
在这里插入图片描述
所以肯定会出现上面的问题;可以确定不是端口占用,而是进程没有停掉导致;打开任务管理器:
在这里插入图片描述
可以看到上面的多个 java 进程,手动杀掉就可以重新启动 Tomcat 应用;
特么地 IDEA + Tomcat 自带的热部署模式弱爆,我频繁重启应用已经够烦,还需要去手动杀进程,这不浪费时间吗?
解决方法1:使用 jetty servlet 容器;
解决方法2:停止 Tomcat 应用时,不要手动去点击 叉叉,使用默认快捷键 Ctrl + F2,即可;

IDEA无法更新maven插件索引问题

在公司网络良好的情况下,IDEA 能够自动更新 maven 的 dependency 索引信息,实现的效果就是,在输入de,会自动补全dependency,然后让你输入 artifactId,输入artifactId之后,会让你选择输入groupId,version 类似。
家里的开发笔记本,并不能实现这个效果。打开 maven 设置,点击右侧的 update,失败报错:
java.lang.RuntimeException\: java.io.FileNotFoundException\: Transfer for nexus-maven-repository-index.properties failed或者 java.lang.RuntimeException\: java.io.FileNotFoundException\: Resource nexus-maven-repository-index.properties does not exist
在这里插入图片描述
解决方法:1. 使用FQ软件,确保网络良好。2. 如果不能FQ使用外网的情况下,如何解决这个问题?TODO

事实上,解决网络问题之后,试图不会出现 error 列表,现在这个功能可以使用:
在这里插入图片描述
直接在工程结构页输入想要的 maven dependency。
在这里插入图片描述

查看类继承关系图形

右键
在这里插入图片描述
在这里插入图片描述

  • 蓝色实线箭头是指继承关系
  • 绿色虚线箭头是指接口实现关系

选中类右键:

  • 删除,可去掉不关心的类
  • show categories,展示类的详细信息
  • Change Visibility Level,过滤方法可见级别,如public,protected

热部署

  1. 原生
  2. spring boot应用
  3. 插件,JRebel
posted @ 2019-04-02 00:07  johnny233  阅读(82)  评论(0编辑  收藏  举报  来源