Intellij IDEA 一些不为人知的技巧
Intellij IDEA 一些不为人知的技巧
今天又听了 Jetbrains 首席布道师 Hadi 的分享的 Intellij IDEA 使用技巧,说又是是因为之前在 QCon 听过一遍,但是这次 Hadi 带来的分享又超出了预期(很多布道师到处讲的东西都差不多),从他的这次分享中学到了不少的东西。
这篇文章的主要目的是将我觉得非常有用的东西给记录下来,一方面是对自己感受的一个整理,一方面也给其他喜欢文字而不喜欢视频的同学一个参考(推荐大家看 ATIT 的视频,Hadi 都是现场直接演示功能)。
注意:这篇文章是基于我目前使用的 Intellij IDEA 版本,2016.3 Ultimate 来写的,快捷键是 Mac OS 10.5+。如果同学们使用其他的版本或者快捷键,请大家注意自行脑补映射,(⊙o⊙)…
关闭 Intellij IDEA 的 Tab 页
为什么要关闭 Intellij IDEA 的 Tab 页呢,Tab 页放在那里,当我们每次需要找文件的时候,都先要去 Tab 页瞄一眼,看下在不在 Tab 页,如果在的话,用鼠标点一下。这种操作的效率其实非常慢,更加快速的方式是直接关闭掉 Tab 页的功能:

然后直接用 Command + E 来找到最近访问的文件:

或者直接用 Command + Shift + E 来访问最近编辑的文件:

跳到特定文件夹
Intellij IDEA 和 Eclipse 都有快速根据类名寻找类,或者根据资源名寻找资源的方式,但是如果我们想找一个文件夹,在 Intellij IDEA 里面,可以输入 /文件夹名 来跳到特定的文件夹(使用 Double Shift 快捷键),截图如下:

快速补全行末分号
Java 中,每一个 statement 后面都得加上 ; 号,我们可以在行中任意位置使用快捷键 Command + Shift + Enter 来快速补全分号:
Rest Client
Intellij IDEA 里面内置了一个 Rest Client,大家可以通过 Command + Shift + A,然后搜索 Rest Client 来找到:

打开以后,可以看到一个简单的 Rest Client:

之所以说它比较简单是因为个人觉得还是 Postman 更加强大,Postman 的管理功能更加强大,而 Intellij IDEA Rest Client 则缺少这样的能力。
Hippie Completion
这种自动补全的模式,会选择当前编辑器中适合的单词直接拿过来补全:

粘贴版历史
如果使用过 Mac 里面的 Alfred 的话,可能大家早就习惯了 Alfred 的粘贴板历史的能力,真是复制粘贴的神器啊。其实 Intellij IDEA 里面也提供了这样的能力,我们可以直接通过 Command + Shift + V 来进行访问历史粘贴板:
Language Injection
大家都知道在 Java 的 String 中编辑有 JSON 的话有多麻烦,各种转义真是让人疯狂,在 Intellij IDEA 中,我们可以直接使用 Intellij IDEA 的 Language Injection 的功能(Alt + Enter)将一个字符串标记为 JSON,就可以非常方便地编写 JSON 了,再也不用担心转义的问题了:

当然,正则表达式也是支持的,甚至支持简单的正则表达式的测试能力:
Smart Step Into
在 Debug 的时候,如果一行代码中有多行语句,我们又需要进入其中的一个方法调用的话,经常做的方法是点开源代码,然后打上断点,或者直接右键 Run to Line,而不能使用快捷键快速将 Debug 的当前行进入到想要去的方法上,Intellij IDEA 提供了 Smart Step Into 的能力,只要使用 Shift + F7,就可以选择到底要 Debug 进入哪一个方法:

以上就是我从上午的这次 Intellij IDEA 的插件的分享中学习到的一些新的 Intellij IDEA 的使用技巧,拓展了我对 Intellij IDEA 的认知,原来一个 IDE 可以做到这么智能,这么牛逼!
还在观望是否要使用 Intellij IDEA 的 Eclipse 的小伙伴们,赶紧弃暗投明加入 Intellij IDEA 的队伍吧,O(∩_∩)O哈哈
原文链接:http://www.jianshu.com/p/364b94a664ff
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

