JetBrains使用笔记
# 设置
# IDEA
# IDEA 预设快捷操作
File | Settings | Editor | General | Postfix Completion
例:
"Hello World".sout => System.out.println("Hello World")
# 自动导包
setting->editor->general->auto import => Add unambiquous imports on the fly
文件 | 设置 | 编辑器 | 常规 | 自动导入 => 动态添加明确的 import
# 方法间加横线间隔
setting->editor->general->apperance => Show method separators
文件 | 设置 | 编辑器 | 常规 | 外观 => 显示方法分隔符
# 提示不区分大小写
setting->editor->general->code completion => Matc case (不勾选)
文件 | 设置 | 编辑器 | 常规 | 代码完成 => 区分大小写 (不勾选)
# 自动编译
File | Settings | Build, Execution, Deployment | Compiler
# 隐藏文件 / 文件夹
文件 | 设置 | 编辑器 | 文件类型
多用于忽略.idea 文件夹
# 创建文件作者日期信息
文件 | 设置 | 编辑器 | 文件和代码模板 => Include -> File Header
/**
* @author NipGeihou
* @date ${DATE}
*/
# 单行注释格式化不换号
File | Settings | Editor | Code Style | Java => JavaDoc => Other => Do not warp one line comments
# 编码格式
# 通用
# 切换弹窗提交代码
File | Settings | Version Control | Commit => Use non-modal commit interface
# 插件
# 全家桶通用
CamelCase
:各种命名格式切换小驼峰、大驼峰、下划线等。选中
+Shift + Alt + U
Rainbow Brackets
:彩虹括号,让代码中的各种括号容易区分Nyan Progress Bar
:彩虹猫进度条CodeGlance Pro
:类似 Sublime 的编辑器右侧代码缩略图Atom Material Icons
:丰富页面图标.env files support
:高亮.env 文件Git Commit Template
:Git 提交模板Codeium
:AI 代码提示,Github Copilot 平台
# IDEA
Alibaba Java Coding Guidelines
:阿里巴巴 Java 代码规范Auto filling Java call arguments
:类似于 Eclipse 的参数补全功能,不是很好用,只有在方法没有重载,也就是只有一个同名方法时才有效,当然也可能是我不会用JRebel and XRebel for IntelliJ
:热部署
JRebel激活方式
不知道是不是因为别人的域名被点了,使用
jrebel.qekang.com
的激活服务器是无法激活的,但网上流传使用 ilanyu/ReverseProxy: ReverseProxy in golang (opens new window) 激活的方式,看起来像是将激活服务器返代到本地 127.0.0.1,不确定这样做跟直接访问有什么区别,如果域名没有被点的情况下(如自建),因此我使用自建注册服务器的方式。
自建注册服务器
在更新到
2023.4.2
遇到激活成功,但 JRebel 似乎在执行到某段代码时会报Cannot read the array length because "sigBytes" is null
错误导致激活失效,虽可以重新点击激活,但很麻烦。经降级尝试发现,降级
2023.3.0
也无法解决此问题,最后将 JRebel 插件卸载重置并删除~/.jrebel
文件夹, 仍然出现此问题。降级
2023.2.2
,待更新
- 下载源码:NipGeihou/JrebelLicenseServerforJava: 搭建 IDEA 热部署插件 Jrebel 的激活服务 (opens new window)
- 构建 jar:
mvn clean package
- 构建 Docker 镜像:
docker build -t jrebel-ls .
- 启动 Docker 容器:
docker run -d --name jrebel-ls --restart always -e PORT=9001 -p 9001:9001 jrebel-ls
别人搭的注册服务器(失效)
生成一个 GUID,随便找个网站生成即可,比如 Generate GUIDs online (opens new window)- 寻找一个注册服务器网址,如 https://www.jpy.wang/page/jrebel.html (opens new window),通常都携带了生成 GUID 的逻辑。
- 选择 Team URL
- Service Address :
https://jrebel.qekang.com/{GUID}
- Email:随意
- Service Address :
MyBatisX
:来自 MyBatis-Plus 团队的 MyBatis 辅助插件,Mapper 和 XML 来回切换、快速创建、智能提示等GenerateAllSetter
:生成对象的所有 set 方法代码
点击查看
Student student = new Student();
// 光标在student处 alt + enter 选择Generate all setter with default value,生成
student.setName("");
student.setAge(0);
student.setClazz("");
POJO to JSON
:将 POJO 转 JSON 到剪贴板,POJO 类下右键 -> 复制 / 粘贴特殊 -> Copy JSONRestfulTool
:API 接口搜索:Ctrl + Alt + /
,快速根据 CURL 中的路径找到对应的 Controller 类EasyCode
:代码生成器,可灵活配置模板生成代码的内容,也可用于其他 JetBrains 软件中。
# 快捷键
以 IDEA
为例:
Ctrl + Shift + Enter
:括号补全、向下插入一行Ctrl + Alt + 点击接口方法
:跳转到实现类方法Ctrl + U
:跳转到光标所在的方法的接口方法Ctrl + W
:选择一个表达式的范围,再按则更大的范围Ctrl + Shift + W
:与上一个配合使用,减少选中表达式范围Ctrl + F
:文件内搜索Ctrl + Shift + F
:全局搜索Ctrl + R
:文件内替换Ctrl + Shift + R
:全局替换点击实现类方法名 + Ctrl + Q
:查看接口类注释等信息Ctrl + Alt + O
:删除导入但未使用的包Ctrl + Alt + T
:包裹代码生成 try-catch、if 等结构Ctrl + Alt + U
:类图关系Ctrl + Alt + Shift + T
:重构菜单- 向上提取成员(pull members up):将当前方法提取到接口(即可先在实现类写方法,再使用此功能在接口生成)
Ctrl + J
:Ctrl + ~
:Ctrl + F12
:查看当前类的方法列表F2
:跳转到下一个警告 / 错误位置
参考:Top 15 IntelliJ IDEA shortcuts - YouTube (opens new window)
# 激活
JETBRA.IN CHECKER | IPFS (opens new window)
- 通过上述网站,找到一个可用的 Hostname
- 确定当前支持的 IDEA 版本,如
2022.2.x
- 到官网下载对应的版本、安装
- 下载
jetbra.zip
补丁 - 解压,按操作系统执行
scripts
文件夹中对应的脚本 - 激活
- 方式一:服务器激活
- 方式二:在
可用的Hostname
中复制
参考:
- Idea2022 激活教程 - Endv - 博客园 (opens new window)
- 介绍一个” 牛逼闪闪” 开源库:ja-netfilter – 知了 (opens new window)(一手出处)
# 优化
Help | Diagnostic Tools | Activity Monitor
:查看 IDEA 活动监视器Help | Edit Custom VM Options
添加:-XX=TieredStopAtLevel=3
- 控制即时编译器的层次化编译,在第 3 个级别停止层次化编译。这意味着只有前三个级别的代码(通常是最热点的代码)会被即时编译器优化,而其他级别的代码将使用解释执行。
-Xmx4096m
:最大堆大小,按机器内存情况设置。
参考:
- Monitor IDE performance | IntelliJ IDEA Documentation (opens new window)
- Intellij Idea cpu 100% 卡顿 解决办法_idea jit compiler_csdn_life18 的博客 - CSDN 博客 (opens new window)
- jdk.internal.net.http heigh cpu usage always : IDEA-283482 (opens new window) (里面提及了一些优化策略)
- Spring: High CPU usage by IDEA 2023.1 from spring.model.utils.resources : IDEA-316653 (opens new window) :
- 2023 的早期版本似乎有 CPU 占用过高的问题,回滚到
2022.3.3
暂用
- 2023 的早期版本似乎有 CPU 占用过高的问题,回滚到