IDEA 使用
最强教程,不多不杂。基于idea旗舰版 2019.2.3左右的版本,大多数是windows的,少数是mac版的
一、必改配置
1、ctrl+滚轮 调整字体大小
全局立即生效:settings -> Editor -> General -> Change font size with ctrl+mouse wheel
修改,don’t show in grey for keys which are unused in properties file —我觉得必改
本project生效,settings -> Editor -> Inspections -> Properties files -> Unused property 去掉这里的勾
立即所有project生效,settings -> Editor -> Inspections -> Properties files -> Profile由 Project Default 切换到Default,然后继续找到 Properties files -> Unused property 去掉勾
(本来以为仅仅针对新的project才生效,但是发现只要修改后立即生效,可能需要把已经打开的
2、禁止双击 shift 全局搜索
因为很容易和切换输入法的shift冲突(有时会快速按2次shift切换回原来的输入法)
双击shift,或者command+shift+o,切换到Actions,搜索Registry,选择Registry...
找到 idea.suppress.double.click.handler,再后面把√打上即可。
新版idea无上述选项,新改法:设置里的 “Advanced Settings”,输入 double,将 Disable double modifier key shortcuts 前面的框勾上,点击 Apply 即可
3、禁止检查更新
- File->Settiings…->Appearance & Behavior -> System Settings->Updates->去掉
Automatically check updates for ...
的选项 (全局立即生效) - 另外还可以禁止插件更新
4、禁止鼠标拖动代码
选中代码块后,鼠标能够拖动代码,这真的不是好设计
File->Settings->Editor->General->去掉勾选Enable Drag'n'Drop functionality in editor
(全局立即生效)—>新版是 Move code fragments with drag-and-drop
5、使用自己的maven
建议如果idea的版本较高,内置的maven版本也较高,则使用内置的即可。但2019.1.3版本内置3.3.9较老,会导致父pom里定义的properties变量在子类的<parent>里引用的时候报错(但不影响编译和打包),看着不舒服,需要升级到>=3.5.2的maven才能解决,于是只能用外置的maven。要注意2019.1.3和3.6.2版本的maven有冲突,需要换成稍微老一点的版本如3.6.1
# 见stack overflow:https://stackoverflow.com/questions/57842143/idea-unable-import-maven-project# 其中一个回答:
It is known Maven 3.6.2 compatibility issue: https://youtrack.jetbrains.com/issue/IDEA-221882 .A workaround is to change Maven version to 3.6.1 or older
将maven修改成自己的路径的maven(官方下载后的解压版)。
在File->Other Settings->Settings for New Projects(有些IDEA是Default Settings),搜索maven,修改成自己的maven,详细改动如下 (全局生效)
- 修改
Maven home directory
,浏览到自己的maven目录 Local repository
似乎会根据上一个步骤自动修正(根据M2_HOME的settings.xml的配置确定)User settings file
,这个不会因第一步自动改动,必须选中Override
后自行浏览到 M2_HOME 的 settings.xml 位置
- 自动导入:我们希望改动pom.xml的时候,能进行自动下载jar。在File->Other Settings->Settings for new projects->搜索Maven->Importing->Import Maven projects automatically,默认没有勾选,要勾选上。 (全局生效)
- 一般不要下载jar包的源码和文档,否则很慢。在需要的时候再进行下载即可。故Automatically download中保持默认的未勾选状态。
使用idea自带的maven,要注意chmod 755 mvn mvnDebug mvnyjp
改变文件变成可执行,否则无法在finder里使用mvn命令(同时需要配置环境变量)
6、ctrl/cmd+w 关闭标签
windows的idea默认ctrl+w不是关闭标签,如何改?macOS不记得cmd+是否关闭标签,不是的话也同样的修改方法
File->Settings(全局生效)
右键选择 Add keyboard shotcut
,输入ctrl+w,确定,会提示快捷键被其他功能占用,直接选择Remove占用者。
7、使用自己的 JDK
File->Project Structure->Platform Settings 下的 SDKs->点击加减(全局生效(新版2019.2.x仅针对当前project))
新版在File->Other Settings->Structure for new projects中才是全局配置(2019.2.x版)
8、设置白色主题
File->Settings->Editor->Color Scheme->修改主题:Default就是白色 (全局生效)
吐槽:都不知道大家为什么这么喜欢idea暗黑的主题,就因为是默认的,才导致这么多人使用吗? 难道大家就没发现会降低效率吗? 美其名曰护眼,网页都是白色的,在白色和黑色之间切换,其实眼睛还更易累。其次,暗黑在相同变量高亮的时候,明显没有白色的那么显眼,如下图:
9、启动时询问project
启动idea时弹出窗口询问进入哪个project,而不是自动进入最后关闭的那个project,如何改:
File->Settings->Appearance & Behavior->System Settings->去掉Reopen last project on startup (全局生效)
10、关闭时需要确认
默认就这样的,相当于无需改
File->Settings->Appearance & Behavior->System Settings->勾选Confirm application exit (全局生效)
有个细节:打开多个窗口的时候,只有最后一个窗口被关闭的时候才会弹出让你确认是否退出的窗口(如果启动中例外)
11、代码补全,忽略大小写
例如默认输入stringbu 不会提示StringBuffer,必须匹配大小写。如果需要忽略,则
File->Settings->Editor->General->Code Completion->Match Case,这里不勾选则输入小写也能补全代码 (全局生效)
12、多行标签
默认单行标签显示,我们希望多行显示,则
File->Settings->Editor->General->Editor Tabs->Show tabs in one row(或Show tabs in single row)不要勾选即可 (全局生效)
注意:还要改Closing Policy->Tab limit
,默认10,改大点,否则打开超过10个就会关闭。建议改成个100,足够大。
13、设置标签打开和关闭行为
一般喜欢打开在末尾和关闭后激活上次active的tab
File->Settings->Editor->General->Editor Tabs->Tab Order->勾选 Open new tabs at the end(打开的新tab都会在最后,默认的是在当前激活的tab的右边)(全局)
File->Settings->Editor->General->Editor Tabs->Closing Policy->When the current tab is closed,activate->选中Most recently opened tab(关闭某个tab后,激活最近被打开过的tab。默认是激活被关闭的tab左边的tab)(全局)
PS:这个真的是必改,有时候追踪代码,因临时需要跳转到某个class的源码里,看完后关闭后我们希望回到原来的位置而不是左边的tab。
14、Enable annotation processiing
老是弹出这个,每打开一个project都要处理一次,虽然只要处理一次,但也很烦。这个可能是跟lombok有关。
可以全局设置,立即生效,但要在new Project Setup ->Settings for New Projects… 里设置,因为每个project独立的
settings -> new Project Setup ->Settings for New Projects… -> Build,Execution,Deployment->Compiler->Annotaion Processors,勾选 “Enable annotation processing”
不知道为啥,而且好像也不影响使用
网上说的解决方式是局部只针对本项目的,全局的要在Settings for new projects
里,Build,Execution,Deployment->Compiler->Annotation Processors->
15、代码补全/代码提示
ctrl+space(跟输入法冲突),建议改成 alt+/ (或cmd+/),改法:
-
Windows建议
File->Settings->搜索keymap,选中->再在右边的搜索框输入completion
,找到Code->Completion,选中Basic,可以看到它的快捷键是Ctrl+空格
,选中,右键选择Remove Ctrl+空格
,然后再右键选择Add Keyboard Shotcut
,按下alt+/快捷键,点击OK,此时提示已经存在alt+/的快捷键,选择Remove表示删除其他的冲突键(alt+/原来的功能是复制光标所在地方的前一个单词
,平时很少用,放心覆盖)
(全局生效) -
Mac建议
mac建议代码提示改成cmd+/,原来的cmd+/是注释,搜索comment,找到Comment with Line Comment
,将其改成option+/,原来的option+/ 绑定的快捷键移除快捷键。
16、properties文件未使用的配置灰色
当出现这种现象的时候才更改。之前Mac版遇到过,但是后来同样是Mac版没遇到了。Windows版似乎一直都没问题
未被使用的key显示灰色,和被注释掉的key同色,不容易区分,故需要做如下修改
File->Other Settings->Preferences for New Projects->Editor->Inspections->Properties Files->Unused Property(注意不要找错在Inspections->Java->Properties Files),剔除掉勾选(全局生效)===>不知道为什么有时候改了新项目还是有问题
17、禁止Terminal选中时就复制
长期这样会导致粘贴板太多,不利于复用粘贴板历史。
File->Settings->Tools->Terminal->剔除Copy to clipboard on selection
(全局生效,立即生效)
18、改 Terminal 的光标cursor样式
默认是粗粗的竖线,移动光标的时候不好判断究竟移动到了什么字母和字母之间
File->Settings->Tools->Terminal -> cursor shape,默认是block,按自己习惯改,我选择vertical
19、改Terminal的用cmd.exe还是powershell(macOS忽略)
File->Settings->Tools->Terminal -> Shell path,改这里
20、搜索/替换最多搜出100条的问题
【新版idea这种方法】
settings -> Advanced Settings -> Find/Replace -> Maximum number of results to show in Find in Path/Show Usages preview
默认值还是100,可以改成1000,够用了。
【旧版idea用下面方法改】
非常坑,搜不全,替换不全。
修改:ctrl+shift+n或cmd+shift+o 打开后切换到Action,搜索Registry...
,找到ide.usages.page.size
,默认100,改成1000或更大。根据自己电脑性能改一改,据说这改动也会耗费一定的电脑性能。
21、“选中变量或方法”的背景颜色、字体颜色(Mark Occurrences)修改(建议修改)
全局立即生效
Settings/Preferences -> Editor -> Color Scheme -> General
- ““Code -> Identifier under caret -> Background” 这个是变量读取的颜色
- “Code -> Identifier under caret(write) -> Background” 这个是变量被赋值时的颜色
- “Editor -> Selection background -> Background” 这个是选中范围的背景色
新的颜色方案
- “Code -> Identifier under caret -> Background” 改成 C1FFEE
- “Code -> Identifier under caret(write) -> Background” 改成 B3F6FF
- “Editor -> Selection background -> Background” 保持不变
旧的颜色方案,作废
- “Code -> Identifier under caret -> Background” 改成 9F9DA7
- “Code -> Identifier under caret(write) -> Background” 改成 7C52FF
- “Editor -> Selection background -> Background” 保持不变
22、compact mode
新UI,如果想要使用紧凑的UI模式,可以这么改,全局立即生效
settings->Appearance & Behavior -> Appearance -> UI Options ->Compact mode
二、必装插件
如果下载不了,假设IDEA所在宿主机挂v了,可以设置代理,在
File->Settings->Plugins
,点击齿轮状,选择HTTP Proxy Settings...
,选中Auto-detect proxy settings
即可。这样就可以利用到宿主机的v。
lombok (需要检查)
idea社区版需要安装,旗舰版自带有就无需。不安装会导致写了lombok注解跟没写一样。
GenerateAllSetter (必装,谁用谁知道!)
作者:bruceGe),快捷键 option + enter。我们有时候经常在new完一个对象后,需要一个个地set字段值,我们希望能自动生成
Maven Helper插件
作者:Vojtech Krasa,搜索Maven Helper,注意不是Maven Dependency Helper
Restfultoolkit-fix 后 RestfultookkitX 插件
Restfultoolkit-fix 作者:jinghong,快捷键ctrl+\,如果不生效看是否被占用了
这个插件为了搜索controller方法更加方便,因为有些路由会写在类上,有些会写在方法上,为了容易搜索。ctr+\是快捷键。当然还有其他功能
MyBatisCodeHelperPro(推荐,一个就够)
作者:MyBatisCodeHelperPro(跟插件名同名)。如果需要project用MyBatis,推荐这个,有xml和方法之间跳转、sql提示、可执行sql语句提取、表生成实体类等等功能。
POJO to JSON
作者:搜索的时候作者是 Tony Wang,但是安装好后是organics2016),拷贝endpoint的入参实体类,得到入参json字符串
可以拷贝入参的json格式结构
三、可选配置
以下有些改动不是必须的,请按照自己的习惯选择
1、改一下注释的对齐方式
全局立即生效
settings -> Editor -> Code Style -> XML -> Code Gerneration
settings -> Editor -> Code Style -> Java -> Code Gerneration
上述两个位置看看下面两个选项
- Line comment at first column
- Block comment at first column
默认勾上了,剔除掉,这样下次使用注释快捷键生成注释的时候就不会跑到最前面了
其他格式的文件也想通的办法调整
2、设置maven下载源码和文档
不建议是太建议,耗磁盘容量,下载慢
- 找到菜单
- 若想仅仅本工程生效:File->Settings
- 若想全局生效:File->Other Settings->Settings for New Projects
- 搜Maven,点开 Importing,看到右边
Automatically download
,勾选Sources和Documentation
3、修改字体大小 —视情况而定
可以调整字体大小、行距
File->Settings->Editor->Font->Size (全局生效)
4、设置方法分割线—视情况而定
在一个类里可能有很多方法,或方法很长,可以加上横线分割,比较显眼
File->Settings->Editor->General->Appearance->Show method separators 勾选上 (全局生效)
5、要查看某个class文件的源码
- maven中的jar,只要双击展开需要查看的class
- 如果关联了源码,直接展示
- 如果未关联源码,idea会反编译(而且顶部还告诉你class是用什么jdk版本编译的,且还有下载源码的链接,点击后可下载源码)
- 外部的class文件
- 只要拷贝到某个项目里,双击打开后可查看,查看完之后删除文件即可
- 有些高版本的IDEA不支持拷贝class文件到项目里(因为是源码目录),只要变通下,在文件系统中复制过去,然后回到IDEA进行查看
6、设置注释带作者
不建议这种设置了,替换成别的,-建议使用LiveTemplate
通常我们需要设置注释带上作者、日期等信息。注释分为:1、类/接口/枚举的注释;2、变量/方法的注释;一般只要在类/接口/枚举上带上作者和日期等信息即可。变量/方法若带上,就会显得臃肿
设置方法:File->Settings->Editor->File and code templates(全局生效)
注意:
- 无法做到每个工程使用不同的配置,所有工程统一配置(期待IDEA新版)
- 虽然在
File->Settings
和Other Settings->Settings for New Projects
里都有该配置项,但两处并不是独立的,在其中一处修改,另外一处受影响
7、设置作者信息快捷键(LiveTemplate)
-
File->Settings->Editor->Live Templates
-
点击右上角的加号,选择新建分组,用于包含自己新增的LiveTemplate,选择
Template Group...
-
输入名字,例如
MyCustomGroup
,点击OK
-
选中新建的分组,点击右上角的加号,这次选择
Live Template
-
输入Abbreviation(缩写,即用来触发的单词),以及Description(描述,会出现在提示框后侧,详见后图)。例如输入
zz
,描述是作者信息
-
Template text中输入模板信息,如果带有变量,则自动检测到变量后右边的
Edit variables
会亮起来
例如值:/**
*- @author Stone
- @date
$DATE$
*/
注意:变量的格式不是 ${DATE}
,而是 $变量名$
- 点击 Edit variables,输入Expression,用于告知要怎么取值,例如用
date()
表示取当前日期,点击OK
- 可以看到No applicable contexts,点击 Define,勾选Java全部
- 最终点击OK
8、Show in Explorer放在工具栏中—可选(建议不)
在工具栏中展示这按钮,打开的时候比较快。
1、在工具栏空白处右键,选择 `Customize Menus and Toolbars...`
2、双击展开 `Main Toolbar`
3、双击展开 `Tasks toolbar`
4、点击右上角的加号,选择 `Add Action`
5、双击展开 `Other`
6、找到 `Show in Explorer` (macOS叫 `Reveal in Finder)
7、如果需要icon,点击icon浏览图片
8、点击 OK 进行确认
注意:网上说去搜 “Show in Explorer”,这个搜索体验很差,明明是存在这个的,但是就是搜不出来,请自己到 “Other” 里浏览。
9、IDEA取消代码重复提示
File->Settings->Editor->Inspections->General->Duplicated code fragment->不勾选(本项目有效)
File->Other Settings->Setttings for New Projects->Editor->Inspections->General->Duplicated code fragment->不勾选(全局生效,对新项目有效旧项目依旧保持独立配置)
注意: 改完后已打开文件依然有提示,必须关掉重新打开
10、显示换行符
idea的换行符默认是跟随系统的,即System-Dependent
,如windows的话默认CRLF。常见的换行符有:
- CRLF=\r\n (windows系统)
- CR=\r (旧版Mac系统)
- LF=\n (Unix系统和新版Mac系统,Unix包括Linux)
新版Mac系统跟Unix统一了,其实Mac系统本身就是Unix系统。另外Linux系统包括在Unix里面,也是用LF的
33.4 PS:关于windows的记事本
win10的记事本改进了,对于非CRLF格式的文件,也不再显示出错连成一行(换行被显示成黑色符号)。win7的记事本不能正常展示。
11、去掉拼写检查
- 怎么把某个单词加入到词典中
- 例如
hbase
、rowkey
这种,会被认为是拼写错误。只需要alt+enter选择Save 'hbase' to project-level ditionary
(仅本project生效)
- 例如
(当前工程所添加的单词在这里,可以进行增删操作:File->Settings->Editor->Spelling->Accepted Words)
- 去掉拼写检查:(不建议)
12、取消汉化
建议官网下载IDEA,原生就是英文的
有些下载的包是带有汉化的,要改成英文的,可以 Help->Edit custom VM Options
加入如下配置参数
-Duser.language=en
-Duser.region=US
参考这里
13、让所有文件都默认soft wrap
不建议修改,默认无**
File->Settings->Editor->General->将 Soft-wrap files
勾上并设置为 *
或者 *.md; *.txt; *.yaml; *.yml; *.properties
(全局生效,无需重启IDEA)
建议改成后者,前者还是会挑战使用习惯,尤其是对java文件换行之后特别难看。
四、可选插件
Smart Search
可直接在IDEA里谷歌搜索或stackoverflow
自定义搜索菜单,在 File | Settings | Other Settings | Smart Search
properties和YAML互转的插件(不建议,找AI转换即可)
试了几个,都不好用
-
Properties to YAML Converter Codearte
,似乎不兼容新版的IDEA了(2020.1),且不说做不到 “互转”,貌似只能单转。官方使用指引如下General Usage Instructions
- At first select properties file.
- Convert action is also available from the context menu after right-clicking properties file. You can find it also in the menu:
Code -> Convert Properties to YAML.
puml插件
安装plantuml以便打开puml文件(流程文件)
Markdown插件
idea本身有markdown插件,名就叫Markdown
,但是似乎有些bug,经常性出现无法预览(Mac版如此,win版未知是否也如此)
搜索Markdown Navigator
并安装,重新启动idea后会提示需要二选一,选择该插件即可。
没有Spring Initializr
正常安装是有的,如没有,建议重新安装IDEA(清缓存),不建议下面的做法
大多数IDEA应该是有,有些没有,可能因为版本问题。安装插件 Spring Assistant
即可
这个很可能是安装的时候漏掉了某些插件,需要卸载干净(详细搜索如何卸载干净idea),安装Spring Assistant根本就不管用,还会漏掉很多功能,比如properties配置文件的springboot配置的自动补全等
阿里代码规范检查插件
File->Settings->Plugins->Marketplace->输入Alibaba Java Coding Guidelines
回车搜索并安装,然后重启(若搜不到就搜部分关键字)
安装 ignore 插件
搜搜ignore并安装。可添加.gitignore
文件。除此外其他ignore文件,如.dockerignore
发现其各种语言的忽略的模板文件来自GitHub这里:https://github.com/github/gitignore
安装后出现
- File->Settings->Version Control->Ignore File Support,可以在这里添加自己的模板(建议)-----全局配置
- 在File->Other Settings->Settings for New Projects->Version Control中也可以配置,也是全局配置(该插件这两处是相同的)
- 右键项目:new->.ignore file
安装英语单词翻译插件 Translation
搜索Translation
并安装,安装好后在File->Settings->Other Settings->Translation->将使用translate.google.com
去掉勾选,天朝网络不行。
驼峰互转插件
搜索CamelCase
并安装插件,重启后,选中文本,快捷键shift+option+u(持续点击能在各种形式中转换)
小驼峰->按此全小写,下划线->单词全小写,用空格连接->单词全小写,用减号连接->单词全大写,下划线->大驼峰
快捷键提示插件
搜索Key promoter X
并安装。
GsonFormat 插件
可以把json字串转换为类。新建这个类,完成后代码会自动贴在这个类里。快捷键option+s打开并贴入JSON字串。
注意以下设置:
option+s打开面板,左下角Setting
Convert Libary
选择LombokGenerate Comments
剔除勾选(也可保留,注释里有转换前的json值,方便进行核对并修正字段类型)
Statistic插件(平时没什么用)
搜索Statistic并安装。统计代码行数之类
Rainbow Brackets(彩虹括号)
其实可以不装,可能会变得更卡顿(因为插件层提示文件超过1000行就会默认禁用有此可知会影响性能)
默认的颜色比较暗沉,如果使用白色主体时区分度不高,使用暗黑主体区分度就很高。在Editor->Color Scheme->Rainbow Buckets里可以配置颜色,每种括号可以配置5层颜色。
如果用亮色主题,这个插件几乎就没有什么用,虽然可以自己设定适合于亮色主体的颜色,但是太麻烦了。(在File->Settings->Editor->Color Scheme->Rainbow Brackets里可以复制一份配置单独定义颜色,例如定义为:
String Manipulation(字符串互转—有AI了不需要这个了)
虽然默认就有快捷键可以转,但是安装这个后有快捷的右键菜单,对于不常用的 “字符转换” 的操作快捷键,是很好的补充。
ZooKeeper (连接zk的插件)
搜索并安装插件,在Preference->Other Settings->ZooKeeper里输入连接信息,并且Enable ZooKeeper
勾上,在IDEA左侧就会出现 “ZooKeeper” 的视图。目前的版本似乎有些bug,连不上
jclasslib (必装)
查看class的反汇编,类似于javap -v -p。装完后有个比较恶心的,就是总显示中文。
使用方式:view ->Show Bytecode with Jclasslib
BinEd -Binary/Hexadecimal Editor
只要搜 BinEd 就行了,全名有点冗长装完后idea出现新的菜单,File->Open As Binary…,并且右键菜单也出现了 Open As Binary。
在某个Xxx.class文件中右击选择Open As Binary即可。注意,不能右键打开Xxx.java选择Open As Binary,因为这样看到的是java文件的。
快捷键
1、import package
-
import包:alt+enter(光标不需要停留在需要导入的那行代码)
-
一次性import多个类:(好像没有,但可以参考 设置自动导入)
-
清理没用到的import语句:ctrl+alt+o
2、搜索文件
- 搜索项目的 class:搜不了
- 搜索 JAR 包里的 class:ctrl+n (搜 jar 包中的 class)
- 搜索项目里的文件:ctrl+shift+n
- 搜索jar包里的文件:ctrl+shift+n,勾选右边的
include non-project classes
- 搜索所有(包括Classes/Files/Symbols/Actions):双击shift
3、搜索文本
- 搜索单个文件里的字串:ctrl+f(下一个:enter或F3,上一个:shift+f3)
- 替换单个文件里的字串:ctrl+r
- 选中文本上下搜索:选中后按ctrl+f3,相当于ctrl+f后输入选中的文本
- 搜索项目的maven里有什么jar包:将
External Libraies
展开,直接输入字母(必须在Project的框框里),可搜索GAV - 搜索项目中的文件是否包含字串:ctrl+shift+f(勾选file mask表示限定于指定扩展名的文件),在Score里可以搜jar包内的字串
- 全局替换文本:ctrl+shift+r
4、复制/移动上一行下一行、删除一行
- 删除一行:ctrl+y(不会复制)
- 删除并复制当前行ctrl+x(不好用,其实是剪切一行的意思)
- 复制一行(到下面):ctrl+d
- 移动一行(上下):alt+shift+↑↓
5、撤销、恢复、回到最后编辑的地方
- 撤销:ctrl+z
- 恢复:ctrl+shift+z (可能和搜狗输入法冲突)
- 回到最后编辑位置:ctrl+shift+backspace
- 回到上一处:ctrl+alt+左右箭头(类似Eclipse的alt+左右箭头)
- 修改impl希望intf方法同步
- 新增impl方法,intf中没有,可以alt+enter自动生成在intf中
- 如果impl和intf中都有该方法,想要增减方法入参、修改入参类型是不行的,用alt+enter会重新生成新的。当然可以手动删除旧的
- 修改impl的方法返回类型,是可以alt+enter更新intf的
- 修改impl的方法抛出异常,是可以alt+enter更新intf的
- 新增impl方法,intf中没有,可以alt+enter自动生成在intf中
- 移动代码:ctrl+shift+↑↓(选中一行或多行)
- 复制代码:(暂时没有)
- 代码提示:Ctrl+空格(类似Eclipse的alt+/,跟输入法冲突)
- 预览类的全包名,方法的签名声明:ctrl+鼠标移上去
6、注释、格式化、set/get/toString/构造器
-
注释和取消注释一行:ctrl+/
-
注释和取消多行:ctrl+shift+/
格式化代码:ctrl+alt+l (有些IDEA必须大写L,按shift;有些不用) -
格式化选中的代码:先选中再ctrl+alt+l
-
插入set/get/toString/构造器:alt+insert
7、接口追踪方面、跳到指定行
- 点击方法名进入接口:ctrl+点击方法名
- 点击方法名直接进入实现:ctrl+alt+点击方法名
- 从接口方法跳转到实现:点击左边的向下的绿色图标
- 从实现方法跳转到接口:点击左边的向上的绿色图标
- 类里查找方法(类似ctrl+o):ctrl+f12
- 查找某个方法的调用者:alt+f7(ctrl+alt+h也行)
- 查找某个类的引用者:alt+f7 (会列出作为入参以及其他各种情形的依赖)
- 查找某个方法在本类的调用者:ctrl+f7(基本无用,被本方法多出引用也只是跳到第一处)
- 跳到某一行号:ctrl+g
8、Debug常用快捷键
- F7:在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中 (必备)
- F8:在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则不进入当前方法体内 (必备) (可能与有道词典快捷键冲突)
- F9:在 Debug 模式下,恢复程序运行,但是如果该断点下面代码还有断点则停在下一个断点上 (必备)
- Alt+F8:在 Debug 的状态下,选中对象,弹出可输入计算表达式调试框,查看该输入内容的调试结果 (必备)
- Ctrl+F8:在 Debug 模式下,设置光标当前行为断点,如果当前已经是断点则去掉断点
- Shift+F7:在 Debug 模式下,智能步入。断点所在行上有多个方法调用,会弹出进入哪个方法
- Shift+F8:在 Debug 模式下,跳出,表现出来的效果跟 F9 一样
- Ctrl+Shift+F8:在 Debug 模式下,指定断点进入条件
- Alt+Shift+F7:在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果方法体还有方法,则会进入该内嵌的方法中,依此循环进入
非常详细的debug教程:https://www.jb51.net/article/122965.htm
9、模板
1、fori:for循环代码,用i变量
1、iter:foreach代码
99、其他
- 关闭当前文件:ctrl+f4
- 重命名某个变量或方法名:shift+f6
- 打开指定文件所在explorer:右击文件->Show in Explorer
- 打开最近的文件列表:ctrl+e
- ctrl+c/x:若光标未选中东西,是复制或剪切光标所在行
- 定位到左边的文件位置:Autoscroll From Source
- idea怎么查看所有的断点:进入Debug视图->点击View Breakpoints
- out里头是编译后的class文件,只有被运行的类,才会被编译。
- 最大化/最小化当前窗口:ctrl+shift+f12
- 全大写/全小写:ctrl+shift+u(不断切换大小写)
- 查看子类:ctrl+h
- 查看类中的所有方法:点击左边的
Structure
视图,可以搜索(对比cmd+f12只能临时展示不能长久)
运行maven命令、运行main传参
-
maven命令
- 选择工具栏的
Edit Configurations
,然后点击+
号,选择Maven
,然后编辑标题Name
(也可默认),输入Command Line
(无需mvn),需要的话填写Profiles
- 选择工具栏的
-
运行 main 方法
也是编辑
Edit Configurations
,在VM options
、Program arguments
、Environment variables 中填入所需
- 传参数到main方法
- 传VM参数
- 传环境变量参数:程序中用System.getenv获取,System.getProperty获取不了
删掉启动页无用的project(强迫症)
在 询问进入什么Project的页面
直接点击x进行删除,但是实际的.idea和*.iml文件并未删除,需要手动删除
git文件的状态
是用颜色标注的https://www.jetbrains.com/help/idea/2017.1/file-status-highlights.html
导出配置
导出、导入idea的配置,在迁移的时候不用这么仓促
导入项目
导入(import)和打开(open)的区别是,导入指之前可能是Eclipse的项目,需要导入,打开是指打开本地已经是IDEA项目接口的
- 本身就是idea的项目(有*.iml、.idea项目文件),或者本身不属于idea也不属于Eclipse,直接File->Open即可
IDEA 图标含义
- https://blog.csdn.net/jenrey/article/details/80077783 (非官方)
- https://www.jetbrains.com/help/idea/symbols.html (官方英文)
========================================================================
导入的选择
https://blog.csdn.net/qq_2300688967/article/details/81481093
熟悉IDEA
-
可以导入整个目录,即使是不关联的一堆project在文件系统上是放在同一目录,就可以引入,这样只需要启动一个idea即可
-
导入旧项目
- Create project from existing sources:只能导入使用idea创建的项目源码
- Import project from external model:可以导入非idea创建的项目源码。假设是eclipse创建的源码,要选择maven而不是eclipse
- (以前用idea创建,后来从idea的welcome中删除,此次是再次导入)
- (以前是eclipse创建的):要选择maven
-
idea的项目文件都有什么文件:idea目录和*.iml文件
-
删除项目(像eclipse那种delete)
-
创建单springboot项目
-
创建spring cloud项目
导入:
删除项目:可以删除.idea 和 *.iml重新来一遍
Ctrl+E或者Alt+Shift+C 最近更改的代码
Ctrl+Shift+Space 自动补全代码
Ctrl+Alt+Space 类名或接口名提示
Ctrl+P 方法参数提示
Ctrl+J 自动代码
Ctrl+E 最近打开的文件
Ctrl+H 显示类结构图
Ctrl+Q 显示注释文档
Alt+F1 查找代码所在位置
Alt+1 快速打开或隐藏工程面板
Ctrl+Alt+ left/right 返回至上次浏览的位置
Alt+ left/right 切换代码视图
Alt+ Up/Down 在方法间快速移动定位
Ctrl+Shift+Up/Down 代码向上/下移动。
F2 或Shift+F2 高亮错误或警告快速定位
代码标签输入完成后,按Tab,生成代码。
选中文本,按Ctrl+Shift+F7 ,高亮显示所有该文本,按Esc高亮消失。
Ctrl+W 选中代码,连续按会有其他效果
选中文本,按Alt+F3 ,逐个往下查找相同文本,并高亮显示。
Ctrl+Up/Down 光标跳转到第一行或最后一行下
Ctrl+B 快速打开光标处的类或方法
ctrl双击两次,可以运行cmd
其他经验
- 断点打在方法上,似乎会影响springboot项目启动的速度(debug的小窗口会弹出提示)
- 在项目启动的时候进行编辑代码,似乎IDEA会变得很卡很慢,例如输入注释都会卡(好像也不是这原因卡)
- alt+F7在属性上,可以查看到该属性的setter和getter被调用的地方. 例如对于使用lombok的类的setter和getter都没有了,所以不能单独查看setter或getter的调用链.
- shift+f6重命名方法名
- 会提示建议的方法名
- 假如重命名impl的方法:提示要
Rename base method
还是Rename only current method
。前者改intf和impl,后者仅改impl - 假如重命名intf的方法:不提示上述两个情况
- ctrl+鼠标点击方法,可以到达该方法被调用的地方
- ctrl+shif+n搜索文件,向打开多个,可以选择多个后敲回车(但不能选中多个后用鼠标点其中一个,只能打开一个!)
- IDEA右下角有个"小人",点击后如果把
Highlighting Level
改成None
,则如果文件编译出问题,也不会提示,需要特别注意
关于拷贝
打开后在文件名右键,显示菜单如下
在左边的文件导航树状结构选中文件并右键,显示菜单如下
- 拷贝类带包名:CopyReference,在别的编辑器例如vscode中可以粘贴出 “包名+类名”的格式。但是在idea里粘贴要不能用cmd+v,必须用
Paste without formatting
- 得到文件的绝对路径,
copy path
其他技巧
如果你想找IDEA某个菜单,但是不知道菜单在哪里,可以Help->Search。注意:这个只能搜索菜单,不能搜索首选项里头的东西
mybatis系列的插件
MyBatisX
- 使用概述:
在java接口和xml文件之间互相跳转,写了java接口后,可快速手动生成xml代码,在使用idea连接数据源后,还可以提供表字段提示等等,集成 MybatisPlus 代码生成 - 详细使用
https://mp.baomidou.com/guide/mybatisx-idea-plugin.html#功能
MyBatisCodeHelperPro
MyBatis Log Plugin (已经要付费了)
注意必须在console打印出sql语句
MybatisLogFormat(sql还原带参形式,不推荐)
注意必须在console打印出sql语句
不推荐,至少1.3版本都有严重的bug,例如生成的sql对于String类型居然不用单引号引起来
Mybatis Log(sql还原带参形式,无菜单)
没有右键菜单,选中目标日志后,按下快捷键ctrl+shift+h,没有任何提示,填入参数后的sql就复制进剪切板了。注意必须在console打印出sql语句
mac版不知道是不是快捷键冲突,不能正常使用,并且这款软件交互非常之差,首先快捷键是些死的就容易冲突,其次应该要提供右键裁判,再次需要有反馈,格式化出错或者成功,应该有要有提醒。
chrome配置
chrome地址栏显示完整地址
-
【过时】网上通过
chrome://flags/
搜到的很多是旧版的Omnibox UI Hide Steady-State URL Scheme and Trivial Subdomains
,新版chrome取消了该设置 -
【过时】经过激烈的反对,76版移除的开关,在83版开始又重新加回来了,不过不是原来的名字
- 操作步骤:
以我的最新版的谷歌浏览器( 83.0.4103.116 (正式版本) ( 64 位))为例,如何显示完整http(s)://www.
? 访问:chrome://flags/
,搜索context-menu-show-full-urls
,改成 Enabled,重启浏览器,重启后还不行,还需要右键点击地址栏,弹出的右键菜单中选择 “总是显示完整网址” 勾上,无需重启浏览器立即生效
- 操作步骤:
-
【目前最新(94版本自测)】最新的连
context-menu-show-full-urls
选项都搜不到,直接这么操作即可: “右键点击地址栏,弹出的右键菜单中选择 ‘总是显示完整网址’ 勾上,无需重启浏览器立即生效”
safari显示完整的网址
偏好设置->“高级” tab页->勾选 “显示完整网站地址” (虽然把www显示出来了,但是http(s)还是不展示!!!有没有办法http(s)展示出来?暂时无解)