Java开发IDE神器IntelliJ IDEA 教程

常用快捷键

连续两次 Shift,激活search everywhere功能;
Alt + Enter,最智能的快捷键之一,依据鼠标的位置功能不一样,有无数功能等待你发掘;
Ctrl + Shift + A:find action/option;
Ctrl + Alt + L:格式化代码,左侧project视图下选中多个文件夹也可以实现对多个文件进行格式化;
Ctrl + Alt + N:打开文件;
Ctrl + Alt + H:查看某个方法的调用链关系;
Ctrl + Alt + B:查看一个类/方法的实现类/方法;
Ctrl + Alt + R:全局搜索替换;
Ctrl + Alt + F7:查看一个类里面定义的变量在那些地方被调用;
F11:添加/删除标签bookmark;
Shift + F11 查看标签 bookmark,还可以对标签添加自己的注释,尤其适用于一些核心的代码片段;
Shift + F6:重命名(重构)文件;
Ctrl + Shift + U:大小写切换;
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 + Shift + F:全局查找;
Ctrl +B:跳转到声明位置,如果光标放在类、方法或者变量中,能立即跳转到元素的声明位置;也可以查看某个方法被那些地方调用。
Ctrl + D:复制光标所在行;
Ctrl + H:查看类继承图关系;
Ctrl + X:删除某一行,同时具有剪切的功能,然后可以使用Ctrl + V;
Ctrl +E:最近浏览的文件;
Ctrl + Shift + E:定位导航到最近编辑的文件;
Ctrl + Shift + I:弹窗预览某个类的定义;
Ctrl + Shift + T:定位导航到对应的UT类,没有的话,则新建;

Ctrl + Shift + Enter:对于没有行尾符号的代码,使用此快捷键,添加符号;另外,现在如日中天的Alibaba java开发规范有一条提高,对于if,else,while,for,哪怕只有一行代码,也需要添加大括号。此时这个快捷键就派上用场。
Alt + F7:show call history,列出变量/方法在哪些地方被调用;
F5:复制;
F6:移动。

调试

Alt+F8:计算表达式。
调试时:条件断点,问号;run to cursor;debug context configuration
(3)Shift + Alt + 上下,类似于Eclipse Alt + 上下 把当前选中的上下移动
(4)调试Debug必备快捷键
F9 resume programe 恢复程序Alt+F10 show execution point 显示执行断点F8 Step Over 相当于eclipse的f6 跳到下一步F7 Step Into 相当于eclipse的f5就是 进入到代码Alt+shift+F7 Force Step Into 这个是强制进入代码Shift+F8 Step Out 相当于eclipse的f8跳到下一个断点,也相当于eclipse的f7跳出函数Atl+F9 Run ToCursor 运行到光标处ctrl+shift+F9 debug运行java类ctrl+shift+F10 正常运行java类alt+F8 debug时选中查看值
(5)Ctrl + B 类似于Eclipse的F3,直接进入某类,就和鼠标+Ctrl是一样一样的。
(6)当修改了java文件时,在IntelliJ中按:‘Ctrl+Shift+F9’ 将重新编译该java文件,
修改多个文件,按‘Ctrl+F9’ 可以重新编译整个工程。

插件 aceJumpWord
emacsideas插件:相同字母跳转
ctrl+alt+ M.P,C抽取函数method,参数param,静态变量

其他小技巧

设置换行最大长度

使用快捷键 Ctrl + Shift + L格式化代码时,如果一行超过长度(尤其在if/else/for 等语句嵌套很深的情况下),会格式化到下一话,如果希望还是保留在一行内,可以设置Editor -> Code Style -> General,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检查如图所示:
在这里插入图片描述
即图上所谓的波浪线,如果在一个类文件里面充斥着这种代码,我是会疯掉的,这样的代码看起来像一坨屎。是的,我有编码洁癖,有强迫症。不过事实上,推荐的编码风格就应该是驼峰命名,应该改成PreOrder的。
接受烂摊子项目时,如果允许这种fix typo git commit msg还好,就怕代码提交还需要提merge request。毫无意义。
那该如何关闭这个非语法级别的波浪线呢?
方法:点击IDEA右下角那个类人头像按钮,选择 Syntax 级别的即可。这个修改是针对单个文件的。如果想要全局修改使其对所有文件生效,点击弹窗里面的configurations。但是,强烈不要做此项设置。

IDEA文件打开方式

Intellij IDea IDE 修复文件打开方式: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分行显示,且显示多个。
步骤:
打开IDEA 编辑器,点击菜单栏的window,鼠标悬浮在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 标签页,如下设置即可:
在这里插入图片描述

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

在开发中,经常需要添加注解引用如@Data(个人最常用的Lombok注解)、@Autowired(Spring的注解),或者子类实现父类的方法时,需要@Override。此时输入@au期望提示出@Autowird,但是idea默认选择是First letter(首字母大小写敏感),不会自动匹配@Autowired,修改为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. 使用翻墙软件,确保网络良好。2. 如果不能翻墙使用外网的情况下,如何解决这个问题?TODO

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

原创文章 131 获赞 175 访问量 32万+

猜你喜欢

转载自blog.csdn.net/lonelymanontheway/article/details/73320732