摘要:IDEA 集成开发环境、Linux 开发工具、Git 版本控制、项目管理/构建工具等。
目录
[TOC]
编辑器 UI界面
快捷键
Ctrl
Ctrl + D复制光标所在行 或 选中的内容,并插入到光标后Ctrl + E显示最近打开的文件列表Ctrl + F查找使用此类的成员Ctrl + J插入自定义动态代码模板Ctrl + U实现类跳转到接口的方法Ctrl + Y删除光标所在行 或 选中行Ctrl + /、Ctrl + Shift + /:注释单行、多行Ctrl + \、Ctrl + Alt + N/B:根据 URL 直接跳转到对应的方法定义Ctrl + ;基础代码补全Ctrl + .自动补全?Ctrl + Home:回退到类最前面Ctrl + [、Ctrl + ]移动光标到花括号开始、结束位置Ctrl + Shift + [选中从光标到中括号开始位置Ctrl + =/-展开、折叠分Ctrl + Shift + =/-全部展开、折叠
Ctrl + F12Structure面板Alt + 7方法大纲
Alt
Alt + left:回退到上一个操作位置Alt +显示版本控制菜单Alt + F1+1、Alt + 1+1:定位当前文件所在 Project 窗口中的位置,已用Always Select Opened File设为自动定位Alt + F3在当前文件查找Alt + Home导航栏Alt + Insert代码自动生成,如生成对象的 set / get 方法,构造函数,toString() 等Alt + Enter查询控制台Query Console编辑器中,提示可执行的功能,如SELECT *语句选中*扩展成相关列、列添加别名前缀- Free MyBatis Plugin 直接生成新方法的xml实现
Find in file,在所有文件中查找字符串Alt + F用Alt + FTranslate插件翻译选中内容,需联网;Alt + F7Find Usage,查看在哪里用了。
Shift
Shift + Shift随处搜索
Ctrl + Alt
Ctrl + Alt + S打开系统设置Ctrl + Alt + 左方向键退回到上一个操作处/光标所在位置,与显卡调整屏幕方向的快捷键冲突Ctrl + Alt + enter执行SonarLint 插件提供的修改建议Ctrl + Alt + B/鼠标左键接口跳转到实现方法、XML 映射文件Ctrl + Alt + C重构-快速提取常量Ctrl + Alt + F重构-快速提取成员变量Ctrl + Alt + L自动格式化、格式化SQL语句;Ctrl + Alt + M重构-快速提取方法、接口Ctrl + Alt + P重构-快速提取参数Ctrl + Alt + V重构-快速提取变量
Ctrl + Shift
Ctrl + Shift + +展开所有代码Ctrl + Shift + Space智能代码提示Ctrl + Shift + "最大化工具窗口、控制台Ctrl + Shift + F12编辑器最大化Ctrl + Shift + FFind by XPath expressionCtrl + Shift + N转到文件Ctrl + Shift + R替换Ctrl + Shift + T重新打开关闭的选项卡、对当前类生成单元测试类,如果已存在的单元测试类则可进行选择Ctrl + Shift + U变量大小写切换;方法继承关系表Diagram
Alt + Shift
Alt + Shift + 上方向键上移光标所在行
智能补全
1 | |
常用插件
- 插件推荐
- IDE Eval Resetter:无限试用;
UI
Material Theme UI:更改原始外观,提供多种主题配色方案;Atom Material Icons:自定义文件和 IDE 图标,用于改进视觉;是Atom File Icons和Material Theme UI插件图标的移植。:在 Material Deep Ocean 基础上对 Golang 配色;GoSense Color SchemeHighlightBracketPair:高亮括号对;:彩色括号,与Rainbow BracketsMaterial Theme UI冲突,需手动配置来兼容Solarized Themes日晒主题的配色方案;Statistic:通过顶部菜单中的View->Tool Windows->Statistic按钮统计当前项目中代码的行数和大小;Grep Console:控制台所需的一切;分析控制台日志,对不同级别的日志进行不同颜色的高亮显示,按关键字搜索日志内容;Ideolog:日志级别的代码高亮;
便捷查看
jclasslib ByteCode Viewer:Java .class 类文件的字节码查看器;Chinese (Simplified) Language Pack:中文语言包;Translate:选中内容,点击右键或Alt + T翻译;MetricsReloaded:统计代码行数和文件计数指标及更多 Java 指标;-
Presentation Assistant:显示调用的任何操作的名称和 Win/Mac 快捷方式(查看外观 操作描述); - Statistic:统计整体代码量。
基础编辑
Key Promoter X:提示应使用的键盘快捷键;macOS Keymap:macOS 键盘映射;CamelCase:切换各种变量命名格式(驼峰、下划线、kebab-case, SNAKE_CASE, PascalCase, camelCase, snake_case or space case);使用⇧ + ⌥ + U / Shift + Alt + U;String Manipulation:字符串操作,大小写切换、排序、过滤、递增、与列对齐、grepping、转义、编码;
生成、补全代码
GitHub Copilot:AI 自动写代码;Tabnine AI Code Completion:代码提示建议、预测、自动补全;File Path Autocomplete:自动完成文件路径;Big Data Tools:可方便地使用 Zeppelin 笔记本,提供智能导航、代码完成、检查、快速修复和重构;Better Comments:个性化注释;GsonFormatPlus:从 Json String 生成 Json 模型;element:支持元素框架,标签自动补全,使用前必须安装插件 vuejs;ptg:快速生成 JavaBean、SQL、JVM 参数、Spring 配置;
Sonar 代码检查
Maven Helper:快速分析、排除项目中的依赖冲突;通过pom.xml文件底部的依赖分析标签页查看当前项目中的所有依赖;Alibaba Java Coding Guidelines:实时检测代码中不符合阿里巴巴《Java 开发手册》规约的地方;SonarLint:拼写检查器,即时突出显示问题、错误、漏洞,并提供快速修复建议;CheckStyle-IDEA:提供对 Java 文件的实时和按需扫描;
格式化代码
Jindent:源代码格式化,转换任何外部 Java 源代码以满足首选的编码风格或任何常见的 Java 代码约定;按需格式化、生成和完成 Javadoc 注释;Save Actions:支持可配置的、类似 Eclipse 的保存操作,包括“优化导入”、“重新格式化代码”、“重新排列代码”、“编译文件”及一些针对 Java 的快速修复,如“添加/删除 ‘this’ 限定符”等。当文件在磁盘上同步(或保存)时执行配置的操作;Properties to YAML Converter:YAML 属性转换器;
实体类
Lombok:简化对象封装,通过为实体类添加@Getter和@Setter等注解,替换手写的Setter、Getter、toString、equals、hashCode及非空判断等;已捆绑,内置插件;JPA Buddy:高效地使用Hibernate、Spring Data JPA、Lombok等相关技术;实体的所有可视化设计器、Spring Data 存储库、SQL 和 Liquibase 变更日志;MyBatisX:可在 mapper 接口的方法和 xml 实现之间自由跳转、类似 JPA 的自动提示;mybatis.xml, mapper.xml提示;集成 mybatis 生成器 Gui;MyBatis Log Plugin:把 Mybatis 输出的 SQL 日志还原成完整的 SQL 语句;付费;:在实体类名上右键GsonFormatGenerate -> GsonFormat,可根据 JSON 格式的字符串创建实体类;Screw:生成数据表文档。
接口调试
HTTP Client:简洁、轻量级的接口调用插件,通过创建 HTTP Request Client 文件并执行,来调试 RESTful Web 服务;参考Ctrl + J查看创建 HTTP 请求的所有快捷命令;- 鉴权方式;
- 内置了 6 个 Live Template 模板:
gtr gtrp ptr ptrp fptr mptr
RestfulToolkitX:一套 Restful 服务开发工具包;- 用于生成多种风格的代码生成器,如 SpringBoot + MyBatis-Plus、SpringBoot + JPA、JHipster 等;
- 输入 URL 直接导航/跳转到服务声明/方法定义(Ctrl + \ 或 Ctrl + Alt + N );
- 显示 Restful 服务树窗口结构;
- 内置简单的 HTTP 请求工具;
- 对请求方法做了一些增强功能,在请求方法上 Generate&Copy(复制生成) URL、Query Param 方法参数;
- 将 Java 类转换成 JSON,格式化 json 数据(Ctrl + Enter);
- 支持 Spring 体系(Spring Boot / Spring MVC);
- 右侧的
RestServices按钮显示项目中接口的概览信息;- 在接口方法上右键可生成查询参数、请求参数、请求 URL;
- 在实体类上右键可直接生成实体类对应的 JSON;
debug
Alibaba Arthas
基于IntelliJ IDEA开发的Alibaba Arthas 命令生成插件,支持Alibaba Arthas 官方常用的命令。
是Alibaba开源的Java诊断工具,可以帮助开发者进行在线排查问题、动态跟踪Java代码、实时监控JVM状态等。
- Arthas支持JDK 6+,支持Linux、Mac和Winodws系统,采用命令行交互模式,同时提供丰富的Tab自动补全功能,方便进行问题的定位和诊断。
- 其实Arthas最厉害的地方就在于,能够让你在线上环境没有日志的情况下进行调试程序,定位问题。
当遇到以下类似问题而束手无策时,Arthas可以帮助你解决:
- 这个类从哪个jar包加载的?为什么会报各种类相关的Exception?
- 我改的代码为什么没有执行到?难道是我没commit?分支搞错了?
- 遇到问题无法在线上debug,难道只能通过加日志再重新发布吗?
- 线上遇到某个用户的数据处理有问题,但线上同样无法debug,线下无法重现!
- 是否有一个全局视角来查看系统的运行状况?
- 有什么办法可以监控到JVM的实时运行状态?
- 怎么快速定位应用的热点,生成火焰图?
- 怎样直接从JVM内查找某个类的实例?
官方的命令太复杂,此插件为了简化使用者的难度,提供了一些常用命令的支持
- 该插件支持Alibaba Arthas 常用命令,比如 watch、trace、ognl static、ognl bean method、field、monitor、stack 、tt等命令
-
支持设置static field、static final
-
watch:能方便的观察到指定方法的调用情况,返回值、抛出异常、入参(特殊值、异常没有捕获排查)
-
trace:方法内部调用路径,并输出方法路径上的每个节点上耗时(性能问题,调用链问题)
- ognl:执行表达式(方便获取静态变量,方法,获取spring context 为所欲为)
- monitor:方法执行监控(性能问题排查,一段时间内的性能指标)
- stack:获取方法从哪里执行的调用栈(用途:源码学习调用堆栈,了解调用流程)
- tt:方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测(可以重新触发,周期触发,唯一缺点对于ThreadLocal 信息丢失[隐含参数]、引用对象数据变更无效)
- 支持获取选择中的spring 环境变量的值获取,获取spring 上下文所有的环境变量按照优先级打印出来,方便排查环境问题
- logger:动态更新日志等级
- Async Profiler. https://github.com/jvm-profiling-tools/async-profiler 火焰图命令支持