IDEA使用指南

怼烎@ 2023-02-12 10:29 267阅读 0赞

目录

      • 常用快捷键
      • 常用技巧
        • 运行项目的多个实例
        • 全局查找、全局替换
        • 项目启动后自动在浏览器中打开
        • 代码重构
        • 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失效

常用快捷键

  1. 双击Shift #查找文件、符号等
  2. Ctrl+E #最近打开的所有文件、控制台菜单
  3. Alt+F12 #打开终端
  4. ALt+9 #打开git控制台
  5. Alt+0 或者Ctrl+K #提交到本地仓库
  6. Ctrl+Shift+K #提交到本地仓库
  7. Shift+F9 #debug
  8. Shift+F10 #run
  9. Alt+6 #查看项目中所有的报红处
  10. F2 #跳转到报红的代码处
  11. Alt+Enter #光标移到报红的代码上时,按这个快捷键可以查看建议
  12. Ctrl+H #查看当前类的继承关系(列表缩进格式)
  13. Ctrl+Alt+U #查看当前类的继承关系图(diagram的类图)
  14. Ctrl+F12 #查看当前类的成员(成员变量+方法)
  15. Alt+7 #查看当前类及其父类的成员,可进行筛选
  16. Alt+F7 #列出当前变量、方法、类的所有使用处
  17. Ctrl+B #转到定义处
  18. Ctrl+G #跳转到指定行
  19. Ctrl+C #复制当前行
  20. Ctrl+X #剪切当前行
  21. Ctrl+Y #删除当前行
  22. Ctrl+D #复制当前行并在下一行粘贴出来
  23. Ctrl+Shift+Z #重做
  24. Ctrl+Shift+向上|下箭头 #将当前行上|下移
  25. Ctrl+I #实现继承的抽象类、接口中的方法
  26. Alt+Insert #自动插入构造器、getter、setter、单元测试等方法,重写toString、hashCode、equals等方法
  27. #也可输入equals、toString等关键字生成
  28. Ctrl+/ #单行注释
  29. Ctrl+Shift+/ #文档注释
  30. Ctrl+Alt+V #自动声明变量
  31. Tab|Enter #自动补全
  32. Ctrl+[|] #高亮显示代码块开头结尾的大括号,[是跳到代码块的{处,]是跳到代码块的}处,再次按[|]扩大范围
  33. Ctrl+Alt+Enter #在当前行上方插入新行
  34. Ctrl+Backspace #向前删除一个单词|符号
  35. Ctrl+Delete #向后删除一个单词|符号
  36. Ctrl+W #选中整个单词,再按扩大范围
  37. Ctrl+Shift+W #缩小选中范围
  38. Ctrl+Shift+U #转换为全大|小写
  39. sout #输出
  40. souf #格式化输出
  41. soutp #输出当前方法所有的参数值
  • IDEA支持范围替换,先选中范围再Ctrl+R,则只在选中范围内进行替换
  • 选中后,按 ()小括号、[ ]中括号、{ }大括号、<>标签、”“双引、’’单引时,会自动包含所选内容,比如给字符串加双引号,选中之后按 Shift+” 即可

常用技巧

运行项目的多个实例

在这里插入图片描述
如果是web项目,需要在Program arguments中修改端口号

  1. -server.port=9000
  2. #或者
  3. -Dserver.port=9000
  4. #在命令行下 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使用的端口

  1. #此处指定远程debug使用9000端口
  2. java -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=9000 -jar xxx.jar

如果使用的是外置tomcat,修改bin/catalina.sh,在开头加上一行

  1. 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默认就是对齐的,不用改
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建类时自动在注释中提供作者信息、日期时间

在这里插入图片描述

  1. /** * * @Author chy * @Date ${DATE} ${TIME} */

添加mybatis映射文件的模板

在这里插入图片描述

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="">
  4. </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个文件,分别在末尾添加一行

  1. -Dfile.encoding=UTF-8

重启IDEA生效

3、如果是使用tomcat运行web项目,tomcat在IDEA控制台的输出乱码,还需要修改tomcat配置文件

tomcat -> conf -> logging.properties -> 搜索console

  1. 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

  1. -Xms4096m
  2. -Xmx4096m
  3. -XX:ReservedCodeCacheSize=1024m
  4. -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失效

原因是与其他软件的快捷键冲突,我的是与搜狗输入法的冲突。

发表评论

表情:
评论列表 (有 0 条评论,267人围观)

还没有评论,来说两句吧...

相关阅读