Intellij IDEA 一些不为人知的技巧

2016/12/06 | 分类: 基础技术 | 0 条评论 | 标签: IntelliJ

分享到:38

原文出处: khotyn

今天又听了 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哈哈

文/khotyn(简书作者)
原文链接:http://www.jianshu.com/p/364b94a664ff
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

Intellij IDEA 一些不为人知的技巧的更多相关文章

  1. IntelliJ IDEA创建项目技巧(转)

    转自:http://www.myext.cn/webkf/a_2539.html IntelliJ IDEA创建项目技巧 来源:网络    编辑:admin intellij idea教程 首先我要说 ...

  2. 使用IntelliJ IDEA的小技巧快乐编程(1)

    前言 我很喜欢和别人讨论一些问题,有时候,在公司里,讨论这样的问题需要演示代码.常常会碰到的一种情况是(根据我的记忆这半年多来至少超过了10次),别人会打断你的演示,抛出一个问题:等等,你刚才的操作是 ...

  3. IntelliJ IDEA神器使用技巧

    说明:详情请参考慕课网课程:IntelliJ IDEA神器使用技巧:http://www.imooc.com/learn/924(感谢课程作者:闪电侠) 推荐: 1. 课程老师(闪电侠)IDEA快捷键 ...

  4. 使用IntelliJ IDEA的小技巧快乐编程(2)

    前言 本篇介绍的技巧为IntelliJ IDEA中自动代码生成相关的技巧,合理的使用这些技巧将大大提高的你的编码效率 :) Trick 6. 使用模板代码 idea默认的提供了许多模板代码,你可以使用 ...

  5. 扒一扒MathType不为人知的技巧

    MathType作为一款编辑数学公式的神器,很多人在使用它时只是很简单地使用了一些最基本的模板,很多功能都没有使用.MathType功能比你想象中的大很多,今天我们就来扒一扒MathType那些不为人 ...

  6. Pycharm中一些不为人知的技巧

    工欲善其事必先利其器,Pycharm 是最受欢迎的Python开发工具,它提供的功能非常强大,是构建大型项目的理想工具之一,如果能挖掘出里面实用技巧,能带来事半功倍的效果. 以下操作都是基于 Wind ...

  7. 关于软件IntelliJ IDEA的使用技巧(三)

    二,IntelliJ IDEA的工具栏介绍 2,IntelliJ IDEA菜单栏 (9)Tools工具 ✌1.Tasks & Contexts: ✌2.Generate JavaDoc: ✌3 ...

  8. 关于软件IntelliJ IDEA的使用技巧(四)

    二,IntelliJ IDEA的工具栏介绍 2,IntelliJ IDEA菜单栏 (9)Run运行 ✌1.Run'All Features in :src':运行scr中所有的特征 ✌2.Debug  ...

  9. 关于软件IntelliJ IDEA的使用技巧(二)

    二,IntelliJ IDEA的工具栏介绍 2,IntelliJ IDEA菜单栏 (5)code编码 ✌1.Override Methods:覆盖方法 ✌2.Implement Methods:实现方 ...

随机推荐

  1. 前端MVC学习总结(二)——AngularJS验证、过滤器、指令

    一.验证 angularJS中提供了许多的验证指令,可以轻松的实现验证,只需要在表单元素上添加相应的ng属性,常见的如下所示: <input Type="text" ng-m ...

  2. HTML5离线缓存(Application Cache)

    HTML5离线缓存又名Application Cache,是从浏览器的缓存中分出来的一块缓存区,要想在这个缓存中保存数据,可以使用一个描述文件(manifest file),列出要下载和缓存的资源. ...

  3. mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离

    数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了 ...

  4. Conversations is being developed

    Development Conversations is being developed on GitHub by a team of volunteers under the lead of pro ...

  5. 『.NET Core CLI工具文档』(十二)dotnet-pack

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-pack 翻译:dotnet-pack 名称 dotnet-pack - 将代码打包成 NuGet 包 概 ...

  6. α-β剪枝算法的java语言实现(非常实用)

    利用α-β剪枝算法,对下图所示的博弈树进行搜索,搜索得到根节点选择的走步,以及没有必要进行评估的节点,并求出给出在何处发生了剪枝,以及剪枝的类型(属于α剪枝还是β剪枝). 注:□表示MIN节点:○表示 ...

  7. 设计模式-代理模式(Proxy Model)

    文 / vincentzh 原文连接:http://www.cnblogs.com/vincentzh/p/5988145.html 目录 1.写在前面 2.概述 3.目的 4.结构组成 5.实现 5 ...

  8. Nuclear开始

    为什么Nuclear 这里列举Nuclear在竞品中的优势: 借助浏览器本身的机制,无任何代码约定和入侵 放心使用HTML+CSS+JS observejs替代EventLoop.requestAni ...

  9. iOS之获取经纬度并通过反向地理编码获取详细地址

    _locationManager = [[CLLocationManager alloc] init]; //期望的经度 _locationManager.desiredAccuracy = kCLL ...

  10. iOS之UI组件整理

    作者:神兽gcc 授权本站转载. 最近把iOS里的UI组件重新整理了一遍,简单来看一下常用的组件以及它们的实现.其实现在这些组件都可以通过Storyboard很快的生成,只是要向这些组件能够变得生动起 ...