1.idea?折叠折叠۵?Դ??
2.工作笔记(十六)——IDEA 常用快捷键使用
3.IntelliJ IDEA 常用快捷键一览表
4.我怀疑这是IDEA的BUG,但是源码我翻遍全网没找到证据!
5.idea格式化代码设置(idea的代码格式化)
6.教你如何用 IDEA 反编译 jar 源码解读
idea?۵?Դ??
IDEA 是一款强大的源码阅读工具,其图形化的折叠折叠继承链查看功能让你轻松掌握类的结构。首先,源码点击右键或在项目目录树选择 Diagrams,代码源码网免费你可以创建新标签页或浮动窗口展示继承关系,折叠折叠如自定义 Servlet 的源码例子。但如果你只想关注核心类,代码可以简单地删除不必要的折叠折叠类,如 Object 和 Serializable,源码以优化图形。代码
对于方法细节,折叠折叠IDEA 也考虑周全。源码右键点击选择 show categories,代码可以查看类的属性、方法等,甚至可以调整方法的可见性级别。图形大小不够清晰?不用担心,使用 Alt 键即可放大查看。此外,你还可以添加其他类到继承关系图中,如加入 Student 类,以查看其与当前类的关系。
虽然图形无法直接展示源码,但IDEA 提供了便捷的跳转功能。双击类名,通过 Jump to Source 触达具体方法;利用 structure 功能,快速浏览类中的所有方法。这样,无论是学习框架源码还是日常开发,IDEA 都能提供直观且高效的体验。
总结来说,IDEA 以其强大的功能,让你在源码阅读中如鱼得水,是学习和理解类关系的理想工具。
工作笔记(十六)——IDEA 常用快捷键使用
在IDEA中,为了提升编码效率,我们经常会用到一些快捷键。首先,对于快速创建try-catch代码块,当你选中需要包裹的代码后,只需按下Ctrl + Alt + T,系统会自动为你生成相应的try-catch结构,简化了异常处理的过程。
对于代码风格的调整,IDEA提供了快捷方式来切换常量的大小写。只需使用Ctrl+Shift+u或者通过菜单栏选择Edit》Toggle Case,就能轻松完成大小写的切换,保持代码的一致性。
IDEA的快捷键功能丰富多样,分为几个实用组别。第一组是加盟+网站源码通用型,如查找类名,只需按Ctrl+n,就能快速定位到你想要的源码类。第二、三组是提高编写速度的快捷键,涵盖了许多提升效率的操作。第四组主要针对类结构、查找和查看源码,帮助你更好地理解和组织代码。
第五组快捷键聚焦于查找、替换和关闭功能,对于频繁进行搜索和替换的操作,它们无疑能节省大量时间。最后,如果你发现IDEA的快捷键与搜狗输入法冲突,可以通过关闭搜狗拼音输入法,例如使用特定的快捷键来解决这个问题,具体方法请参考IDEA的帮助文档。
IntelliJ IDEA 常用快捷键一览表
本文将带您快速浏览IntelliJ IDEA中一系列常用快捷键,帮助您提升编程效率。让我们逐一探索各个方面的高效操作:
第1部分是通用型快捷键,它们涵盖了IDEA的基本操作,无论是打开新项目、关闭窗口还是切换工作区,都有相应的快捷键对应,让日常操作更加便捷。
第2和第3组是提高编写速度的关键,涵盖了代码输入、代码折叠、代码跳转等高级功能,通过这些快捷键,您可以迅速定位和编辑代码,大大节省时间。
第4组快捷键针对类结构、查找和查看源码,如Ctrl+Shift+N用于快速查找类或文件,Ctrl+Alt+O则可以查看方法的定义,这对于理解和修改代码非常重要。
第5组主要针对查找、替换和文件关闭,比如Ctrl+F快速查找文本,Ctrl+Shift+F则支持高级查找,而Ctrl+W用于关闭当前窗口,这些都是提高工作效率的好帮手。
最后,第6组是调整代码格式的快捷键,如Ctrl+Alt+L用于格式化代码,保持代码风格的一致性,这对于团队协作或代码审查来说必不可少。
在Debug模式下,IDEA同样提供了丰富的快捷键,如F8用于单步执行,破解html源码Ctrl+Shift+F8则用于步进调试,帮助您轻松定位和解决问题。
掌握这些快捷键,将使您的IntelliJ IDEA使用体验更加流畅,提升编程效率。现在就开始熟悉它们,享受更快捷、更智能的编程之旅吧!
我怀疑这是IDEA的BUG,但是我翻遍全网没找到证据!
分享一个关于IDEA的有趣问题。最近,有朋友在使用Lombok的@Data注解时遇到了奇怪的现象,代码中一个布尔类型赋值给整型,居然没有报错。他将问题发给了我,我一开始也觉得不可思议。经过研究,我发现原因可能出在IDEA上,而并非Lombok插件本身。
为了验证我的猜想,我在本地环境中复现了问题。在源文件中,我只添加了@Data注解。经过编译,我发现Lombok自动为我们生成了无参构造函数、getter和setter方法、equals和hashCode方法等。这让我意识到@Data注解实际上是一个复合注解,包含了多个功能。
在深入研究中,我发现真正生成hashCode方法的注解应该是@EqualsAndHashCode。为了排除干扰,我将@Data注解替换为@EqualsAndHashCode。结果,生成的方法确实少了,而且我不关心这些方法。观察到hashCode方法的第一行代码是int PRIME = true;,我意识到这里可能存在问题。
通过使用反编译工具jd-gui和查看字节码,我发现hashCode方法的实现与预期不符。在jd-gui中,我看到的hashCode方法的第一个命令使用的是整型入栈指令,值为,而不是true。这个PRIME变量似乎没有被实际使用,这个问题暂且搁置。
在查看字节码时,我注意到hashCode方法的实现是通过整型入栈指令bipush生成的,值为。经过验证,我有理由怀疑IDEA在显示int PRIME = true时存在BUG。大阴源码
尽管我在网络上进行了深入搜索,但并未找到与此问题相关的详细资料。我尝试了多种搜索策略,包括使用jd-gui工具进行反编译和直接查看字节码。虽然我未能找到权威证据证明这是IDEA的BUG,但基于上述发现,我确信这是IDEA的一个问题。
这个发现为我提供了丰富的素材,我感到非常兴奋。尽管没有找到直接的权威证据,但我的分析和验证过程让我确信这是一个值得记录的问题。关于这个现象背后的原因,我在网上也找到了一些线索,包括关于常量折叠的解释和Lombok源代码中的相关提交记录。
在深入探讨IDEA的BUG时,我还提到了另一个案例,即IDEA在Debug模式下对ConcurrentLinkedQueue的处理方式可能导致空指针异常。这个问题最终被确认为IDEA的特性,并提供了关闭相关配置的解决方案。
总的来说,这篇文章分享了我对这个问题的探索过程、发现的线索以及最后的分析结果。尽管没有找到绝对的证据,但基于我的研究和分析,我确信IDEA在这特定情况下存在BUG。
idea格式化代码设置(idea的格式化)
1. idea的格式化
代码保存成文件 需要经过预处理,编译,汇编,链接
一:预处理
预处理主要是处理源代码中以#开始的预编译指令,比如#include,#define
将所有的#define删除,展开宏定义
处理所有的条件编译指令#if,#ifdef,#elif,#else,#endif
处理#include预编译指令,将被包含的头文件插入该预编译指令的位置,是个递归的过程
删除所有的注释 //与/**/
添加行号与文件名表示,用于调试符号与编译错误或警告报错
保留#pragma编译指令,改指令 编译器需要使用
二:编译
编译过程就是把预编译生成的文件进行一系列词法分析(也叫扫描),语法分析,语义分析,源代码优化,汇编代码生成,目标代码优化
词法分析:根据分隔符,将代码分割成一系列的记号
比如: int a = (a+3)*(2+5);
将会 变成以下记号: int,a,=,(,a,+,3,),(,2,+,5,)
词法分析产生的记号可以分为:关键字,标识符,字面量(数字,字符串,即常量),特殊符号(加号,等号等),在识别记号时,会将标识符放入符号表,字面量放入文字表
语法分析:根据记号进行语法分析,产生语法树,整个分析过程采用上下文无关语法(语法树就是以表达式为节点的树),仅仅是完成对表达式的语法层面进行分析
语义分析:语义分析对语法树中的表达式标识类型,对于类型不匹配,编译器将会报错,如果有些类型需要做隐式转换,将会在语法树中插入对应的purecss源码分析节点
源代码优化生成汇编代码:int a = (a+3)*(2+5); 将会被优化为int a = (a+3)*(7)
三:汇编
汇编即根据汇编指令翻译为机器指令
四:链接
链接主要包含 地址和空间分配,符号决议,重定位
2. idea如何调整代码格式
java源代码是txt格式的.java文件,用记事本就可以打开。 用eclipse打开java文件的方式是: 如果java文件是一个eclipse工程(根目录带有.project文件),用file/import/general/exist java project/(大概是)然后找到你的目录。 否则需要自己新建一个工程file/new/java project 然后把java文件拷贝到.src目录下。
.class文件是直接的编译好的文件,可以用jad把.class文件反编译成java文件,不过反编译的代码和原来的代码不一定完全一样。
3. idea中如何格式化代码
IntelliJ Idea 常用快捷键列表
Alt+Insert,可以新建文件、生成构造器、生成Getter/Setter等
Shift+F6,重构 – 重命名
Ctrl+X,剪切行
Ctrl+D,复制行
Ctrl+Alt+V,可以引入变量。例如:new String(); 自动导入变量定义
Ctrl+P,可以显示参数信息
Ctrl+F,可以显示当前文件的结构
Ctrl+Alt+T,可以把代码包在一个块内,例如:try/catch
Ctrl+Alt+L,格式化代码
Ctrl+Alt+O,优化导入的类和包
Ctrl+Shift+Space,自动补全代码
Ctrl+空格,代码提示(与系统输入法快捷键冲突)
Alt+Shift+Up/Down,上/下移一行
Ctrl+/或Ctrl+Shift+/,注释(//或者/**/)
Ctrl+J,自动代码(例如:serr)
Ctrl+H,显示类结构图(类的继承层次)
Ctrl+Q,显示注释文档
Alt+F1,查找代码所在位置
Alt+1,快速打开或隐藏工程面板
Ctrl+Alt+left/right,返回至上次浏览的位置
Alt+left/right,切换代码视图
Alt+Up/Down,在方法间快速移动定位
Ctrl+Shift+Up/Down,向上/下移动语句
F2 或 Shift+F2,高亮错误或警告快速定位
Tab,代码标签输入完成后,按 Tab,生成代码
Ctrl+Shift+F7,高亮显示所有该文本,按 Esc 高亮消失
Alt+F3,逐个往下查找相同文本,并高亮显示
Ctrl+Up/Down,光标中转到第一行或最后一行下
Ctrl+B/Ctrl+Click,快速打开光标处的类或方法(跳转到定义处)
Ctrl+Alt+B,跳转到方法实现处
Ctrl+Shift+Backspace,跳转到上次编辑的地方
Ctrl+O,重写方法
Ctrl+Alt+Space,类名自动完成
Ctrl+Alt+Up/Down,快速跳转搜索结果
Ctrl+Shift+J,整合两行
Alt+F8,计算变量值
Ctrl+Shift+V,可以将最近使用的剪贴板内容选择插入到文本
Ctrl+Alt+Shift+V,简单粘贴
Shift+Esc,不仅可以把焦点移到编辑器上,而且还可以隐藏当前(或最后活动的)工具窗口
F,把焦点从编辑器移到最近使用的工具窗口
Shift+F1,要打开编辑器光标字符处使用的类或者方法 Java 文档的浏览器
Ctrl+W,可以选择单词记忆语句继续行继而函数
Ctrl+Shift+W,取消选择光标所在词
Alt+F7,查找整个工程中使用的某一个类、方法或者变量的位置
Ctrl+I,实现方法
Ctrl+Shift+U,大小写转化
Ctrl+Y,删除当前行
Shift+Enter,向下插入新行
psvm/sout,main/System.out.println(); Ctrl+J,查看更多
Ctrl+Shift+F,全局查找
Ctrl+F,查找/Shift+F3,向上查找/F3,向下查找
Ctrl+Shift+S,高级搜索
Ctrl+U,转到父类
Ctrl+Alt+S,打开设置对话框
Alt+Shift+Inert,开启/关闭列选择模式
Ctrl+Alt+Shift+S,打开当前项目/模块属性
Ctrl+G,定位行
Alt+Home,跳转到导航栏
Ctrl+Enter,上插一行
Ctrl+Backspace,按单词删除
Ctrl+”+/-”,当前方法展开、折叠
Ctrl+Shift+”+/-”,全部展开、折叠
调试部分、编译
Ctrl+F2,停止
Alt+Shift+F9,选择 Debug
Alt+Shift+F,选择 Run
Ctrl+Shift+F9,编译
Ctrl+Shift+F,运行
Ctrl+Shift+F8,查看断点
F8,不过
F7,步入
Shift+F7,智能步入
Shift+F8,步出
Alt+Shift+F8,强制步过
Alt+Shift+F7,强制步入
Alt+F9,运行至光标处
Ctrl+Alt+F9,强制运行至光标处
F9,恢复程序
Alt+F,定位到断点
Ctrl+F8,切换行断点
Ctrl+F9,生成项目
Alt+1,项目
Alt+2,收藏
Alt+6,TODO
Alt+7,结构
Ctrl+Shift+C,复制路径
Ctrl+Alt+Shift+C,复制引用,必须选择类名
Ctrl+Alt+Y,同步
Ctrl+~,快速切换方案(界面外观、代码风格、快捷键映射等菜单)
Shift+F,还原默认布局
Ctrl+Shift+F,隐藏/恢复所有窗口
Ctrl+F4,关闭
Ctrl+Shift+F4,关闭活动选项卡
Ctrl+Tab,转到下一个拆分器
Ctrl+Shift+Tab,转到上一个拆分器
重构
Ctrl+Alt+Shift+T,弹出重构菜单
Shift+F6,重命名
F6,移动
F5,复制
Alt+Delete,安全删除
Ctrl+Alt+N,内联
查找
Ctrl+F,查找
Ctrl+R,替换
F3,查找下一个
Shift+F3,查找上一个
Ctrl+Shift+F,在路径中查找
Ctrl+Shift+R,在路径中替换
Ctrl+Shift+S,搜索结构
Ctrl+Shift+M,替换结构
Alt+F7,查找用法
Ctrl+Alt+F7,显示用法
Ctrl+F7,在文件中查找用法
Ctrl+Shift+F7,在文件中高亮显示用法
4. idea 格式化代码
1、编辑
Ctrl + Space 基本的代码完成(类、方法、属性)
Ctrl + Alt + Space 快速导入任意类
Ctrl + Shift + Enter 语句完成
Ctrl + P 参数信息(在方法中调用参数)
Ctrl + Q 快速查看文档
F1 外部文档
Shift + F1 外部文档,进入web文档主页
Ctrl + Shift + Z --> Redo 重做
Ctrl + 鼠标 简介/进入代码定义
Ctrl + F1 显示错误描述或警告信息
Alt + Insert 自动生成代码
Ctrl + O 重新方法
Ctrl + Alt + T 选中
Ctrl + / 行注释/取消行注释
Ctrl + Shift + / 块注释
Ctrl + W 选中增加的代码块
Ctrl + Shift + W 回到之前状态
Ctrl + Shift + ]/[ 选定代码块结束、开始
Alt + Enter 快速修正
Ctrl + Alt + L 代码格式化
Ctrl + Alt + O 优化导入
Ctrl + Alt + I 自动缩进
Tab / Shift + Tab 缩进、不缩进当前行
Ctrl+X/Shift+Delete 剪切当前行或选定的代码块到剪贴板
Ctrl+C/Ctrl+Insert 复制当前行或选定的代码块到剪贴板
Ctrl+V/Shift+Insert 从剪贴板粘贴
Ctrl + Shift + V 从最近的缓冲区粘贴
Ctrl + D 复制选定的区域或行
Ctrl + Y 删除选定的行
Ctrl + Shift + J 添加智能线
Ctrl + Enter 智能线切割
Shift + Enter 另起一行
Ctrl + Shift + U 在选定的区域或代码块间切换
Ctrl + Delete 删除到字符结束
Ctrl + Backspace 删除到字符开始
Ctrl + Numpad+/- 展开/折叠代码块(当前位置的:函数,注释等)
Ctrl + shift + Numpad+/- 展开/折叠所有代码块
Ctrl + F4 关闭运行的选项卡
2、查找/替换(Search/Replace)
F3 下一个
Shift + F3 前一个
Ctrl + R 替换
Ctrl + Shift + F 或者连续2次敲击shift 全局查找{ 可以在整个项目中查找某个字符串什么的,如查找某个函数名字符串看之前是怎么使用这个函数的}
Ctrl + Shift + R 全局替换
3、运行(Running)
Alt + Shift + F 运行模式配置
Alt + Shift + F9 调试模式配置
Shift + F 运行
Shift + F9 调试
Ctrl + Shift + F 运行编辑器配置
Ctrl + Alt + R 运行manage.py任务
4、调试(Debugging)
F8 跳过
F7 进入
Shift + F8 退出
Alt + F9 运行游标
Alt + F8 验证表达式
Ctrl + Alt + F8 快速验证表达式
F9 恢复程序
Ctrl + F8 断点开关
Ctrl + Shift + F8 查看断点
5、导航(Navigation)
Ctrl + N 跳转到类
Ctrl + Shift + N 跳转到符号
Alt + Right/Left 跳转到下一个、前一个编辑的选项卡
F 回到先前的工具窗口
Esc 从工具窗口回到编辑窗口
Shift + Esc 隐藏运行的、最近运行的窗口
Ctrl + Shift + F4 关闭主动运行的选项卡
Ctrl + G 查看当前行号、字符号
Ctrl + E 当前文件弹出,打开最近使用的文件列表
Ctrl+Alt+Left/Right 后退、前进
Ctrl+Shift+Backspace 导航到最近编辑区域
Alt + F1 查找当前文件或标识
Ctrl+B / Ctrl+Click 跳转到声明
Ctrl + Alt + B 跳转到实现
Ctrl + Shift + I 查看快速定义
Ctrl + Shift + B 跳转到类型声明
Ctrl + U 跳转到父方法、父类
Alt + Up/Down 跳转到上一个、下一个方法
Ctrl + ]/[ 跳转到代码块结束、开始
Ctrl + F 弹出文件结构
Ctrl + H 类型层次结构
Ctrl + Shift + H 方法层次结构
Ctrl + Alt + H 调用层次结构
F2 / Shift + F2 下一条、前一条高亮的错误
F4 / Ctrl + Enter 编辑资源、查看资源
Alt + Home 显示导航条F书签开关
Ctrl + Shift + F 书签助记开关
Ctrl + #[0-9] 跳转到标识的书签
Shift + F 显示书签
6、搜索相关(Usage Search)
Alt + F7/Ctrl + F7 文件中查询用法
Ctrl + Shift + F7 文件中用法高亮显示
Ctrl + Alt + F7 显示用法
7、重构(Refactoring)
F5复制F6剪切
Alt + Delete 安全删除
Shift + F6 重命名
Ctrl + F6 更改签名
Ctrl + Alt + N 内联
Ctrl + Alt + M 提取方法
Ctrl + Alt + V 提取属性
Ctrl + Alt + F 提取字段
Ctrl + Alt + C 提取常量
Ctrl + Alt + P 提取参数
8、控制VCS/Local History
Ctrl + K 提交项目
Ctrl + T 更新项目
Alt + Shift + C 查看最近的变化
Alt + BackQuote(’)VCS 快速弹出
9、模版(Live Templates)
Ctrl + Alt + J 当前行使用模版
Ctrl +J 插入模版
、基本(General)
Alt + #[0-9] 打开相应的工具窗口
Ctrl + Alt + Y 同步
Ctrl + Shift + F 最大化编辑开关
Alt + Shift + F 添加到最喜欢
Alt + Shift + I 根据配置检查当前文件
Ctrl + BackQuote(’) 快速切换当前计划
Ctrl + Alt + S 打开设置页
Ctrl + Shift + A 查找编辑器里所有的动作
Ctrl + Tab 在窗口间进行切换
Mac快捷键大全
Mac键盘符号和修饰键说明
CommandShiftOptionControlReturn/EnterDelete向前删除键(Fn+Delete)↑ 上箭头
↓ 下箭头
← 左箭头
→ 右箭头
Page Up(Fn+↑)Page Down(Fn+↓)Home Fn + ←
End Fn + →
右制表符(Tab键)左制表符(Shift+Tab)Escape (Esc)Editing(编辑)
Space 基本的代码补全(补全任何类、方法、变量)Space 智能代码补全(过滤器方法列表和变量的预期类型)自动结束代码,行末自动添加分号P 显示方法的参数信息J, Mid. button click 快速查看文档F1 查看外部文档(在某些代码上会触发打开浏览器显示相关文档)+鼠标放在代码上 显示代码简要信息F1 在错误或警告处显示具体描述信息N, N 生成代码(getter、setter、构造函数、hashCode/equals,toString)O 覆盖方法(重写父类方法)I 实现方法(实现接口中的方法)T 包围代码(使用if.else, try.catch, for, synchronized等包围选中的代码)/ 注释/取消注释与行注释/ 注释/取消注释与块注释↑ 连续选中代码块↓ 减少当前选中的代码块Q 显示上下文信息显示意向动作和快速修复代码L 格式化代码O 优化importI 自动缩进线/ ? 缩进代码 / 反缩进代码X 剪切当前行或选定的块到剪贴板C 复制当前行或选定的块到剪贴板V 从剪贴板粘贴V 从最近的缓冲区粘贴D 复制当前行或选定的块删除当前行或选定的块的行J 智能的将代码拼接成一行智能的拆分拼接的行开始新的一行U 大小写切换] / ?[ 选择直到代码块结束/开始删除到单词的末尾(?键为Fn+Delete)删除到单词的开头+ / ?- 展开 / 折叠代码块+ 展开所以代码块- 折叠所有代码块W 关闭活动的编辑器选项卡Search/Replace(查询/替换)
Double ? 查询任何东西
F 文件内查找G 查找模式下,向下查找G 查找模式下,向上查找R 文件内替换F 全局查找(根据路径)R 全局替换(根据路径)S 查询结构(Ultimate Edition 版专用,需要在Keymap中设置)M 替换结构(Ultimate Edition 版专用,需要在Keymap中设置)Usage Search(使用查询)
F7 / ?F7 在文件中查找用法 / 在类中查找用法F7 在文件中突出显示的用法F7 显示用法Compile and Run(编译和运行)
F9 编译ProjectF9 编译选择的文件、包或模块R 弹出 Run 的可选择菜单D 弹出 Debug 的可选择菜单R 运行D 调试R, ?D 从编辑器运行上下文环境配置Debugging(调试)
F8 进入下一步,如果当前行断点是一个方法,则不进入当前方法体内
F7 进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中
F7 智能步入,断点所在行上有多个方法调用,会弹出进入哪个方法F8 跳出F9 运行到光标处,如果光标前有其他断点会进入到该断点F8 计算表达式(可以更改变量值使其生效)R 恢复程序运行,如果该断点下面代码还有断点则停在下一个断点上F8 切换断点(若光标当前行有断点则取消断点,没有则加上断点)F8 查看断点信息Navigation(导航)
O 查找类文件O 查找所有类型文件、打开文件、打开目录,打开目录需要在输入的内容前面或后面加一个反斜杠/O 前往指定的变量 / 方法← / ?→ 左右切换打开的编辑tab页F 返回到前一个工具窗口
从工具窗口进入代码文件窗口隐藏当前或最后一个活动的窗口,且光标进入代码文件窗口F4 关闭活动run/messages/find/… tabL 在当前文件跳转到某一行的指定处E 显示最近打开的文件记录列表← / ?→ 退回 / 前进到上一个操作的地方跳转到最后一个编辑的地方F1 显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择(如在代码编辑窗口可以选择显示该文件的Finder)B / ? 鼠标点击 进入光标所在的方法/变量的接口或是定义处B 跳转到实现处,在某个调用的方法名上使用会跳到具体的实现处,可以跳过接口Space, ?Y 快速打开光标所在方法、类的定义B 跳转到类型声明处U 前往当前光标所在方法的父类的方法 / 接口定义↓ / ?↑ 当前光标跳转到当前文件的前一个/后一个方法名位置] / ?[ 移动光标到当前所在代码的花括号开始/结束位置F 弹出当前文件结构层,可以在弹出的层上直接输入进行筛选(可用于搜索类中的方法)H 显示当前类的层次结构H 显示方法层次结构H 显示调用层次结构F2 / ?F2 跳转到下一个/上一个突出错误或警告的位置
F4 / ?↓ 编辑/查看代码源
Home 显示到当前文件的导航条F3选中文件/文件夹/代码行,添加/取消书签
F3 选中文件/文件夹/代码行,使用助记符添加/取消书签0.9 定位到对应数值的书签位置F3 显示所有书签Refactoring(重构)
F5 复制文件到指定目录
F6 移动文件到指定目录
在文件上为安全删除文件,弹出确认框F6 重命名文件F6 更改签名N 一致性M 将选中的代码提取为方法V 提取变量F 提取字段C 提取常量P 提取参数VCS/Local History(版本控制/本地历史记录)
K 提交代码到版本控制器T 从版本控制器更新代码C 查看最近的变更记录C 快速弹出版本控制器操作面板Live Templates(动态代码模板)
J 弹出模板选择窗口,将选定的代码使用动态模板包住J 插入自定义动态代码模板General(通用)
1.9 打开相应编号的工具窗口S 保存所有Y 同步、刷新F 切换全屏模式F 切换最大化编辑器F 添加到收藏夹I 检查当前文件与当前的配置文件`§ “ 快速切换当前的scheme(切换主题、代码样式等)
打开IDEA系统设置打开项目结构对话框A 查找动作(可设置相关选项)编辑窗口标签和工具窗口之间切换(如果在切换的过程加按上delete,则是关闭对应选中的窗口)Other(一些官方文档上没有体现的快捷键)
8 竖编辑模式导航
O 查找类文件 Ctrl + NO 前往指定的变量 / 方法 Ctrl + Shift + Alt + N← / ?→ 左右切换打开的编辑tab页Alt←/Alt→从工具窗口进入代码文件窗口 ESCL 在当前文件跳转到某一行的指定处 Ctrl + GE 显示最近打开的文件记录列表 Ctrl + E←/ ?→退回 / 前进到上一个操作的地方 Ctrl + Alt + ←/Ctrl + Alt + →跳转到最后一个编辑的地方 ?H 显示当前类的层次结构Ctrl + HH 显示方法层次结构H 显示调用层次结构 F4 /↓ 编辑/查看代码源U 显示类UML图J 查看注释编辑
删除到单词的末尾(?键为Fn+Delete)删除到单词的开头+ /?- 展开 / 折叠代码块F1 在错误或警告处显示具体描述信息L 格式化代码O 优化import开始新的一行自动结束代码,行末自动添加分号I 实现方法(实现接口中的方法)F6 重命名文件或者变量N,N 生成代码(getter、setter、构造函数、hashCode/equals,toString)P 显示方法的参数信息查找
Double? 查找任何东西
F 全局查找(根据路径)F 文件内查找G 查找模式下,向下查找G 查找模式下,向上查找导航
B 跳转到接口的实现 ?U 查看接口定义← /?→ 退回 / 前进到上一个操作的地方B /? 鼠标点击 进入光标所在的方法/变量的接口或是定义处B 跳转到类型声明处Space,Y 快速打开光标所在方法、类的定义O 查找类文件O 查找所有类型文件、打开文件、打开目录,打开目录需要在输入的内容前面或后面加一个反斜杠/F 返回到前一个工具窗口 ? 从工具窗口进入代码文件窗口
隐藏当前或最后一个活动的窗口,且光标进入代码文件窗口F3选中文件/文件夹/代码行,添加/取消书签
F3 选中文件/文件夹/代码行,使用助记符添加/取消书签0…?9 定位到对应数值的书签位置F3 显示所有书签F1 显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择(如在代码编辑窗口可以选择显示该文件的Finder)F 弹出当前文件结构层,可以在弹出的层上直接输入进行筛选(可用于搜索类中的方法)通用
F 切换全屏模式5. idea如何代码格式化
idea代码全在一行,使用快捷键Ctrl+Alt+L格式化代码,也可以将代码全部复制粘贴到特定的格式化代码网站进行格式化。
6. idea 格式化代码 配置
idea eslint可通过点击设置中我的进行自动格式化
7. 代码格式化 idea
idea软件是一款专业级的数据恢复软件,idea这款软件算法精湛,功能强大,支持多种情况下的文件丢失,分区丢失恢复,支持文件预览,支持扇区编辑,raid恢复等等高级数据恢复功能,软件功能全面,安全可靠,分区管理创建分区,删除分区,格式化分区等等。
8. idea设置代码自动格式化
IDEA的快捷键 Ctrl + Alt + L,就可以格式化SQL
教你如何用 IDEA 反编译 jar 源码解读
要快速查看并解读 jar 包中的 class 源码,使用 IntelliJ IDEA (简称 IDEA) 是一个高效便捷的选择。只需几步操作,就能轻松反编译并阅读类源码。以下步骤指导你如何操作。
首先,确保你的本地 Maven 仓库已包含 jar 包。这里以阿里巴巴的 fastjson 包为例,其版本号为 1.2.。你可以在本地 .m2 仓库中找到并选择任意一个 jar 包。
接着,使用 WinRAR 或其他解压工具,将选中的 jar 包解压至当前文件夹中。解压后,你将看到一个名为 fastjson 的文件夹。
在解压出的 fastjson 文件夹内,寻找 JSON.class 文件。找到文件后,直接将鼠标拖拽至 IDEA 编辑器中即可。至此,你已成功反编译并打开了 jar 包中的源码。
这个方法简便高效,适用于快速查看和理解 jar 包内类的实现细节。通过这种方式,你不仅能更直观地了解代码逻辑,还有助于解决实际开发中遇到的问题。
来源:toutiao.com/i...
IDEA 自带的反编译工具
IDEA的内置工具——Java Bytecode Decompiler,无论社区版还是专业版,都能为你提供反编译的支持。核心的java-decompiler.jar文件,隐藏在IDEA安装目录下的/plugins/java-decompiler/lib/路径中。这个工具背后是Fernflower的反编译技术,其源代码可以在github.com/JetBrains找到。
要使用这个工具,首先确保java-decompiler.jar文件在工作目录中。基本操作方法如下:
- 选项[-=]*,*可以表示0、1个或多个,具体选项请查阅源码,如0表示关闭,1表示开启。
- 源文件[]+,可以是.class、.jar或目录,带-e的源文件表示依赖,有助于分析代码关系。
- 目标目录,用于存放反编译结果,只能有一个。
举个例子,你可以执行以下命令反编译单个.class文件:`java-decompiler -o d:/decompiled d:/my.class`,这将把d:/my.class反编译成my.java,存放在d:/decompiled。
对于.jar文件,如`java-decompiler -o d:/decompiled d:/my.jar`,会生成一个新的my.jar,内部是.java格式的源码,而非.class。为了查看源码,通常先解压反编译后的my.jar。
如果要反编译一个目录,用`java-decompiler -o d:/decompiled d:/my`,这会在d:/decompiled中生成一个名为my的新目录。
在处理.jar文件时,推荐先将其解压为目录,再进行反编译操作。IDEA自带的Java Bytecode Decompiler为开发者提供了强大的反编译功能,方便在需要时查看和理解代码结构。
2024-11-27 22:08
2024-11-27 21:49
2024-11-27 20:54
2024-11-27 20:33
2024-11-27 20:23
2024-11-27 19:51