IDEA奇淫小技巧
IDEA是目前市场上最好用的IDE,我说的!
前几年eclipse在市场上非常流行,因此大多数人都习惯了eclipse的一些快捷键。近年来,随着IDEA的兴起,很多人都放弃了exlipse,进而选择了IDEA,但是有些人习惯将快捷键方式更换成eclipse的。这里我不建议这样做,熟悉一套快捷键差不多一周时间就够了,直接使用IDEA默认的快捷键可以体验到更多隐藏的小技巧~下面我们一起来看看IDEA都有哪些奇淫小技巧。
一、Postfix Completion相关技巧
Postfix Completion其实就是关于代码补全的一些模板。我们可以在Settings——>Editor——>General——Postfix Completion中看到他的一些模板。下面我们一起看看常用的一些语法。
if相关
定义一个boolean类型的变量flag和一个String类型的变量name来进行测试。
boolean flag = true;
String name = "Java旅途";
- 判断条件成立
语法:
flag.if
效果:
if (flag) {}
- 判断条件不成立
语法:
flag.else
效果:
if (!flag) {}
- 判断条件等于null
语法:
string.null
效果:
if (string == null) {}
- 判断条件不等于null
语法:
string.notnull 或者 string.nn
效果:
if (string != null) {}
- 使用switch判断
语法:
string.switch
效果:
switch (string) {}
- 使用while判断
语法:
flag.while
效果:
while (flag) {}
for相关
定义一个string类型的数组来测试。
String[] param = {"1","2","3"};
- 从第一个元素进行遍历
语法:
param.fori
效果:
for (int i = 0; i < param.length; i++) {}
- 从最后一个元素进行遍历
语法:
param.forr
效果:
for (int i = param.length - 1; i >= 0; i--) {}
- 增强for循环
语法:
param.for 或者 param.iter
效果:
for (String s : param) {}
变量相关
新定义一个User类,添加name和age两个属性用来测试。
public class User {
private String name = "Java旅途";
private int age = 18;
public User() {}
public User(String name, int age) {
this.name = name;
this.age = age;
}
}
- 创建一个对象
语法:
User.new
效果:
new User();
- 创建一个局部变量
语法:
new User().var
效果:
User user = new User();
- 创建一个全局变量
语法:
new User().field
效果:
private User user;
user = new User();
- 强制转换对象类型,假如我们将将Object转换为User
语法:
new object.castvar
效果:
User user = (User) new Object();
其他常用
- 返回语句
语法:
"".return
效果:
return "";
- 打印语句
语法:
flag.sout
效果:
System.out.println(flag);
- 捕获处理异常
语法:
new User().try
效果:
try {
new User();
} catch (Exception e) {
e.printStackTrace();
}
- 抛出异常
语法:
new Exception().throw
效果:
throw new Exception();
- 给变量加锁
语法:
string.synchronized
效果:
synchronized (string) {}
二、inject language
inject language可以快速帮助我们构建我们所需要的一些语法。比如JSON、HTML、XML等等。
快速定义JSON
如果们自己去定义一个json字符串则需要手动的去用\给”转义。我们使用inject language则可以省去这个步骤。
我们定义一个json的字符串,将光标放在“”中间,然后按Alt+Enter,出来如下提示后,选择Inject language or reference。
然后点击Enter进入后,选择或搜索JSON后回车。然后继续按Alt+Enter,出来如下提示后,我们选择Edit JSON Fragment。
回车后,会弹出一个输入框。我们在输入框中写我们的JSON就可以了,它会自动帮我们转义。
使用html等其他也是一样的方法,它会自动帮我们补全结束标签。
几个神秘的快捷键
- 快速重命名
Shift+F6
- 定位到最近浏览过的文件
Ctrl+E
- 定位到最近修改过的文件
Ctrl+Shift+E
- 查看当前类所有的method
Ctrl+F12
- 查看类图
Ctrl+Shift+Alt+U
IDEA奇淫小技巧的更多相关文章
- Linux "yin"才们的奇"yin"小技巧 --请用东北发音夸他们
1. include/linux/bits.h GENMASK(h, l) /* * Create a contiguous bitmask starting at bit position @l a ...
- Gradle更小、更快构建APP的奇淫技巧
本文已获得原作者授权同意,翻译以及转载原文链接:Build your Android app Faster and Smaller than ever作者:Jirawatee译文链接:Gradle更小 ...
- BZOJ 3192: [JLOI2013]删除物品 奇淫技巧&树状数组
点我看题 这题十分奇淫技巧...QAQ因为知道是树状数组的题QAQ刚开始以为维护两个数组的树状数组然后模拟从大到小,然后发现不会打QAQ 于是悄悄咪咪翻开题解了. 实际上两个数组可以看做一个数组 如 ...
- # ACM奇淫技巧
目录 ACM奇淫技巧 差分操作 坐标旋转 ACM 卡常优化 vsc代码块(头文件模板) 读入输出优化 逗号表达式 内联函数inline 寄存器变量register 条件判断加减代替取模 自增运算符优化 ...
- CSS布局奇淫技巧之--各种居中
居中是我们使用css来布局时常遇到的情况.使用css来进行居中时,有时一个属性就能搞定,有时则需要一定的技巧才能兼容到所有浏览器,本文就居中的一些常用方法做个简单的介绍. 注:本文所讲方法除了特别说明 ...
- 优化DP的奇淫技巧
DP是搞OI不可不学的算法.一些丧心病狂的出题人不满足于裸的DP,一定要加上优化才能A掉. 故下面记录一些优化DP的奇淫技巧. OJ 1326 裸的状态方程很好推. f[i]=max(f[j]+sum ...
- 12个实用的 Javascript 奇淫技巧
这里分享12个实用的 Javascript 奇淫技巧.JavaScript自1995年诞生以来已过去了16个年头,如今全世界无数的网页在依靠她完成各种关键任务,JavaScript曾在Tiobe发布的 ...
- NGINX的奇淫技巧 —— 5. NGINX实现金盾防火墙的功能(防CC)
NGINX的奇淫技巧 —— 5. NGINX实现金盾防火墙的功能(防CC) ARGUS 1月13日 发布 推荐 0 推荐 收藏 2 收藏,1.1k 浏览 文章整理中...... 实现思路 当服务器接收 ...
- NGINX的奇淫技巧 —— 3. 不同域名输出不同伺服器标识
NGINX的奇淫技巧 —— 3. 不同域名输出不同伺服器标识 ARGUS 1月13日 发布 推荐 0 推荐 收藏 6 收藏,707 浏览 大家或许会有这种奇葩的需求...要是同一台主机上, 需要针对不 ...
随机推荐
- Golang Context 的原理与实战
本文让我们一起来学习 golang Context 的使用和标准库中的Context的实现. golang context 包 一开始只是 Google 内部使用的一个 Golang 包,在 Gola ...
- ACM-ICPC 2019 山东省省赛 M Sekiro
Sekiro: Shadows Die Twice is an action-adventure video game developed by FromSoftware and published ...
- tar命令基本、进阶使用指北
tar命令基本.进阶使用指北 摘要 打包与压缩是我们在计算机系统日常使用中必备的一个工具,就如我们在使用Windows系统,也需要类似WinRAR的压缩软件来将许多数据.文件打包成一个文件,并压缩其占 ...
- celery的定时任务
定时任务 Celery 中启动定时任务有两种方式,(1)在配置文件中指定:(2)在程序中指定. # cele.py import celery app = celery.Celery('cele', ...
- MySQL JDBC Driver 8.0+设置服务器时区
遇到一个问题,线下环境测试数据的查询完全没有问题,但是线上环境却没法查询出数据,并且从mybatis输出的日志来看,查询参数也没有问题,数据库中数据也是存在的,查询参数类型是java.util.Dat ...
- thinkphp 5.x~3.x 文件包含漏洞分析
漏洞描述: ThinkPHP在加载模版解析变量时存在变量覆盖的问题,且没有对 $cacheFile 进行相应的消毒处理,导致模板文件的路径可以被覆盖,从而导致任意文件包含漏洞的发生. 主要还是变量覆盖 ...
- C语言设计实验报告(二)
C程序设计实验报告姓 名:赖瑾 实验地点:家 实验时间:2020年3月9日 实验项目:2.3.3 字符与ASCLL码 2.3.4 运算符与表达式的运用 2.3.5 顺序结构应用程序 3.3.1 数学函 ...
- Mahout聚类和kafaka相关知识
1.说几种距离测度Mahout: 欧式距离测度:平方欧式距离测度:曼哈顿距离测度:余弦距离测度:加权距离测度 2.K-means算法参数:
- (一只小白)对private,final关键字的一些认知
1.private: private是私有的意思,在Java中可以用来修饰类里面的成员变量或者成员方法(注:不能修饰一个类,因为一个类如果外部无法访问的话,面向对象的编程思想将毫无意义),顾名思义,被 ...
- pthon-安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示“This application failed to start because no Qt platform plugin could be initialized.Reinstalling the application the application may fix this program”
最近学习python,安装网上教程一步一步的安装,网上很多帖子都写的非常详细,不由深深感慨多谢各位不辞辛苦的记录,指导着来自新入门的同学. 但是实际安装中,最理想莫过于一次性安装成功,但自己安装就出现 ...