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旅途";
  1. 判断条件成立

语法:

flag.if

效果:

if (flag) {}
  1. 判断条件不成立

语法:

flag.else

效果:

if (!flag) {}
  1. 判断条件等于null

语法:

string.null

效果:

if (string == null) {}
  1. 判断条件不等于null

语法:

string.notnull 或者 string.nn

效果:

if (string != null) {}
  1. 使用switch判断

语法:

string.switch

效果:

switch (string) {}
  1. 使用while判断

语法:

flag.while

效果:

while (flag) {}

for相关

定义一个string类型的数组来测试。

String[] param = {"1","2","3"};
  1. 从第一个元素进行遍历

语法:

param.fori

效果:

for (int i = 0; i < param.length; i++) {}
  1. 从最后一个元素进行遍历

语法:

param.forr

效果:

for (int i = param.length - 1; i >= 0; i--) {}
  1. 增强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;
}
}
  1. 创建一个对象

语法:

User.new

效果:

new User();
  1. 创建一个局部变量

语法:

new User().var

效果:

User user = new User();
  1. 创建一个全局变量

语法:

new User().field

效果:

private User user;
user = new User();
  1. 强制转换对象类型,假如我们将将Object转换为User

语法:

new object.castvar

效果:

User user = (User) new Object();

其他常用

  1. 返回语句

语法:

"".return

效果:

return "";
  1. 打印语句

语法:

flag.sout

效果:

System.out.println(flag);
  1. 捕获处理异常

语法:

new User().try

效果:

try {
new User();
} catch (Exception e) {
e.printStackTrace();
}
  1. 抛出异常

语法:

new Exception().throw

效果:

throw new Exception();
  1. 给变量加锁

语法:

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奇淫小技巧的更多相关文章

  1. Linux "yin"才们的奇"yin"小技巧 --请用东北发音夸他们

    1. include/linux/bits.h GENMASK(h, l) /* * Create a contiguous bitmask starting at bit position @l a ...

  2. Gradle更小、更快构建APP的奇淫技巧

    本文已获得原作者授权同意,翻译以及转载原文链接:Build your Android app Faster and Smaller than ever作者:Jirawatee译文链接:Gradle更小 ...

  3. BZOJ 3192: [JLOI2013]删除物品 奇淫技巧&树状数组

    点我看题 这题十分奇淫技巧...QAQ因为知道是树状数组的题QAQ刚开始以为维护两个数组的树状数组然后模拟从大到小,然后发现不会打QAQ 于是悄悄咪咪翻开题解了. 实际上两个数组可以看做一个数组 如 ...

  4. # ACM奇淫技巧

    目录 ACM奇淫技巧 差分操作 坐标旋转 ACM 卡常优化 vsc代码块(头文件模板) 读入输出优化 逗号表达式 内联函数inline 寄存器变量register 条件判断加减代替取模 自增运算符优化 ...

  5. CSS布局奇淫技巧之--各种居中

    居中是我们使用css来布局时常遇到的情况.使用css来进行居中时,有时一个属性就能搞定,有时则需要一定的技巧才能兼容到所有浏览器,本文就居中的一些常用方法做个简单的介绍. 注:本文所讲方法除了特别说明 ...

  6. 优化DP的奇淫技巧

    DP是搞OI不可不学的算法.一些丧心病狂的出题人不满足于裸的DP,一定要加上优化才能A掉. 故下面记录一些优化DP的奇淫技巧. OJ 1326 裸的状态方程很好推. f[i]=max(f[j]+sum ...

  7. 12个实用的 Javascript 奇淫技巧

    这里分享12个实用的 Javascript 奇淫技巧.JavaScript自1995年诞生以来已过去了16个年头,如今全世界无数的网页在依靠她完成各种关键任务,JavaScript曾在Tiobe发布的 ...

  8. NGINX的奇淫技巧 —— 5. NGINX实现金盾防火墙的功能(防CC)

    NGINX的奇淫技巧 —— 5. NGINX实现金盾防火墙的功能(防CC) ARGUS 1月13日 发布 推荐 0 推荐 收藏 2 收藏,1.1k 浏览 文章整理中...... 实现思路 当服务器接收 ...

  9. NGINX的奇淫技巧 —— 3. 不同域名输出不同伺服器标识

    NGINX的奇淫技巧 —— 3. 不同域名输出不同伺服器标识 ARGUS 1月13日 发布 推荐 0 推荐 收藏 6 收藏,707 浏览 大家或许会有这种奇葩的需求...要是同一台主机上, 需要针对不 ...

随机推荐

  1. [USACO1.5]回文质数 Prime Palindromes

    题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,000 ...

  2. DeepWalk论文精读:(4)总结及不足

    模块4 1 研究背景 随着互联网的发展,社交网络逐渐复杂化.多元化.在一个社交网络中,充斥着不同类型的用户,用户间产生各式各样的互动联系,形成大小不一的社群.为了对社交网络进行研究分析,需要将网络中的 ...

  3. 蓝色展开收缩悬浮QQ客服代码

    放在我的博客首页上的的预览图: 在文章区的预览图如下: 代码如下: <div class="scrollsidebar" id="scrollsidebar&quo ...

  4. python连接MySQL/redis/mongoDB数据库的简单整理

    python连接mysql 用python操作mysql,你必须知道pymysql 代码示意: import pymysql conn = pymysql.connect(host='127.0.0. ...

  5. 视频文件自动转rtsp流

    最近碰到一个项目需要用到 rtsp 视频流做测试, 由于真实环境的 摄像头 并不能满足需求,故尝试了一下用本地视频文件转换成rtsp视频流做测试,记录一下~ 采用方案: Docker + EasyDa ...

  6. leetcode485——最大连续1的个数(easy)

    一.题目描述 给定一个二进制数组, 计算其中最大连续1的个数. 示例 1: 输入: [1,1,0,1,1,1] 输出: 3 解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3. 注意 ...

  7. JPA与hibernate-------JPA

    ORM概述 ORM(Object-Relational Mapping) 表示对象关系映射.在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中.只要有一套程序能够做到建立对象与数据库 ...

  8. css3的 calc属性无效问题解决

    css3的 calc:计算属性. 运算符两边需要加空格,才有效. 错误示例:.mystyle{width:calc(100%-25px)}这样是不生效的 运算符"+ - * /"左 ...

  9. PHP导出excel文件,第一步先实现PHP模板导出不带数据

    今天继续研究PHP导出excel文件,把复杂的事情简单化,一步步实现功能,首先实现模板文件的导出,随后再实现写入数据后导出,最终实现功能,这是基本思路.中间可以加一步,先自己写入数据导出试试,随后再数 ...

  10. elasticsearch kibana的安装部署与简单使用(二)

    介绍一下elasticsearch和kibana的简单使用 es其实我理解为一个数据库,一个数据库无非就是增删改查, Delete  PUT GET POST 这些接口关键字完美对应 比如,我想查一张 ...