idea常做的配置改动和常用插件

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,详细改动如下 (全局生效

  1. 修改 Maven home directory,浏览到自己的maven目录
  2. Local repository似乎会根据上一个步骤自动修正(根据M2_HOME的settings.xml的配置确定)
  3. 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下载源码和文档

不建议是太建议,耗磁盘容量,下载慢

  1. 找到菜单
  • 若想仅仅本工程生效:File->Settings
  • 若想全局生效:File->Other Settings->Settings for New Projects
  1. 搜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->SettingsOther Settings->Settings for New Projects里都有该配置项,但两处并不是独立的,在其中一处修改,另外一处受影响

7、设置作者信息快捷键(LiveTemplate)

  1. File->Settings->Editor->Live Templates

  2. 点击右上角的加号,选择新建分组,用于包含自己新增的LiveTemplate,选择 Template Group...

  3. 输入名字,例如 MyCustomGroup,点击OK

  4. 选中新建的分组,点击右上角的加号,这次选择 Live Template

  5. 输入Abbreviation(缩写,即用来触发的单词),以及Description(描述,会出现在提示框后侧,详见后图)。例如输入zz,描述是作者信息

  6. Template text中输入模板信息,如果带有变量,则自动检测到变量后右边的Edit variables 会亮起来
    例如值:

    /**
    *

    • @author Stone
    • @date $DATE$
      */

注意:变量的格式不是 ${DATE},而是 $变量名$

  1. 点击 Edit variables,输入Expression,用于告知要怎么取值,例如用 date()表示取当前日期,点击OK
  2. 可以看到No applicable contexts,点击 Define,勾选Java全部
  3. 最终点击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、去掉拼写检查

  • 怎么把某个单词加入到词典中
    • 例如 hbaserowkey 这种,会被认为是拼写错误。只需要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 选择Lombok
  • Generate 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的
  • 移动代码: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 optionsProgram argumentsEnvironment 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)展示出来?暂时无解)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/89411.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/89411.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3. 物理信息神经网络(PINNs)和偏微分方程(PDE),用物理定律约束神经网络

导言&#xff1a;超越时间&#xff0c;拥抱空间 在前两篇章中&#xff0c;我们已经走过了漫长而深刻的旅程。我们学会了用常微分方程&#xff08;ODE&#xff09;来描述事物如何随时间演化&#xff0c;从一个初始状态出发&#xff0c;描绘出一条独一无二的生命轨迹。我们还学会…

Flutter基础(基础概念和方法)

概念比喻StatefulWidget会变魔术的电视机State电视机的小脑袋&#xff08;记信息&#xff09;build 方法电视机变身显示新画面setState按遥控器按钮改变状态Scaffold电视机的外壳 StatefulWidget&#xff1a;创建一个按钮组件。State&#xff1a;保存点赞数&#xff08;比如 i…

K8s——Pod(1)

目录 基本概念 ‌一、Pod 的原理‌ ‌二、Pod 的特性‌ ‌三、Pod 的意义‌ 状态码详解 ‌一、Pod 核心状态详解‌ ‌二、其他关键状态标识‌ ‌三、状态码运维要点‌ 探针 ‌一、探针的核心原理‌ ‌二、三大探针的特性与作用‌ ‌参数详解‌ ‌三、探针的核心意义…

MySQL 存储过程面试基础知识总结

文章目录 MySQL 存储过程面试基础知识总结一、存储过程基础&#xff08;一&#xff09;概述1.优点2.缺点 &#xff08;二&#xff09;创建与调用1.创建存储过程2.调用存储过程3.查看存储过程4.修改存储过程5.存储过程权限管理 &#xff08;三&#xff09;参数1.输入参数2.输出参…

NLP文本数据增强

文章目录 文本数据增强同义词替换示例Python代码示例 随机插入示例Python代码示例 随机删除示例Python代码示例 回译&#xff08;Back Translation&#xff09;示例Python代码示例 文本生成模型应用方式示例Python代码示例 总结 文本数据增强 数据增强通过对原始数据进行变换、…

(LeetCode 每日一题) 594. 最长和谐子序列 (哈希表)

题目&#xff1a;594. 最长和谐子序列 思路&#xff1a;哈希表&#xff0c;时间复杂度0(n)。 用哈希表mp来记录每个元素值出现的次数&#xff0c;然后枚举所有值x&#xff0c;看其x1是否存在&#xff0c;存在的话就可以维护最长的子序列长度mx。 C版本&#xff1a; class Sol…

FreePDF:让看英文文献像喝水一样简单

前言 第一次看英文文献&#xff0c;遇到不少看不懂的英文单词&#xff0c;一个个查非常费劲。 后来&#xff0c;学会了使用划词翻译&#xff0c;整段整段翻译查看&#xff0c;极大提升看文献效率。 最近&#xff0c;想到了一种更快的看文献的方式&#xff0c;那就是把英文PD…

Scikit-learn:机器学习的「万能工具箱」

——三行代码构建AI模型的全栈指南** ### **一、诞生背景&#xff1a;让机器学习从实验室走向大众** **2010年前的AI困境**&#xff1a; - 学术界模型难以工程化 - 算法实现碎片化&#xff08;MATLAB/C主导&#xff09; - 企业应用门槛极高 > **破局者**&#xff1a;Da…

