idea多行编辑_开发神器idea被玩残了,你们功不可没啊!
狗哥是做java开发的,平时喜欢用idea作为开发工具,上次被技术总监小马哥吐槽了,说我是个菜逼。
狗哥下去之后研究了2周,整理了这篇文章,开发效率提升了30%。
psvm+Tab键:快速输出main方法
效果
public static void main(String[] args) {}
sout+Tab键:快速输出System.out.println();
对象.sout+Tab键
"狗哥".sout + Tab键 -> System.out.println("狗哥");
任意对象.var+Tab键:快速声明对象
"".var+Tab键 -> String s = "";new Object().var+Tab键 -> Object o = new Object();
任意布尔表达式.if+Tab键:快速输出if块
object1.equals(object2).if+Tab键
效果
if (object1.equals(object2)) {
}
任意布尔表达式.while+Tab键:快速输出while块
object1.equals(object2).while+Tab键
效果
while (object1.equals(object2)) {
}
fori+Tab键:快速输出for代码块
for (int i = 0; i }
Ctrl+Alter+T:代码包裹,很牛逼的功能
比如我们相对一段代码执行下面操作:
使用 if 包裹
使用 if / else 包裹
使用 while 包裹
使用 do / while
使用 try / catch
使用 try / finally包裹
使用 try / catch / finally包裹
使用 synchronized 包裹
使用 {} 包裹
等等,都可以使用Ctrl+Alter+T
来快速生成,选中需要包裹的代码,然后按上面的快捷键,如选中下面代码
String name = "程序员狗哥";
按Ctrl+Alter+T
,选择窗口中的try / catch / finally
,最后效果
try { String name = "程序员狗哥";} catch (Exception e) { e.printStackTrace();} finally {}
Ctrl+w:选择代码块,w可以按多次,可以连续选择
Ctrl+Shift+w:Ctrl+w反向操作
Ctrl+O:快速在当前类中生成需要重写父类的方法
比如想在当前类中重写父类中的一些方法,可以按这个快捷键,然后会列出所有可以重写的方法,然后选中一个,此时会快速在当前类中生成重写的代码
Ctrl+I:快速当前类中生成需要实现的接口中的方法
可以快速在实现类中生成接口中需要实现的方法。
Alter+Insert:用于快速生成一些代码
快速生成构造方法
快速生成get、set方法
快速生成toString方法
快速重新方法
javabean中比较常用,用来快速生成get、set方法。
Ctrl+Alter+L:快速格式化代码
当前文件中使用这个快捷键,会格式化当前类中所有代码;也可以选中一部分代码进行格式化。
Ctrl+Alter+O:优化当前类中导入的包
比如当前有一些无用的import,这个快捷键会将这些无用的清理掉
Ctrl+/:使用//注释代码
Ctrl+Shift+/:使用/**/注释代码
Ctrl+Shift+向下箭头:快速将一个代码块下移
比如像调整类中方法的顺序,选中方法名,然后使用这个快捷键,将方法整体下移。
Ctrl+Shift+向上箭头:快速将一个代码块上移
Alter+Shift+向上箭头:快速上移一行代码
Alter+Shift+向下箭头:快速下移一行代码
Ctrl+Shift+C:快速复制文件路径
选择下面这个类com.alibaba.fastjson.JSON按Ctrl+Shift+C效果:C:\maven\.m2\repository3.3.9_0\com\alibaba\fastjson\1.2.29\fastjson-1.2.29.jar!\com\alibaba\fastjson\JSON.class
Ctrl+Shift+Alt+C:快速复制引用
快速获取引用,如
在JSON类上按Ctrl+Shift+Alter+C,可以将类的全名com.alibaba.fastjson.JSON复制到剪切板
快速复制方法引用,如:
在JSON的parse方法上使用这个快捷键可以将下面信息复制到剪切板:com.alibaba.fastjson.JSON#parse(java.lang.String, int)
Alter+Shift+Insert:列选择模式,同时编辑多行内容
比如我有个文件,内容如下:
分享各种好用的软件分享各种使用的技巧分享各种好用的开源项目
此时我想在每行前面加上程序员狗哥
可以按Alter+Shift+Insert
进入多行编辑模式,然后点击鼠标左键拖拽鼠标,此时每行会加入光标,然后进行编辑。
再次按Alter+Shift+Insert
可以退出当前模式。
Ctrl+Shift+J:将多行代码缩为一行
选中下面代码,使用Ctrl+Shift+J
String name = "狗哥";int age = 30;String address = "北京市";
效果如下,变为一行代码了
String name = "狗哥"; int age = 30; String address = "北京市";
Ctrl+D:快速复制行
快速复制单行,将光标放在下面代码上,按Ctrl+D
String name = "狗哥";
效果
String name = "狗哥"; String name = "狗哥";
快速复制多行,选中下面代码,按Ctrl+D
String name = "狗哥";int age = 30;String address = "北京市";
效果
String name = "狗哥";int age = 30;String address = "北京市";String name = "狗哥";int age = 30;String address = "北京市";
选中代码+Tab键:将选中的代码快速缩进
选中
String name = "狗哥";int age = 30;String address = "北京市";
按Tab键,效果
String name = "狗哥"; int age = 30; String address = "北京市";
选中代码+Shift+Tab键:上面命令的反向操作
Ctrl+Shift+U:对代码切换大小写
选中下面代码
ABCDE
按Ctrl+Shift+U
abcde
再按Ctrl+Shift+U
ABCDE
Ctrl+Q:快速查看文档
快速查看类的文档,比如在Method类上,按Ctrl+Q,效果
快速查看方法文档,比如我想查看下面方法的文档信息
java.lang.reflect.Method.invoke
选中上面这个方面的名称,按Ctrl+Q,效果:
Ctrl+P:查看方法参数
下面是在forName0方法上,使用Ctrl+P产生的效果,可以看到这个参数的详细信息
Ctrl+Shift+P:快速查看一个表达式的类型
比如我想查看下面选中的这段代码,最后结果是什么类型的,对选中表达式按Ctrl+Shift+P
下面是效果,红框中显示了选中表达式的类型
Ctrl+E:查看最近访问的文件
按这个快捷键之后会弹出一个窗口,会列出最近访问的文件
多窗口查看文件
很牛逼的一个功能,看效果
下面的类上面点击鼠标右键,点击Split Vertically
效果,此时产生了2个窗口显示Class类
还可以继续开,下面来个垂直开多个窗口,点击下面的Split Horizontally
,如下
效果,3个窗口了
Ctrl+N:当前项目中快速查找某个类
Ctrl+N+N:当前项目及所有jar包中查找类
Ctrl+Shift+N:当前项目中快速查找某个文件
Ctrl+Shift+N+N:当前项目及其他所有文件中查找某个文件
Ctrl+G:输入行号,快速跳转到某一行代码
Ctrl+B:跳转到声明处
跳转到变量声明处
有时候方法比较长,我想看某个变量在什么地方定义的,直接选中变量,然后按Ctrl+B
,此时光标会跳到变量定义的地方。
如下,选中红框中的sb,然后按Ctrl+B
此时光标跳到下面这里了
跳转到类型的定义处
如
此时跳到StringBuilder中去了,如下:
跳转到方法定义处
如:
点击Ctrl+B
,跳到下面这里了
Ctrl+U:快速导航到某个类的父类或者接口
Ctrl+Alt+B:快速导航到实现中去(2种常见用法)
快速导航到某个类或者接口的实现类中
如下面这个接口
有一个实现类
可以在IOrderService这个接口中,按Ctrl+Alt+B快捷键,直接跳到其实现类OrderServiceImpl中去。
快速导航到方法的实现上
下面的方法中按Ctrl+Alt+B
此时会跳到实现类中对应的方法中去,如下:
Ctrl+Shift+B:快速跳到定义类型声明中去
下面的toGe
这个方法,返回值是String类型,在方法上使用Ctrl+Shift+B
组合键,会跳转到String类中去
效果
下面这个sb变量是StringBuffer类型,在sb变量上使用Ctrl+Shift+B
组合键,会跳转到StringBuffer类中去
效果
Ctrl+F12:查看文件结构(快速查看类的方法、成员变量)
快速定位到类中的方法,如查看String类中所有方法,String类中按Ctrl+F12
,如下
Ctrl+Alt+F12:快速打开文件在磁盘中的位置
比如在String类中使用Ctrl+Alt+F12
点击src.zip
Ctrl+H:显示一个类型的层次结构
String类上使用这个快捷键,效果
Alt+F7:查看某个类或者方法被哪些地方使用了
查看某个方法被哪些地方使用了,这个功能够比较常用,方法上面使用Alt+F7
,会列出当前方法被哪些地方调用了。
Shift+F6:快速重命名(对文件、类、变量快速重命名)
Ctrl+Alt+M:将一段代码抽取为方法
F6:快速将一个类移动到另外一个包中
快速将下面这个类移动到test2包中,选中这个类,按F6
下面输入需要移动的目标地址
移动完毕
F5:快速复制一个类
快速复制下面这个类,直接按F5,New Name中输入新的类名Demo2
下面产生了一个同样的类
Ctrl+Alt+Shift+T+7:将方法参数抽取到对象中
下面的insert方法,参数太多,此时想将这几个参数封装在UserDto对象中
public class UserService { public void insert(String name, String age, String salary, String job){ }}
选中方法,先使用Ctrl+Alt+Shift+T
组合键,然后按7
,弹出下面窗口,输入类名
方法的参数被抽取到下面的UserDto
中了
insert方法变成下面这样了
Ctrl+Alt+V:抽取变量
下面代码,狗哥
出现了4次,可以将其用一个变量来代替,选中任意一个狗哥
,使用Ctrl+Alt+V
public void m1(){ System.out.println("狗哥"); System.out.println("狗哥"); System.out.println("狗哥"); System.out.println("狗哥");}
代码变成了下面这样
public void m1(){ String dog = "狗哥"; System.out.println(dog); System.out.println(dog); System.out.println(dog); System.out.println(dog);}
Ctrl+Alt+C:抽取常量
public void m1(){ System.out.println("狗哥"); System.out.println("狗哥"); System.out.println("狗哥"); System.out.println("狗哥");}
上面代码使用Ctrl+Alt+C
组合键,变成下面这样,
public static final String DOG_NAME = "狗哥";
public void m1() { System.out.println(DOG_NAME); System.out.println(DOG_NAME); System.out.println(DOG_NAME); System.out.println(DOG_NAME);}
Ctrl+Alt+C:抽取方法参数
public void m1(){ System.out.println("狗哥"); System.out.println("狗哥"); System.out.println("狗哥"); System.out.println("狗哥");}
上面代码使用Ctrl+Alt+C
组合键,变成下面这样,狗哥
变为了方法的参数
public void m1(String dogName){ System.out.println(dogName); System.out.println(dogName); System.out.println(dogName); System.out.println(dogName);}
Ctrl+Shift+T:快速给一个类生成单元测试
Ctrl+Shift+F12:当前窗口最大化
Alt+F1:可以将正在编辑的元素在各个面板中定位
使用ctrl+鼠标滚轮更改字体大小(缩放)
配置如下
效果,下面代码字体比较小,使用ctrl+鼠标滚轮
试试效果
效果如下,随着滚轮的运动,字体变大/变小:
开启代码自动提示
配置如下
比如我输入hash
,会出现下面效果,弹出一堆提示
显示行号
调试相关功能
添加断点:行号上面点击鼠标左键
点击下面的红圈
效果
F7:进入方法
调试的时候遇到方法体的时候会进入到方法体内部,每个方法依次执行
F8:一行行调试
调试的时候 遇到方法体不会进入方法内部 只会依次执行
F9:跳到下一个断点
调试的时候 只会执行 打断点的地方
Shift + F8:跳出当前方法
Alt + Shift + F7:强制进入方法
调试的过程中强制进入方法内部,这个和F7看起来有点相似,其实不一样的,F7只能进入当前项目中类的方法中,而当前这个更强大,可以进入任何方法内部。
条件断点
比如下面代码,只想在i为10的时候停下来
for (int i = 0; i 50; i++) { System.out.println(i);}
鼠标左键在行数上加上断点,在断点上右键加上条件,点击Done按钮
此时断点上面会有个问号
Alt+F8:调试过程中表达式求值
禁用断点
比如系统中有很多断点,此时不想删除,但是又不像让断点阻碍当前程序的执行,可以点击下面的按钮,会让所有断点都变灰失效
批量去掉断点
点击下面的按钮
弹出断点视图,可以对断点增删操作
感谢阅读,狗哥致力于为大家推荐各种好用、好玩的东西,也希望大家能支撑一下狗哥,帮忙转发一下,让更多好友一起成长!
idea多行编辑_开发神器idea被玩残了,你们功不可没啊!相关推荐
- excel首行固定_基金定投只有高手才能玩?不,你用Excel就可以品职Python小白入门课堂...
只有大神能玩的量化? 相信很多学金融,或对金融感兴趣的读者都会觉得量化是一个非常高深.需要很深数学功底的领域.但事实上,尽管有很多量化模型应用到了一些十分高深的数学模型,量化离我们的生活并没有那么的遥 ...
- vscode用鼠标滚轮_前端开发神器 VSCode 使用总结
前端开发神器 VSCode 使用总结 VSCode 是微软出品的,基于 Electron 和 TypeScript 的,集成了 git 版本管理和命令行终端,而且开源稳定,插件丰富,再搭配一款 Chr ...
- 智能化视频开发神器来了,AV Pipeline Kit 架构解析
作者 | 宋慧 出品 | CSDN 在中国,93.4%的上网者都是网络视频.短视频的受众.随着宽带提速,5G 普及,用户对网络视频播放速度和清晰度需求水涨船高.AI 技术让音视频有了更多玩法,例如用户 ...
- 工具(6): 开发神器
0x01 序章 收集7颗龙珠,召唤出神龙:"神龙,请给我一打开发神器!" 神龙:"给你:cnblogs.com/math/p/tools.html" 0x02 ...
- 推荐一款全能测试开发神器!1分钟快速上手!
关注上方"测试开发技术",选择星标, 干货技术,第一时间送达! 1. 说一下背景 在日常开发或者测试工作中,经常会因为下游服务不可用或者不稳定时,通过工具或者技术手段去模拟一个HT ...
- 让人上瘾的新一代开发神器——Magic-API
新一代低代码开发神器--Magic-API - 烤鸡计算机技术分享烤鸡计算机技术分享新一代低代码开发神器--Magic-APIhttps://roastchicken.cn/doc/magic-api ...
- webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器
#webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器 -- 工欲善其事 必先利其器##各工具介绍 `webstorm`是**JetBrains** ...
- Stark 组件:快速开发神器 —— 锦上添花
Stark 组件:快速开发神器 -- 锦上添花 一.分页 二.排序 三.搜索 1.关键字搜索 2.组合搜索 四.批量操作 经过前面几个篇章,我们的 Stark 组件已经能够批量生成 URL,快速实现增 ...
- Stark 组件:快速开发神器 —— 页面显示
说道 Stark 你是不是不会想到他--Tony Stark,超级英雄钢铁侠,这也是我的偶像. 不过我们今天要开发的 Stark 组件,倒是跟他的人工智能助手 JARVIS 有些类似,是帮助我们快速开 ...
最新文章
- Ant Design使用方法
- Python编程专属骚技巧7
- CPU亲缘性及网卡中断绑定
- mysql 主键 最佳实践_设计套路:Mysql主键的选取
- iOS中Runtime简析
- viso 画背景框_手工界新宠:美绝了的浮雕画,揉揉捏捏一幅画
- 项目关键路径与项目最长路径有可能不同
- HTML5网页设计基础——播放器图标
- C# 按块选择 autoCAD二次开发
- UCI糖尿病数据利用逻辑回归算法进行训练和预测
- python 抽奖器_如何基于python实现年会抽奖工具
- Mac更新后ae不能打开,ae安装后打开报错解决方法
- 电脑不接扩展屏时,打开应用后,窗口跑到屏幕外,怎末办?
- 【ZYNQ】T9+控制板硬件概览与修复 (持续更新中)
- XMM SSE2浮点指令
- Codeforces Round #815 (Div. 2)
- 恢复被维金病毒感染的exe文件--我和病毒作斗争的3天
- C语言实战105例源码
- 按计算机病毒工作原理可将其分为,计算机基础知识练习题3.doc
- android模拟全局按键,Android 模拟按键汇总
热门文章
- SpringMVC工作总结001_SpringMVC拦截器(资源和权限管理)
- Android异常总结---3.Failed to install *.apk on device 'emulator-5554': timeout 错误提示:
- 2017年(毕业生)暑期实习信息汇总
- PHP错误提示的关闭方法详解
- linux c++模拟简易网络爬虫
- linux ftp使用相关
- VC中连接mdb数据库及其数据读取方法
- 微信小程序上传接口php,微信小程序API 上传、下载
- 随想录(动态库的特点)
- android 控件突然变小,android中自定义控件