IDEA的使用技巧
- idea常用快捷键
- 技巧
- 技巧1:**yaml自动提示功能消失解决方案**
- 技巧2:在Idea中隐藏指定文件/文件夹
- 技巧3:idea设置自动导包
- 技巧4:IDEA设置代码提示不区分大小写
- 技巧5:设置idea创建导入项目时默认jdk版本配置以及maven和gradle默认配置
- 技巧6:使用idea自带的 ssh session 连接linux服务器
- 技巧7:idea配置git
- 技巧8:gradle控制台乱码
- 技巧9:自定义注释
- 技巧10:设置idea选项卡不为多列,多余不隐藏和添加窗口数
- 技巧11:Intellij IDEA 设置Maven依赖自动补全
- 技巧12:快速生成serialVersionUID
- 技巧13 开启/关闭自动换行
- 技巧14:idea修改错误和警告提示颜色以及选中后的颜色
- 技巧15 隐藏部分文件夹,让项目视图更简洁
- idea实用插件
- 1. MyBatis
- 2. Alibaba Java Coding Guidelines代码规范检查工具
- 3. EasyCode
- 4. github copilot
- 5. Grep Console
- 6. SonarLint插件
- 7. Alibaba Java Coding Guidelines
- 8. Restful Tool
- 9. Swagger Tools
- 10. JPA Buddy
- 11. 安装gitee插件
- 12. GitToolBox
- 13. Search In Repository
- 14. VisualGC
- 15. .ignore插件
- 16. Maven Helper
- 17. spring-assistant-@valueToYml
- 18 Extra ToolWindow Colorful Icons
- 19 Jump to Line
- 20 Nginx Configuration
- 21 GenerateAllSetter
- 22. GsonFormatPlus
- IDEA导航栏工具栏添加按钮
- 6 问题
- 1. IDEA中报错 “Error running ‘Application‘: Command line is too long.“
- 2. 端口被占用
- 3. 无法找到主类或者...
- 4. gradle构建错误
- 5. idea内存不足
- 6. idea不识别maven项目
- 7. lombok编译报错
- 8. 使用idea发现代码的版本控制自己使用了svn,发现项目中有.svn文件,删除文件后还是存在问题
- 9.idea出现"Filename too long"问题解决办法
- 10. idea编译报错java: java.lang.OutOfMemoryError: GC overhead limit exceeded
- 12. 在idea提交代码的时候发现一堆xml,iml等idea项目配置文件可以提交
idea常用快捷键
记得这些快捷键可以提高敲代码的速度。
快捷键 | 功能 |
---|---|
Alt + Enter | 神键,可以根据光标所在问题,提供快速修复大部分问题选择,光标放在的位置不同提示的结果也不同 |
Ctrl + Z | 撤销 |
Ctrl + Shift + Z | 取消撤销 |
Alt + Shift + 上下箭头 | 移动当前代码行 |
Ctrl + D | 复制光标所在行的内容,插入光标位置下面 |
Ctrl + Y | 删除光标所在行 |
Ctrl + Alt + L | 格式化代码,可以对当前类或者文件和整个包目录使用 |
Ctrl + Alt + V | 自动补全前面的代码或者加.var |
Ctrl + F | 在当前文件进行文本查找 |
Ctrl + R | 在当前文件进行文本替换 |
Ctrl + O | 选择可重写的方法 |
Ctrl + / | 注释光标所在行代码,会根据当前不同文件类型使用不同的注释符号// |
Ctrl + Shift + / | 代码块注释 /**/ |
Shift + Enter | 光标跳到下一行并回车,在敲代码中不用按end来Enter |
Ctrl + Enter | 向下回车,光标不动 |
Ctrl + Shift + Enter | 回车并格式化这行代码,并自动补分号; |
Alt + Insert | 代码自动生成,如生成构造方法对象的 set / get 方法,toString() 等 |
Ctrl + Alt + O | 优化导入的类,可以对当前文件和整个包目录使用 |
Ctrl + Shift + F | 根据输入内容查找整个项目 或 指定目录内文件 |
Ctrl + Shift + R | 根据输入内容替换对应内容,范围为整个项目 或 指定目录内文件 |
Ctrl + Shift + Enter | 自动结束代码,行末自动添加分号 |
Ctrl + Alt + T | 快速写出try-catch、if等代码 |
Shift + F6 | 统一修改名字(类名,方法名,属性) |
Ctrl+Shift+U | 选中单词,然后按Ctrl+Shift+U,可以在大小写之间来回切换 |
Ctrl+Alt+M | 提取代码作为一个方法 |
Shift + F11 | 书签列表 |
F11 | 快速生成匿名书签 |
Ctrl+F11 | 快速生成标记书签,总共只能生成 10 个数字以及 26 个字母的标记书签 |
Alt + 2 | 快速打开 Favorites(收藏) 列表 |
Alt + Shift + F | 快速添加到收藏夹 |
Ctrl + Alt + Shift + C | 复制相对路径 |
技巧
技巧1:yaml自动提示功能消失解决方案
在做程序的过程中,可能有些小伙伴会基于各种各样的原因导致配置文件中没有提示,这个确实很让人头疼,所以下面给大家说一下如果自动提示功能消失了怎么解决。
先要明确一个核心,就是自动提示功能不是SpringBoot技术给我们提供的,是我们在Idea工具下编程,这个编程工具给我们提供的。明白了这一点后,再来说为什么会出现这种现象。其实这个自动提示功能消失的原因还是蛮多的,如果想解决这个问题,就要知道为什么会消失,大体原因有如下2种:
-
Idea认为你现在写配置的文件不是个配置文件,所以拒绝给你提供提示功能
-
Idea认定你是合理的配置文件,但是Idea加载不到对应的提示信息
这里我们主要解决第一个现象,第二种现象到原理篇再讲解。第一种现象的解决方式如下:
步骤①:打开设置,【Files】→【Project Structure…】
步骤②:在弹出窗口中左侧选择【Facets】,右侧选中Spring路径下对应的模块名称,也就是你自动提示功能消失的那个模块
步骤③:点击Customize Spring Boot按钮,此时可以看到当前模块对应的配置文件是哪些了。如果没有你想要称为配置文件的文件格式,就有可能无法弹出提示
步骤④:选择添加配置文件,然后选中要作为配置文件的具体文件就OK了
到这里就做完了,其实就是Idea的一个小功能
总结
-
指定SpringBoot配置文件
- Setting → Project Structure → Facets
- 选中对应项目/工程
- Customize Spring Boot
- 选择配置文件
技巧2:在Idea中隐藏指定文件/文件夹
创建SpringBoot工程时,使用SpringBoot向导也好,阿里云也罢,其实都是为了一个目的,得到一个标准的SpringBoot工程文件结构。这个时候就有新的问题出现了,标准的工程结构中包含了一些未知的文件夹,在开发的时候看起来特别别扭,这一节就来说说这些文件怎么处理。
处理方案无外乎两种,如果你对每一个文件/目录足够了解,有用的留着,没有用的完全可以删除掉。或者不删除,但是看着别扭,就设置文件为看不到就行了。删除不说了,选中后直接Delete掉就好了,这一节说说如何隐藏指定的文件或文件夹信息。
既然是在Idea下做隐藏功能,肯定隶属于Idea的设置,设置方式如下。
步骤①:打开设置,【Files】→【Settings】。
步骤②:打开文件类型设置界面后,【Editor】→【File Types】→【Ignored Files and Folders】,忽略文件或文件夹显示。
步骤③:添加你要隐藏的文件名称或文件夹名称,可以使用*号通配符,表示任意,设置完毕即可。
到这里就做完了,其实就是Idea的一个小功能
总结
- Idea中隐藏指定文件或指定类型文件
- 【Files】→【Settings】
- 【Editor】→【File Types】→【Ignored Files and Folders】
- 输入要隐藏的名称,支持*号通配符
- 回车确认添加
技巧3:idea设置自动导包
"Insert imports on past:”—ASK:当类名重名的时候,是询问你导入哪个包还是全部导入。
“Optimize imports on the fly”:表示IDEA将在我们书写代码的时候自动帮我们优化导入的包,比如自动去掉一些没有用到的包
“Add unambiguous imports on the fly”:表示IDEA将在我们书写代码的时候自动帮我们导入需要用到的包。
技巧4:IDEA设置代码提示不区分大小写
技巧5:设置idea创建导入项目时默认jdk版本配置以及maven和gradle默认配置
每次导入项目jdk都是其它版本的,导致报错,通过这个设置,能修改导入项目的默认jdk,不用每次导入项目都要去修改
1. 设置idea创建导入项目的默认jdk版本配置
在该界面修改即可
2. 设置idea创建导入项目时的maven和gradle默认设置
3. 修改创建导入项目默认编码格式
技巧6:使用idea自带的 ssh session 连接linux服务器
1. 配置linux服务器参数(目的为了下次的连接)
2. 连接 ssh session
技巧7:idea配置git
如果不配置可能出现克隆不了,提交不了代码
技巧8:gradle控制台乱码
添加
-Dfile.encoding=UTF-8
一定要重启才能生效
如果还乱码只能
技巧9:自定义注释
1. 创建类、接口时自动添加注释
/**
*
* @author ${USER}
* @date ${DATE}
**/
可选值如下,自行搭配:
可选值 | 说明 |
---|---|
${PACKAGE_NAME} | 用于创建新文件的包的名称 |
${USER} | 当前用户系统登录名 |
${DATE} | 当前系统日期 |
${TIME} | 显示当前系统时间 |
${YEAR} | 当前年份 |
${MONTH} | 当前月份 |
${MONTH_NAME_SHORT} | 当前月份名称的前3个字母。例:Jan、Feb等。 |
${MONTH_NAME_FULL} | 当前月份的全名。例:一月、二月等。 |
${DAY} | 本月的今天 |
${DAY_NAME_SHORT} | 当前日期名称的前3个字母。例如:周一、周二等。 |
${DAY_NAME_FULL} | 当天的全名。例:周一、周二等。 |
${HOUR} | 当前小时 |
${MINUTE} | 当前分钟 |
${PROJECT_NAME} | 当前项目的名称 |
2. 添加注解模板,在任意地方添加注释
创建模板组
**
* @author $USER$
* @date $date$ $param$ $return$
*/
点击define之后
default value
param:
groovyScript("def result = '';def params = \"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {if(params[i] != '')result+='* @param ' + params[i] + ((i < params.size() - 1) ? '\\r\\n ' : '')}; return result == '' ? null : '\\r\\n ' + result", methodParameters())
return:
groovyScript("return \"${_1}\" == 'void' ? null : '\\r\\n * @return ' + \"${_1}\"", methodReturnType())
另一种方式:
**
* @author $USER$
* @date $time$ $date$
* @Param $param$
* @return $return$
*/
3. 使用方法
如上模板名字为m
则直接输入m
即可输入模板内容,但是根据日常习惯先输入/
所以在模板中第一行只保留了**
,所以总的说就是按照自己的习惯来,这里的输入方式为:/m+回车(Enter)
技巧10:设置idea选项卡不为多列,多余不隐藏和添加窗口数
往下滑可看到窗口数设置
技巧11:Intellij IDEA 设置Maven依赖自动补全
技巧12:快速生成serialVersionUID
搜索Serializable class without ‘serialVersionUID’
技巧13 开启/关闭自动换行
技巧14:idea修改错误和警告提示颜色以及选中后的颜色
技巧15 隐藏部分文件夹,让项目视图更简洁
idea实用插件
1. MyBatis
1. Free MyBatisplugin
free-idea-mybatis是一款增强idea对mybatis支持的插件,主要功能如下:
- 生成mapper xml文件
- 快速从代码跳转到mapper及从mapper返回代码
- mybatis自动补全及语法错误提示
- 集成mybatis generator gui界面
2. MyBatisX
主要功能:
- 自动生成代码功能,包含自动生成数据库实体和XML配置文件,根据Mapper的接口
方法名
自动生成xml配置 - Mapper接口与xml自动跳转功能
3. Mybatis-Flex-Helper
另一款插件
- 生成的 APT 文件支持提示
- 代码模板是高度可定制的
- APT 自动编译
- 共享与模板相关的配置
- 自动识别数据包路径
- 预览版 SQL
- APT文件支持代码提示
- 代码模版高度自定义
- APT自动编译
- 模板相关配置分享
- 自动识别包路径
- 预览 SQL
4. MyBatisCodeHelperPro
- 插件可以识别mybatis动态标签,使用mybatis动态标签的sql可以正常提示,检测
- mybatis几乎所有地方的sql都有代码提示,可以写出安全的sql
- 从表上生成增删查改代码,在表上加字段后重新生成不会覆盖自己写的方法
- 使用方法名生成完整的sql,只要一个方法名就可以生成大部分单表操作的sql
- 使用方法名生成mybatisplus QueryWrapper
- resultMap column和property代码提示,检测,支持associaction,collection,columnPrefix
- #{}自动提示,检测
- 从java类生成建表语句
- 最好的ognl支持,if test自动提示检测,bind,foreach等
- 解析select语句中查询的字段,一键从sql生成java类和resultMap
- 从接口方法一键生成testcase,可快速测试sql
- mybatis代码格式化,兼容mybatis的动态标签
- 检测项目配置的mapperscan,识别@Mapper注解,将mybatis的类注入到spring中,注入不再报错
- mybatis sql log支持,从控制台打印出完整的sql,点击直接执行sql
- 大量的配置选项,比如某些插件要忽略部分参数解析,useActualParam配置,typeAlias配置等
- 最好的泛型支持,接口方法或者参数使用泛型在#{} if test等也可以正常解析
- #{},if test等可重构参数名称
- 支持mybatis简单的注解,代码提示,检测,可以一键把注解sql挪到xml
- 兼容mybatisplus,tkmapper等框架
- 兼容kotlin
2. Alibaba Java Coding Guidelines代码规范检查工具
Alibaba Java Coding Guidelines
阿里的一款强大的代码规范检查工具,可以让自己写出易读性更高的代码,可以让团队代码风格尽量统一易于维护。
3. EasyCode
代码生成包括Controller和Service还有前端 ,提高开发效率
使用文档:https://gitee.com/makejava/EasyCode/wikis/pages?sort_id=725164&doc_id=166248
4. github copilot
自动生成代码
5. Grep Console
方便查看日志的插件
设置日志级别的颜色
File->Settings->Grep Console
6. SonarLint插件
在使用持续集成发布时,其中加入了sonar的校验,为了提高sonar校验评分,希望在本地进行体检校验。
在目录或文件中上右键选择Analyze>Analyze with SonarLint,或直接右键中选择Analyze with SonarLint。
7. Alibaba Java Coding Guidelines
阿里巴巴Alibaba编码规范插件
使用
1、Tools工具栏或者Tools下方快速工具栏中有编码规约扫描功能,可以实时开启扫描或关闭实时手动扫描。
2、扫描后下方会出现对应的Ali-Check,根据规约的程度进行修改,强制的一般会用红波浪线标注。
3、也可以对检查约束进行自定义选择,File->Settings->Editor->inspections,可以根据自己要求进行选择约束。
8. Restful Tool
通过接口快速定位接口位置
快捷键ctrl+alt+/
9. Swagger Tools
通过方法属性上的注释生成快速生成Swagger注解,写文档接口非常方便
使用方法
1. alt+insert
2.
10. JPA Buddy
编写jpa提供相应的代码提示,提高开发效率
11. 安装gitee插件
添加账户
12. GitToolBox
GitToolBox
这款插件现在我几乎离不开它。
他能在项目上提示你还有多少文件没提交,远程还有多少文件没更新下来。还能在每一行代码上提示上次提交的时间。查版本提交问题的时候尤其方便。
13. Search In Repository
平时我们如果要依赖一个第三方jar包,但是不知道它的maven/gradle的坐标。我们该怎么做?
搓点的做法基本上就是baidu了,稍微高级点的就是到中央仓库去查下,最新版本的坐标是什么。然后复制下来,贴到pom里去。
这款插件,就无需你来回跳转,直接把中央仓库的查找集成到了Idea里面。你只需要打开这款插件,输入jar包的名字或者gav关键字,就能查到到这个jar包所有的版本,然后可以直接复制gav坐标。方便又快捷,干净又卫生!
14. VisualGC
不知道大家去诊断JVM堆栈用什么工具呢,是不是大部分都是用jdk的原生工具呢。
这里推荐大家一个Idea堆栈的可视化工具,和Idea深度集成。直接显示所有进程,双击即可打开JVM的堆栈可视化界面。堆栈和垃圾收集情况一目了然!
15. .ignore插件
一般创建springboot项目会自动生成.ignore文件,这时这个插件就显得有点鸡肋
安装后new->.ignore file->.gitignore file(Git)
选中需要添加到.ignore文件中的文件夹,右键
16. Maven Helper
在这里进行依赖管理
17. spring-assistant-@valueToYml
可以从代码@Value直接跳转到yml的位置,可以提高检查配置的速度
ctrl+左键即可跳转到yml位置
18 Extra ToolWindow Colorful Icons
好看的边框
19 Jump to Line
debug时可以跳转到任意一行
20 Nginx Configuration
高亮显示.conf
- 突出显示 IDE 中的 nginx 配置文件
- 使用行注释操作进行注释
- 结构视图
21 GenerateAllSetter
alt+enter
22. GsonFormatPlus
json格式化插件
IDEA导航栏工具栏添加按钮
1 打开Settings
找到以下位置
Navigation Bar Toolbar:导航栏工具栏,下就是我们的导航栏工具栏的按钮。
2 选中添加的位置
3 点击上方的 “ + ” 号Add Action...
搜索你想要添加的工具栏按钮,比如Settings
4 点击OK添加完成
5 可以添加Settings、Project Structre、git等常用的工具按钮,方便使用
6 问题
1. IDEA中报错 “Error running ‘Application‘: Command line is too long.“
方式一:
直接点击图中JAR manifest
或classpath file
方式二:
方式三:
找到.idea/libraies/workspace.xml 中的
<component name="PropertiesComponent">
在component 中添加
<property name="dynamic.classpath" value="true" />
2. 端口被占用
检查是不是有其它正在运行的工程, 将其关闭后再运行新工程 如果没有正在运行的工程,可通过以下几种方式:
- 重启电脑
- 修改工程的端口号
或者
- 在命令行中 执行以下指令找到占用8080端口的进程,然后执行杀掉该进程的指令, 释放出8080端口
netstat -o -n -a | findstr :8080
taskkill /f /pid 4240
3. 无法找到主类或者…
打开mavan,先点击clean,再点击install,显示成功即可启动项目
4. gradle构建错误
原因:gradle配置错误,未配置本地安装的gradle
5. idea内存不足
用着用着idea提示:
Low Memory
The IDE is running low on memory and this might affect performance. Please consider increasing available heap.
增加内存
保存和重启
6. idea不识别maven项目
问题:
解决方案:
选中pom.xml文件右键选中+ Add as Maven Projec
选项即可
7. lombok编译报错
报错信息:
java: You aren't using a compiler supported by lombok, so lombok will not work and has been disabled.
Your processor is: com.sun.proxy.$Proxy27
Lombok supports: sun/apple javac 1.6, ECJ
原因:使用的lombox依赖版本太低
解决方案:
- 提高lombox依赖版本:https://mvnrepository.com/artifact/org.projectlombok/lombok
- 在该位置添加
-Djps.track.ap.dependencies=false
8. 使用idea发现代码的版本控制自己使用了svn,发现项目中有.svn文件,删除文件后还是存在问题
造成影响:存在无法查看提交代码差异,和操作界面是使用的svn,只能右键提交代码很麻烦
解决方案: 修改此处为git即可解决
9.idea出现"Filename too long"问题解决办法
原因:java的名称超过了git的文件名称长度所以拉取代码的时候就报错了,强制把文件名长的给删了
解决方案:修改git默认值,重启idea然后将删除的文件回滚,这时就成功了
- 修改git配置
git config --system core.longpaths true
但是报错了,没空研究了
2. 修改全局git配置
git config --global core.longpaths true
就可以了
10. idea编译报错java: java.lang.OutOfMemoryError: GC overhead limit exceeded
原因: 如报错所示"超过GC开销限制",如果GC花费的时间超过 98%, 并且GC回收的内存少于 2%
解决方法:
增加构建进程堆大小(mb)
12. 在idea提交代码的时候发现一堆xml,iml等idea项目配置文件可以提交
解决方案: