IDEA使用指南
目录
- 常用快捷键
- 常用技巧
- 运行项目的多个实例
- 全局查找、全局替换
- 项目启动后自动在浏览器中打开
- 代码重构
- debug
- 远程debug
- 同时对多行代码进行相同、相似的编辑
- 常用设置
- 注释与代码对齐
- 创建类时自动在注释中提供作者信息、日期时间
- 添加mybatis映射文件的模板
- Autowired报红
- 常用插件
- Translation 翻译
- SequenceDiagram 查看、导出时序图
- Save Actions 保存文件时自动做一些工作
- lombok 编译时自动生成一些方法
- Free MyBatis plugin或MyBatisX mapper接口、xml映射文件的快速跳转
- MyBatisCodeHelperPro mybatis逆向工程
- Alibaba Java Coding Guidelines 阿里编码规范检查
- CheckStyle 编码规范检查
- Maven Helper 解决jar包冲突
- GenerateSerialVersionUID 自动生成序列化的UID
- Convert YAML and Properties File yml、properties文件之间的转换
- Vue.js 编写Vue项目
- String Manipulation 字符串处理工具
- Easy Code 代码生成工具
- SVNLabel 查看文件的svn的最近一次提交信息
- 常见问题
- Alt+Inser失效,单击右键没有Generate
- 右键没有Diagrams,Ctrl+Alt+U失效
- 导入Eclipse项目时,编译报错“ Error:(1, 1) java: 非法字符: ‘\ufeff’”
- 使用Spring Initializr创建项目时,提示无法连接到https://start.spring.io
- IDEA不能识别spring、springboot项目
- 在Marketplace中搜索插件一直显示无结果
- IDEA控制台乱码
- 边角上一些小的bar不见了
- 一些常用的快捷键用不了
- IDEA很卡,经常提示“Low Memory,The IDE is running low on memory and this might affect performance”
- 双击IDEA图标启动不了IDEA
- 启动项目时报错 Caused by: java.nio.charset.MalformedInputException: Input length = 1
- maven已导入依赖,但一直报错找不到该依赖中的类
- maven package后没有target文件夹
- Ctrl+Shift+F失效
常用快捷键
双击Shift #查找文件、符号等
Ctrl+E #最近打开的所有文件、控制台菜单
Alt+F12 #打开终端
ALt+9 #打开git控制台
Alt+0 或者Ctrl+K #提交到本地仓库
Ctrl+Shift+K #提交到本地仓库
Shift+F9 #debug
Shift+F10 #run
Alt+6 #查看项目中所有的报红处
F2 #跳转到报红的代码处
Alt+Enter #光标移到报红的代码上时,按这个快捷键可以查看建议
Ctrl+H #查看当前类的继承关系(列表缩进格式)
Ctrl+Alt+U #查看当前类的继承关系图(diagram的类图)
Ctrl+F12 #查看当前类的成员(成员变量+方法)
Alt+7 #查看当前类及其父类的成员,可进行筛选
Alt+F7 #列出当前变量、方法、类的所有使用处
Ctrl+B #转到定义处
Ctrl+G #跳转到指定行
Ctrl+C #复制当前行
Ctrl+X #剪切当前行
Ctrl+Y #删除当前行
Ctrl+D #复制当前行并在下一行粘贴出来
Ctrl+Shift+Z #重做
Ctrl+Shift+向上|下箭头 #将当前行上|下移
Ctrl+I #实现继承的抽象类、接口中的方法
Alt+Insert #自动插入构造器、getter、setter、单元测试等方法,重写toString、hashCode、equals等方法
#也可输入equals、toString等关键字生成
Ctrl+/ #单行注释
Ctrl+Shift+/ #文档注释
Ctrl+Alt+V #自动声明变量
Tab|Enter #自动补全
Ctrl+[|] #高亮显示代码块开头结尾的大括号,[是跳到代码块的{处,]是跳到代码块的}处,再次按[|]扩大范围
Ctrl+Alt+Enter #在当前行上方插入新行
Ctrl+Backspace #向前删除一个单词|符号
Ctrl+Delete #向后删除一个单词|符号
Ctrl+W #选中整个单词,再按扩大范围
Ctrl+Shift+W #缩小选中范围
Ctrl+Shift+U #转换为全大|小写
sout #输出
souf #格式化输出
soutp #输出当前方法所有的参数值
- IDEA支持范围替换,先选中范围再Ctrl+R,则只在选中范围内进行替换
- 选中后,按 ()小括号、[ ]中括号、{ }大括号、<>标签、”“双引、’’单引时,会自动包含所选内容,比如给字符串加双引号,选中之后按 Shift+” 即可
常用技巧
运行项目的多个实例
如果是web项目,需要在Program arguments中修改端口号
-server.port=9000
#或者
-Dserver.port=9000
#在命令行下 java -jar 启动web项目时也可以设置此参数
实质都是以命令行参数的形式传入,此种方式设置的参数优先级最高,会覆盖配置文件中对应的配置
全局查找、全局替换
单击选中某个目录,Ctrl+Shif+F/R,也可以右键Find/Replace in Path。
也可以Edit -> Find -> Find/Replace in Path
项目启动后自动在浏览器中打开
勾选After launch,在项目启动后会自动在指定浏览器中打开指定页面。
可以设置使用的浏览器、打开的页面。
代码重构
Shift+F6 重命名类名、方法名、变量名
Ctrl+Shift+F6 修改数据类型
提取代码段为方法:选中一段代码,Ctrl+Alt+M
debug
执行到某个断点时,可以按 Alt+F8 写变量的一些表达式,回车查看结果。
F9 跳转到下一个断点,如果断点时一个方法,可以按 F7 进入方法内部。
Ctrl+F5 回到第一个断点处从新开始。
条件断点:常用于循环、多次执行的情况,右击断点写条件,当变量满足条件才停下。条件直接写if()括号中的部分。
异常断点:不需要手动打断点,Ctrl+Shift+F8,点击+号添加要监测的异常,发生该种异常时自动停下。取消勾选即去掉该异常监测。
多线程调试:右击断点选择Thread,如果异常端点 Ctrl+Shift+F8 右侧选择 Thread 。
远程debug
远程debug可以在本地idea中直接调试远程服务器上运行的java应用,前提是idea本地代码、远程服务器上的代码是一致的。
远程服务器上启动应用时,需要添加远程debug的jvm参数,指定远程debug使用的端口
#此处指定远程debug使用9000端口
java -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=9000 -jar xxx.jar
如果使用的是外置tomcat,修改bin/catalina.sh,在开头加上一行
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=9000"
IDEA配置
具体原理可参考:https://blog.csdn.net/qq_37192800/article/details/80761643
同时对多行代码进行相同、相似的编辑
比如jpa、swagger,在实体类属性上都要加相同|相似的注解。
鼠标移到要编辑的首行,按住鼠标滚轮往下拖选中要编辑的行,也可以同时按住 Alt+鼠标左键 向下拖进行选中。
常用设置
注释与代码对齐
一般修改java、html、xml的即可,js默认就是对齐的,不用改
创建类时自动在注释中提供作者信息、日期时间
/** * * @Author chy * @Date ${DATE} ${TIME} */
添加mybatis映射文件的模板
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="">
</mapper>
添加后,new新建文件时就有相关选项了。
Autowired报红
代码本身没有问题,但IDEA报红,解决方式如下
常用插件
Translation 翻译
选中要翻译的部分,Ctrl+Shif+Y 英汉互译,Ctrl+Shift+X 翻译并替换。
SequenceDiagram 查看、导出时序图
时序图常用于分析方法的调用流程。
对方法名单击右键 -> Sequence Diagram -> 选择深度、是否只展示本项目中的类等选项。
Save Actions 保存文件时自动做一些工作
勾选优化导入(去除不需要的导入)、格式化代码
lombok 编译时自动生成一些方法
Free MyBatis plugin或MyBatisX mapper接口、xml映射文件的快速跳转
MyBatisCodeHelperPro mybatis逆向工程
Alibaba Java Coding Guidelines 阿里编码规范检查
CheckStyle 编码规范检查
Maven Helper 解决jar包冲突
自带的可以查看依赖关系图,将冲突的依赖exclude掉,但远不如maven helper方便好用。
GenerateSerialVersionUID 自动生成序列化的UID
对象序列化时会记录类的当前版本,反序列化时会将该类的当前版本与记录的版本(UID)比较,要一致才可以反序列化。
安装插件 GenerateSerialVersionUID,并做如下设置
Alt+Insert,选择 SerialVersionUID 即可自动给当前类生成序列化的UID。
Convert YAML and Properties File yml、properties文件之间的转换
另一个插件 Properties to YAML Converter 可以把properties转换为yml,但不能把yml转换为properties。
转换时会自动删除注释。
Vue.js 编写Vue项目
使用vue-cli搭建vue项目的操作方式和VSCode相同。
String Manipulation 字符串处理工具
可在settings的keymap中设置快捷键
Easy Code 代码生成工具
MBG可以生成mapper接口、xml映射文件、entity,但需要在pom.xml中加一些MBG的配置,对项目文件有侵入,且不能指定生成文件的模板。
EasyCode是IDEA的一款插件,更加简单强大,可以根据数据表生成entity、controller、service、dao|mapper,对项目文件没有侵扰,可以指定生成文件的模板,支持效果预览。
自定义模板使用的velocity的语法,可参考
https://www.cnblogs.com/yangzhinian/p/4885973.html
SVNLabel 查看文件的svn的最近一次提交信息
常见问题
Alt+Inser失效,单击右键没有Generate
原因是禁用了2个自带的插件,启用即可
右键没有Diagrams,Ctrl+Alt+U失效
原因是禁用了自带的UML,在已安装中搜索uml,启用即可
导入Eclipse项目时,编译报错“ Error:(1, 1) java: 非法字符: ‘\ufeff’”
点击IDEA右下角的编码字符集,先转换(convert)为GBK,再转回为UTF-8
使用Spring Initializr创建项目时,提示无法连接到https://start.spring.io
点击“Check connection”测试一下配置,输入 https://start.spring.io ,提示连接成功,就说明弄好了。
此方法不一定有用,有时候歇几个小时就可以连上了
IDEA不能识别spring、springboot项目
项目结构 -> Modules -> 看一下有没有配置spring,spring的配置是否正确
在Marketplace中搜索插件一直显示无结果
重启IDEA后重试,如果还是不行,可以尝试以下2种方式
1、使用代理
2、到官网搜索下载插件,然后从硬盘安装插件
https://plugins.jetbrains.com
插件版本要与IDEA版本对应
IDEA控制台乱码
1、修改IDEA的文件编码
2、修改IDEA的配置文件
用记事本打开这2个文件,分别在末尾添加一行
-Dfile.encoding=UTF-8
重启IDEA生效
3、如果是使用tomcat运行web项目,tomcat在IDEA控制台的输出乱码,还需要修改tomcat配置文件
tomcat -> conf -> logging.properties -> 搜索console
java.util.logging.ConsoleHandler.encoding = GBK #把UTF-8改为GBK
重启tomcat(项目)生效
边角上一些小的bar不见了
View -> Appearance -> 勾选需要的bar
eg. 右上角的run、debug、版本控制的工具栏不见了,勾选Navigation Bar
一些常用的快捷键用不了
eg. Ctrl+Alt+V用不了
一般是因为快捷键被其它程序占用了,常见的比如qq、搜狗输入法、有道词典,检查这些软件的快捷键设置
IDEA很卡,经常提示“Low Memory,The IDE is running low on memory and this might affect performance”
排除硬件因素,常见的原因、解决方式如下
卸载多余的插件
清除缓存
可能是IDEA的缓存过多,可以 File -> Invalidate Caches/Restart 清除缓存,治标不治本
不管理冗杂、不必需的目录
可能是IDEA管理了很多冗杂、不必需的目录,导致内存占用较多,常见的表现形式是进入项目时index时间长。
常见的不应该建立索引的目录:java的target目录,vue的node_modules、dist目录,主要是node_modules目录
对node_modules目录单击右键 -> Mark Directory as -> Excluded,排除在IDEA的管理之外。
也可以在项目结构 -> Modules -> Excluded 中设置、恢复。
设置的内存太小
修改IDEA bin目录下的idea64.exe.vmoptions
-Xms4096m
-Xmx4096m
-XX:ReservedCodeCacheSize=1024m
-XX:MaxMetaspaceSize=2048m
在Help -> Edit Custom VM Options中也可以编辑idea64.exe.vmoptions文件,但文件位置不同,不是用同一个文件,bin下的是IDEA默认的配置,Help中的是用户配置,如果2个文件同是存在,用户配置的优先级更高。
-Xms、-Xmx的值一般设置相同的,防止堆扩容造成程序运行不稳定。
重启IDEA生效
双击IDEA图标启动不了IDEA
不管是双击IDEA的桌面图标,还是双击IDEA的exe文件,都启动不了IDEA。
一般是设置内存时,最大堆内存比最小堆内存小导致的
- 如果 C:\Users\用户名.IntelliJIdea\config下有 idea64.exe.vmoptions 这个文件,检查这个文件中配置的最大堆内存、最小堆内存
- 如果没有,则检查 IDEA bin目录下的idea64.exe.vmoptions中配置的最大堆内存、最小堆内存
将最大堆内存、最小堆内存设置为相同的即可。
C:\Users\用户名.IntelliJIdea\config、IDEA的bin目录下都有这个配置文件,但前者是用户配置,优先级更高,后者是默认配置。
如果还不能启动IDEA,可以删除 C:\Users\用户名.IntelliJIdea ,但启动后要重新配置IDEA的各种配置
启动项目时报错 Caused by: java.nio.charset.MalformedInputException: Input length = 1
原因:文件的编码字符集不对。
解决方式:
- 我尝试修改了字符集设置,无效
- 将字符集不对的文件重命名,新建同名文件,把内容拷过去,删除原文件。有效
maven已导入依赖,但一直报错找不到该依赖中的类
IDEA没有识别出对应的jar包,找不到其中的类,通不过编译。
解决方式:在项目结构中以jar包方式直接添加,也可以像入门学jdbc时那样,新建一个lib文件夹来添加依赖。
maven package后没有target文件夹
在资源管理器中查看,确实生成了target文件夹。
解决方式
Ctrl+Shift+F失效
原因是与其他软件的快捷键冲突,我的是与搜狗输入法的冲突。
还没有评论,来说两句吧...