Intellij IDEA 一些不为人知的技巧的更多相关文章
- IntelliJ IDEA创建项目技巧(转)
转自:http://www.myext.cn/webkf/a_2539.html IntelliJ IDEA创建项目技巧 来源:网络 编辑:admin intellij idea教程 首先我要说 ...
- 使用IntelliJ IDEA的小技巧快乐编程(1)
前言 我很喜欢和别人讨论一些问题,有时候,在公司里,讨论这样的问题需要演示代码.常常会碰到的一种情况是(根据我的记忆这半年多来至少超过了10次),别人会打断你的演示,抛出一个问题:等等,你刚才的操作是 ...
- IntelliJ IDEA神器使用技巧
说明:详情请参考慕课网课程:IntelliJ IDEA神器使用技巧:http://www.imooc.com/learn/924(感谢课程作者:闪电侠) 推荐: 1. 课程老师(闪电侠)IDEA快捷键 ...
- 使用IntelliJ IDEA的小技巧快乐编程(2)
前言 本篇介绍的技巧为IntelliJ IDEA中自动代码生成相关的技巧,合理的使用这些技巧将大大提高的你的编码效率 :) Trick 6. 使用模板代码 idea默认的提供了许多模板代码,你可以使用 ...
- 扒一扒MathType不为人知的技巧
MathType作为一款编辑数学公式的神器,很多人在使用它时只是很简单地使用了一些最基本的模板,很多功能都没有使用.MathType功能比你想象中的大很多,今天我们就来扒一扒MathType那些不为人 ...
- Pycharm中一些不为人知的技巧
工欲善其事必先利其器,Pycharm 是最受欢迎的Python开发工具,它提供的功能非常强大,是构建大型项目的理想工具之一,如果能挖掘出里面实用技巧,能带来事半功倍的效果. 以下操作都是基于 Wind ...
- 关于软件IntelliJ IDEA的使用技巧(三)
二,IntelliJ IDEA的工具栏介绍 2,IntelliJ IDEA菜单栏 (9)Tools工具 ✌1.Tasks & Contexts: ✌2.Generate JavaDoc: ✌3 ...
- 关于软件IntelliJ IDEA的使用技巧(四)
二,IntelliJ IDEA的工具栏介绍 2,IntelliJ IDEA菜单栏 (9)Run运行 ✌1.Run'All Features in :src':运行scr中所有的特征 ✌2.Debug ...
- 关于软件IntelliJ IDEA的使用技巧(二)
二,IntelliJ IDEA的工具栏介绍 2,IntelliJ IDEA菜单栏 (5)code编码 ✌1.Override Methods:覆盖方法 ✌2.Implement Methods:实现方 ...
随机推荐
- 微软Power BI技术文章与资源目录
下面是本博客原创的微软Power BI技术相关文章,对于部分转载文章和资源,会注明出处. 本博客将发布基于微软Power BI相关的基础入门文章,视频教程等资源,敬请关注. 个人建立的Power BI ...
- SQLServer:什么是主键(PK)和外键(FK)?
一.主键与外键 1.主键是用来唯一地标识一行数据.主键列必须包含唯一的值,且不能包含空值(null). 2.主键可以建立在每张二维表中单列或者多列上. 3.一张二维表上的外键可以引用另一张二维表上对应 ...
- Chrome在302重定向的时候对原请求产生2次请求的问题说明
这个问题应该确确实实是一个Chrome的BUG,我在自己的编程环境中发现,并在多个服务器,多个编程语言的运行环境,以及多个浏览器下都测试过,都看到有2次请求出现.为了证明不是自己环境的问题,我也特意去 ...
- 2、C#核心编程结构
本学习主要参考Andrew Troelsen的C#与.NET4高级程序设计,这小节主要述说以下几个东西: Hello World的Main方法: 利用VS2010新建一个控制台应用程序Hello W ...
- Android5.0以下出现NoClassDefFoundError
事发起因 大周末的,突然接到老大的电话说很多用户无法安装新上线的APK,让我紧急Fix(现Android项目就我一己之力).但奇怪的是也没有Bug Reporter,而且开发过程中也一直没问题.根据上 ...
- ASP.NET Core 中文文档 第三章 原理(2)中间件
原文:Middleware 作者:Steve Smith.Rick Anderson 翻译:刘怡(AlexLEWIS) 校对:许登洋(Seay) 章节: 什么是中间件 用 IApplicationBu ...
- iOS: 为画板App增加 Undo/Redo(撤销/重做)操作
这个随笔的内容以上一个随笔为基础,(在iOS中实现一个简单的画板),上一个随笔实现了一个简单的画板: 今天我们要为这个画板增加Undo/Redo操作,当画错了一笔,可以撤销它,或者撤销之后后悔了, ...
- vue.mixin与vue.extend
vue.mixin 全局注册一个混合,影响注册之后所有创建的每个 Vue 实例.谨慎使用全局混合对象,因为会影响到每个单独创建的 Vue 实例(包括第三方模板).大多数情况下,只应当应用于自定义选项, ...
- 自己封装的一个原生JS拖动方法。
代码: function drag(t,p){ var point = p || null, target = t || null, resultX = 0, resultY = 0; (!point ...
- SQL SERVER 多数据导入
public bool CreateTB_PROPERTY_MODELLByList(List<TB_PROPERTY_MODEL> entity) { try { //将集合转换成Dat ...