GPT-1论文阅读:Improving Language Understanding by Generative Pre-Training

这篇论文提出了 GPT (Generative Pre-Training) 模型&#xff0c;这是 GPT系列&#xff08;包括 GPT-2, GPT-3, ChatGPT, GPT-4 等&#xff09;的奠基之作。它标志着自然语言处理领域向大规模无监督预训练任务特定微调范式的重大转变&#xff0c;并取得了显著的成功。 文章链接…

Hadoop大数据-Mysql的数据同步工具Maxwell安装与使用( 详解)

目录 一、前置基础知识 1、主从复制&#xff08;Replication&#xff09; 2、数据恢复 3、数据库热备 4、读写分离 5、存储位置及命名 二、Maxwell简介 1、简介 2、Maxwell同步数据特点 2.1.历史记录同步 2.2.断点续传 三、前期准备 1、查看网卡&#xff1a; 2、…

分布式系统的一致性模型:核心算法与工程实践

目录 一、分布式一致性的核心挑战二、主流一致性算法原理剖析1. Paxos&#xff1a;理论基础奠基者2. Raft&#xff1a;工业级首选方案3. ZAB&#xff1a;ZooKeeper的引擎 三、算法实现与代码实战Paxos基础实现&#xff08;Python伪代码&#xff09;Raft日志复制核心逻辑 四、关…

Apache HTTP Server部署全攻略

httpd 简介 httpd&#xff08;Apache HTTP Server&#xff09;是一款历史悠久的开源 Web 服务器软件&#xff0c;由 Apache 软件基金会开发和维护。自 1995 年首次发布以来&#xff0c;Apache 一直是 Web 服务器领域的领导者&#xff0c;以其稳定性、安全性和灵活性著称。根据…

信号处理学习——文献精读与code复现之TFN——嵌入时频变换的可解释神经网络(下)

书接上文: 信号处理学习——文献精读与code复现之TFN——嵌入时频变换的可解释神经网络&#xff08;上&#xff09;-CSDN博客 接下来是重要的代码复现&#xff01;&#xff01;&#xff01;GitHub - ChenQian0618/TFN: this is the open code of paper entitled "TFN: A…

线上故障排查:签单合同提交报错分析-对接e签宝

在企业管理系统中&#xff0c;合同生成与签署环节至关重要&#xff0c;尤其是在使用第三方平台进行电子签署时。本文将通过实际的报错信息&#xff0c;分析如何进行线上故障排查&#xff0c;解决合同生成过程中出现的问题。 #### 1. 错误描述 在尝试生成合同并提交至电子签署…

知攻善防靶机 Linux easy溯源

知攻善防 【护网训练-Linux】应急响应靶场-Easy溯源 小张是个刚入门的程序猿&#xff0c;在公司开发产品的时候突然被叫去应急&#xff0c;小张心想"早知道简历上不写会应急了"&#xff0c;于是call了运维小王的电话&#xff0c;小王说"你面试的时候不是说会应急…

原神八分屏角色展示页面(纯前端html,学习交流)

原神八分屏角色展示页面 - 一个精美的前端交互项目 项目简介 这是一个基于原神游戏角色制作的八分屏展示页面&#xff0c;采用纯前端技术实现&#xff0c;包含了丰富的动画效果、音频交互和视觉设计。项目展示了一些热门原神角色&#xff0c;每个角色都有独立的介绍页面和专属…

华为认证二选一:物联网 VS 人工智能,你的赛道在哪里?

一篇不讲情怀只讲干货的科普指南 一、华为物联网 & 人工智能到底在搞什么&#xff1f; 华为物联网&#xff08;IoT&#xff09; 的核心是 “万物互联”。 通过传感器、通信技术&#xff08;如NB-IoT/5G&#xff09;、云计算平台&#xff08;如OceanConnect&#xff09;&…

CloudLens for PolarDB:解锁数据库性能优化与智能运维的终极指南

随着企业数据规模的爆炸式增长,数据库性能管理已成为技术团队的关键挑战。本文深入探讨如何利用CloudLens for PolarDB实现高级监控、智能诊断和自动化运维,帮助您构建一个自我修复、高效运行的数据库环境。 引言:数据库监控的演进 在云原生时代,传统的数据库监控方式已不…

MySQL中TINYINT/INT/BIGINT的典型应用场景及实例

以下是MySQL中TINYINT/INT/BIGINT的典型应用场景及实例说明&#xff1a; 一、TINYINT&#xff08;1字节&#xff09; 1.状态标识 -- 用户激活状态&#xff08;0未激活/1已激活&#xff09; ALTER TABLE users ADD is_active TINYINT(1) DEFAULT 0; 适用于布尔值存储和状态码…

YOLOv13:最新的YOLO目标检测算法

[2506.17733] YOLOv13: Real-Time Object Detection with Hypergraph-Enhanced Adaptive Visual Perception Github: https://github.com/iMoonLab/yolov13 YOLOv13&#xff1a;利用超图增强型自适应视觉感知进行实时物体检测 主要的创新点提出了HyperACE机制、FullPAD范式、轻…