idea轻松上手无忧版
✨你好啊,我是“ 罗师傅”,是一名程序猿哦。
🌍主页链接:楚门的世界 - 一个热爱学习和运动的程序猿
☀️博文主更方向为:分享自己的痛苦 briup-jp3-ing
❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。
💪很高兴与你相遇,一起加油!
前言
idea yyds!!!
常用快捷键
模式 idea默认快捷键–>自己习惯快捷键
- 快速补充变量:ctrl+shif+v –> ctrl+\ 或者 .var
- 切换文件:ctrl+tab
- 多功能快捷键:Alt + Enter (牛的)
- 定位方法or属性:ctrl + F12
- 查看接口中有哪些实现类:选中要查看的接口 ctrl+alt+左键
- 快速打开实现方法:ctrl+o
- 保存+格式化:Ctrl + Alt + L
- 快速运行:Ctrl + Shift + F10 –> Ctrl + F11
- 单行上下移动:Shift + Alt + 向下箭头/向上箭头 –> Alt + 向下箭头/向上箭头
- 下一行:Shift + Enter
- 反撤回:ctrl + shift + z –> ctrl + y
- 搜索类:Ctrl + N
- 批量修改变量名:Shift+F6 -> shift + 6
- 多行编辑:ctrl+shift+alt+左键
- 收缩代码 和 展开代码:Ctrl - 和 Ctrl +
- 当前类快速创建类:ctrl+alt+insert (鸡肋)
- 快速抽取封装成方法:ctrl+alt+m
- 查看方法所需要的参数类型:ctrl+q
- 快速打开项目结构:同时左+右键
- 进行大小写的切换:ctrl+shift+u
- 查看参数:ctrl + p
- 编辑源:ctrl + h
- 打开结构:alt + 7
- 将局部变量变成全局变量:ctrl+alt+f
- 将局部变量变成方法形参:ctrl+alt+p
- 打开类的继承和实现图:Ctrl + alt + u 或者 Ctrl+Shift+Alt+u
自己喜好的快捷键
超爱的好吧~~
- 快速补充变量: Ctrl+\
- 快速运行:Ctrl + F11
- 单行上下移动:Alt + 向下箭头/向上箭头
- 反撤回:ctrl + y
- 批量修改变量名:Shift+F6 -> shift + 6
- 查看方法的实现类:ctrl + Alt + 左键
基本配置
设置放大和缩小代码
- increase: Ctrl+鼠标向上滑动
![]()
- decrease:Ctrl+鼠标向下滑动
![]()
其他快捷键同理哈~~
设置默认大小
18 size
![]()
注释设置
- 颜色 #0A860E
![]()
- 全部展开
![]()
![]()
![]()
- 效果
要的就是这种效果啦~
![]()
添加文件头部信息
每当我们创建文件的时候应当指明创建人、创建时间、版本、描述等基本信息
![]()
1
2
3
4
5
6
7 /**
* @ClassName ${NAME}
* @Author 你的名字
* @Date ${DATE} ${TIME}
* @Version 1.0
* @Description
*/
自动导包/删包
当有多个包的文件名相同的的时候仍然是需要我们自己手动导包滴!
![]()
![]()
自动格式化
楚门暂时不想用 👻
但是可以告诉你快捷键哦:ctrl+alt+L (但是这个快捷键会与QQ的快捷键发生冲突,我的解决方案是将QQ的删掉)
sql语句自动提示
哔哩哔哩大学:Day08-15. Mybatis-入门-配置SQL提示
注释在开头
不要问,强迫症!🌟
- Java
![]()
- xml
![]()
设置serialVersionUID
alt+enter 设置可选生成 serialVersionUID选项。
前提是实现了 Serializable 这个接口喔~
![]()
![]()
出来啦啦啦🍘🍘
![]()
搜索全部类
idea :Ctrl + N 默认搜索的是当前项目下的类, 我们要设置成可以搜索全部项目下的类!!
![]()
实施模板(Live Templates)
设置一些常用的代码模板
![]()
![]()
![]()
![]()
这样就有属于自己的快捷键啦~~
debug中的force step into (建议不要配置)
因为不同版本的idea会有所区别,我的idea2021.1.3没有出来这个force step into

但是我想把它弄出来哈!太难了呜呜
有两种解决方案:

快捷提示
- iter: Iterate Iterable or array
![]()
- itar: Iterate elements of array = = listFiles.for
![]()
- cast 或者 castvar
- soutc 或者 seerc
![]()
![]()
- jaxrs
![]()
- psfs = public static final String
- psfi = public static final int
- psf = public static final
- fori、forr(逆序)
插件安装
Chinese 中文语言包
楚门已经习惯看英文啦 🍠
![]()
Translation
看源码的必备神器✌
Atom Material Icons
超级好看的图标好吧😀
One Dark theme
暗黑主题爱好者 is me💜
![]()
Key Promoter X
对于记不住快捷键的小猿来说就是福音!🍅
LeetCode Editor
程序员的历练地!
有两种登录方式:
用户名(一般是手机号)+密码
用户名(LeetCode用户名)+ Cookie
具体可以看这个up主哈:labuladong-Jetbrains IDE 算法刷题插件
- 下面是用到的配置
1 LC_$!{question.frontendQuestionId}_$!velocityTool.camelCaseName(${question.titleSlug})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package leetcode.editor.cn; // 这里的包名得看你自己的
/**
* @ClassName ${question.title}
* @Author luozongwei
* @Date $!velocityTool.date()
* @Version 1.0
* @Description
*/
class LC_${question.frontendQuestionId}_$!velocityTool.camelCaseName(${question.titleSlug}){
public static void main(String[] args) {
Solution solution = new LC_$!{question.frontendQuestionId}_$!velocityTool.camelCaseName(${question.titleSlug})().new Solution();
}
//力扣代码
${question.code}
}
进阶操作
断点调试
设置条件断点

断点回退 (回到过去~)
主要是当我们点的太快了,想要回到上一步看看参数的时候,可以试试


执行表达式
主要就是可以在程序debug的过程中,添加数据或者执行条件
alt+F8:打开Evaluate 表达式

可以通过Trace Current Stream Chain 动态观察流的结果


设置异常断点
比如当我们需要调试程序是否出现空指针异常的时候,一般是先运行一遍程序,然后再定位,再打断点再指定位置,真的太麻烦了。
现在教一个不需要手动打断点,只要直接Debug运行就即可
本文以空指针异常NullPointerException为例子,其他同理






idea问题
路径问题
idea中的路径问题可谓是恶心至极!在深恶痛绝后,分析让如下:
主要是在多模块的情况下出现路径问题:
通过反射获取文件
XXX.class.getClassLoader().getResourceAsStream(“文件名”);
通过这种方法获得的是resources目录下的文件,直接写文件名即可

main方法中
这种情况下需要加上模块名
1 | RandomAccessFile raf = new RandomAccessFile("client/src/main/resources/data-file-simple", "rw"); |
Junit Test中
不需要加模块名
1 | RandomAccessFile raf = new RandomAccessFile("src/main/resources/data-file-simple", "rw"); |
番外篇Typora(还没开始哈)
typora可以说是每一个程序员必备的文档工具了