赞
踩
全局操作
双击Shift # 查找文件、符号等
Ctrl + E # 最近文件、控制台菜单 列表
Alt + F12 # 打开终端
ALt + 9 # 打开git控制台
Alt + 0 或者 Ctrl + K # 提交到本地仓库
Ctrl + Shift + K # 提交到本地仓库
Shift + F9 # debug
Shift + F10 # run
查看、分析代码
F2 # 跳转到报红的代码处 Alt + Enter # 光标移到报红的代码上时,按这个快捷键可以查看建议 Ctrl + H # 查看当前类的继承关系(列表缩进格式) Ctrl + Shift + Alt + U #查看当前类 diagram 类图,会展示类的成员、类之间的继承关系 Ctrl + Alt + U # 查看当前类 diagram 类图(弹窗形式) Ctrl + F12 # 查看当前类的成员(变量+常量+方法) Alt + 7 # 查看当前类的结构(Structure),包括从父类继承的成员 Alt + F7 # 查找当前变量、方法、类的所有使用处 Alt + 上下方向键 # 跳转到到当前类中的上/下一个方法 Alt + 左右方向键 # 切换到上/下一个标签页 Ctrl + Alt + 左/右方向箭 # 跳转到鼠标点击历史中的上/下一步 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 # 输出当前方法所有的参数值
如果是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。可以选中目录后操作,也可以直接操作。
正则匹配
示例:将key、value都加上引号
username: chy,
password: abcd,
tel: 188xxxxxxx,
birthday: 2000-01-01 00:00:00,
勾选After launch,在项目启动后会自动在指定浏览器中打开指定页面。
可以设置使用的浏览器、打开的页面。
idea不能识别某些类型的文件,比如.xmind,双击打开时可以选择用操作系统中的关联应用打开
如果上面选成了第一个:作为 text 文件打开,可以在 text 中移除该种文件类型,再在使用关联应用打开中加上
远程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 + 鼠标左键向下拖 ,也可以直接按住鼠标滚轮往下拖。
选中要比较的文件|目录,右键 Compare Files | Directories,和git合并冲突一样,对比时可以直接编辑文件内容。
一般修改java、html、xml的即可,js默认就是对齐的,不用改
/**
*
* @author chy
* @version 1.0
* @date ${DATE}
*/
<?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新建文件时就有相关选项了。
Material Theme UI
一个不错的theme插件,提供了多种主题,使用免费版即可。
Translation
翻译。选中要翻译的部分,Ctrl+Shif+Y 英汉互译,Ctrl+Shift+X 翻译并替换。
内地不能直接使用谷歌翻译,在hosts中指定谷歌翻译对应的ip也不行,如果有梯子的话可以通过设置idea的代理解决,参考:https://github.com/YiiGuxing/TranslationPlugin/issues/2296
SequenceDiagram
时序图,时序图常用于分析方法的调用流程。
对方法名单击右键 -> Sequence Diagram -> 选择深度、是否只展示本项目中的类等选项。
lombok
编译时自动生成一些方法
Free MyBatis plugin 或 MyBatisX
mapper接口、xml映射文件之间的快速跳转。
Free MyBatis plugin 是绿色箭头样式,MyBatisX是小鸟样式。
Free MyBatis plugin 的作者转行了,不再维护此插件,从 idea 2021版本开始在idea插件市场中已经搜不到这个插件,可以用 MyBatisX 代替。
intellij-mybaitslog
可以在yml中配置mybatis打印日志,但打印的sql语句、参数是分开的,需要手动拼接才能得到可直接执行的sql
==> Preparing: select * from t_user where id = ?
==> Parameters: 1(Integer)
Mybatis Log Plugin 可以拼接sql参数,打印可直接执行的sql,方便但收费。可以使用 intellij-mybaitslog 代替,作者没有将此插件发布到 idea插件市场,需要到 github 下载后从硬盘安装。
github地址:https://github.com/Link-Kou/intellij-mybaitslog
原理是截取mybatis打印的sql日志,来拼接sql语句,所以需要在打开 mybatis log窗口后才打印sql日志,且需要在yml中配置mybatis打印sql语句,这样才能截取到
mybatis:
configuration:
# org.apache.ibatis.logging.slf4j.Slf4jImpl
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
MyBatisCodeHelperPro
mybatis逆向工程,根据数据表生成代码
编码规范检查
Maven Helper
依赖分析、解决依赖冲突
GenerateSerialVersionUID 生成序列化的UID
Alt+Insert,选择 SerialVersionUID 即可自动给当前类生成序列化的UID。
对象序列化时会记录类的当前版本,反序列化时会将该类的当前版本与记录的版本(UID)比较,要一致才可以反序列化。
Convert YAML and Properties File
yml、properties文件转换,转换时会自动删除注释。
Vue.js Vue代码提示
String Manipulation 字符串处理
可在 Keymap -> Plugins -> String Manipulation 设置相关快捷键。
最常用的2种命名是camel、常量名的snake,我习惯与sublime保持一致,设置为 Ctrl + Alt + C + C
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
Squaretest 生成单元测试
在目标类中 Alt+Insert -> Generate Test - Confirm Mocks,选择要mock的成员。初次使用时还需要选择模板,通常选择 JunitMockitoSpring.java.ft 。
IDEA自带了单元测试生成,在目标类中 Alt+Insert -> Test,但功能单一,只生成测试类、测试方法,不会自动注入依赖、自动mock。
TestMe之类的插件也可以生成单元测试,但提供的模板不好用。
SVNLabel 查看svn提交信息
Codota AI AutoComplete for Java and JavaScript 代码AI提示
原因是禁用了2个自带的插件,启用即可
原因是禁用了自带的UML,在已安装中搜索uml,启用即可
点击IDEA右下角的编码字符集,先转换(convert)为GBK,再转回为UTF-8
点击“Check connection”测试一下配置,输入 https://start.spring.io ,提示连接成功,就说明弄好了。
此方法不一定有用,有时候歇几个小时就可以连上了
项目结构 -> Modules -> 看一下有没有配置spring,spring的配置是否正确
重启IDEA后重试,如果还是不行,可以尝试以下2种方式
1、使用代理
2、到官网搜索下载插件,然后从硬盘安装插件
插件版本要与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(项目)生效
View -> Appearance -> 勾选需要的bar
eg. 右上角的run、debug、版本控制的工具栏不见了,勾选Navigation Bar
eg. Ctrl+Alt+V用不了
一般是因为快捷键被其它程序占用了,常见的比如qq、搜狗输入法、有道词典,检查这些软件的快捷键设置
排除硬件因素,常见的原因、解决方式如下
卸载多余的插件
清除缓存
可能是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的exe文件,都启动不了IDEA。
一般是设置内存时,最大堆内存比最小堆内存小导致的
将最大堆内存、最小堆内存设置为相同的即可。
C:\Users\用户名.IntelliJIdea\config、IDEA的bin目录下都有这个配置文件,但前者是用户配置,优先级更高,后者是默认配置。
如果还不能启动IDEA,可以删除 C:\Users\用户名.IntelliJIdea ,但启动后要重新配置IDEA的各种配置
原因:文件的编码字符集不对。
解决方式:
Error running ‘act-center’:
Command line is too long. Shorten command line for act-center or also for Spring Boot default configuration?
可以尝试以下2种解决方式
方式一、在运行配置中设置短命令行,选择 JAR manifest 或 classpath file
可以左下角配置模板,对以后的单元测试都有效
方式二、.idea/workspace.xml,搜索 <component name="PropertiesComponent">
,启用动态classpath
<!-- 启用动态classpath -->
<property name="dynamic.classpath" value="true" />
原因是IDEA没有识别到对应的jar包,可以尝试以下几种解决方式
如果确认项目配置、代码没问题,可以尝试以下几种方式
在资源管理器中查看,确实生成了target文件夹。
解决方式
原因是与其他软件的快捷键冲突,我的是与搜狗输入法的冲突。
body {
font-family: 'WenQuanYi Micro Hei', arial, sans-serif;
}
code {
font-family: 'WenQuanYi Micro Hei Mono', arial, sans-serif, monospace;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。