每周趣图

产品经理设计体验/用户实际体验

本周就不写技术分析文章了,分享几个珍藏已久的 IDEA 的「骚技巧」,助你快速完成代码。

还等什么?赶紧上车吧......

先赞后看,养成习惯。微信搜索「程序通事」,关注就完事了~

前进/后退

我们使用浏览器的过程,可以点击后退查看之前的浏览记录。在 IDEA 也有同样的功能,当我们编辑代码时,点击查看了调用类实现逻辑,然后可以使用后退快捷键,快速回到刚才待编辑的代码处。

有后退,当然也有前进啦~

前进/后退快捷键如下:

  • Windows:Ctrl + Alt + Left/Right(方向键)
  • Mac: ⌘ + ⌥ + ← / →(方向键)

示意图如下:

查看历史记录

还是以浏览器为例,当我们已经点击很多网页,这时想查看之前看过一个网页,使用后退就会很费劲,需要一个个回退过去查找。这种情况下,直接从历史记录查看将会变得很高效。

同样的,IDEA 也提供类似的功能查看历史文件,并且在弹出窗口内可以使用关键键快速查找。

快捷键如下:

  • Windows:ctrl + E
  • Mac:⌘ +E

另外 IDEA 中还有可以查看最近修改代码的位置,直接点击快速跳转。

快捷键如下:

  • Windows:ctrl + shift + E
  • Mac:⌘ + ⇧ +E

小技巧

讲到这里,建议大家设置一个选项,限制标签页(Edit Tabs)数量。

默认情况下,Tab Limit 为 10,标签页只能打开 10 个,对于会按照打开顺序关闭。

如果打开标签页很多,超过一屏之后, IDEA 就会把标签页收纳起来,我们需要点击按钮才能查看打开被隐藏的标签页。

这种情况下,被隐藏的标签页大概率是不会被查看了,这种情况下还不如使用上面查看历史文件的快捷键查找高效。

自动补全代码

使用这个快捷键,可以自动补全代码末尾的分号,括号对等等,可以让我们少打很多字符。另外这个快捷键还会自动格式化完成的代码。

快捷键:

  • Windows:ctrl + shift + Enter(回车键)
  • **Mac:⌘ + ⇧ +⏎ **

自动补全分号

自动补全括号对

除了以上功能,大家可以在其他地方试试,说不准有小惊喜哦!

快速抽取变量

有时候新建了一个对象,忘记了创建了变量,就很麻烦,需要移动光标到前面,然后声明。

这种情况下,我们可以使用 IDEA 的重构功能-Introduce Variable

快捷键如下:

  • Windows:ctrl + alt + V
  • **Mac:⌥ + ⌘ + V **

除了这种方式之外,最近还学到另外一种方式,使用 IDEA 后缀补全(Postfix Completion)。

重命名

有时候手误会把边变量名拼写错误,等到自己发现时,这个变量已经被引用了多次,这时再修改,需要把所有引用的地方都修改一遍,这就很麻烦。

IDEA 重构功能-重命名(Rename),可以修改命名,并且一键替换虽有的引用的地方。

另外函数名,类名修改都可以使用这个快捷键。

快捷键如下:

  • Windows:shift + F6
  • **Mac: ⇧ + F6 **

GenerateSerialVersionUID

最后推荐一个插件-GenerateSerialVersionUID,安装插件之后,可以使用 IDEA Generate 功能,自动生成 随机的serialVersionUID

如果你们经常使用 Dubbo,这个插件可以省下很多事。

最后(一键四连呗)

知道你们还意犹未尽,可以看下小黑哥之前关于 IDEA 的文章,学习更多骚技巧:

  1. IDEA 小技巧之书签与收藏

  2. IDEA 日常小技巧

  3. 解决 IDEA 无法找到 java.util.Date 的问题

  4. 还不知道如何使用 IDEA 功能?教你三招掌握大部分功能

  5. 分享 IDEA 调试源码的小技巧

  6. IDEA Debug 无法进入断点的解决方法

  7. 为什么将 Intellij IDEA 作为日常开发的首选

  8. 崩盘,IDEA 2020 无法启动的解决办法|赠送 IDEA 2020 新功能

最后,最后,你还知道其他骚技巧吗?欢迎留言区来波评论!

欢迎关注我的公众号:程序通事,获得日常干货推送。如果您对我的专题内容感兴趣,也可以关注我的博客:studyidea.cn

6 个珍藏已久 IDEA 小技巧,这一波全部分享给你!的更多相关文章

  1. IntelliJ IDEA 18 周岁,吐血推进珍藏已久的必装插件

    IntelliJ IDEA是目前最好最强最智能的Java IDE,前几天,他刚刚年满18岁.  本文,给大家推荐几款我私藏已久的,自己经常使用的,可以提升代码效率的插件. IDEA插件简介 常见的I ...

  2. 国外价值10K+美金的Python面试题,珍藏已久,含泪放了出来

    兄弟们,没吹牛皮,一哥们在国外面试的时候,就是要他做的这个,直接给他说,做出来了给你15K(单位是刀),做不出来就拜拜~ 大兄弟当时就不服了,这不是看不起我么,分分钟就给整完了~ 我上我也行系列: 唠 ...

  3. 玩转Windows服务系列——Windows服务小技巧

    伴随着研究Windows服务,逐渐掌握了一些小技巧,现在与大家分享一下. 将Windows服务转变为控制台程序 由于默认的Windows服务程序,编译后为Win32的窗口程序.我们在程序启动或运行过程 ...

  4. 玩转Windows服务系列——Windows服务小技巧

    原文:玩转Windows服务系列——Windows服务小技巧 伴随着研究Windows服务,逐渐掌握了一些小技巧,现在与大家分享一下. 将Windows服务转变为控制台程序 由于默认的Windows服 ...

  5. Windows服务小技巧

    Windows服务小技巧 阅读目录 开始 将Windows服务转变为控制台程序 注册服务为自动启动服务 注册服务时设置服务的依赖关系 添加自定义命令行参数 自定义命令行参数演示 系列链接 伴随着研究W ...

  6. sql里的多行多列转一行多列小技巧

    ---恢复内容开始--- [ 今天下午接受了一个紧急小任务,是将一组比赛记录统计出来,将象棋游戏玩家的两条记录在一行里面显示,进数据库看之后是首先想到的是行转列,但是一开始就觉得不对,后来写到一半确实 ...

  7. Android——隐藏输入法的小技巧

    今天偶然在百度地图提供的DEMO里看到这样一段代码.认为确实是个小技巧,就写下来分享一下. 针对的问题: 我们在开发android界面的时候,常常使用EditText控件.然后每次进入这个页面的时候, ...

  8. 这几个小技巧,让你书写不一样的Vue!

    前言 最近一直在阅读Vue的源码,发现了几个实战中用得上的小技巧,下面跟大家分享一下. 同时也可以阅读我之前写的Vue文章 vue开发中的"骚操作" 挖掘隐藏在源码中的Vue技巧! ...

  9. 或许是你应该了解的一些 ASP.NET Core Web API 使用小技巧

    一.前言 在目前的软件开发的潮流中,不管是前后端分离还是服务化改造,后端更多的是通过构建 API 接口服务从而为 web.app.desktop 等各种客户端提供业务支持,如何构建一个符合规范.容易理 ...

随机推荐

  1. pip安装mysql-connector

    pip install mysql-connector --index-url https://pypi.douban.com/simple

  2. python基础001----Python+pycharm环境搭建

    一.Python下载安装 1.python下载-----下载地址:https://www.python.org/downloads/windows/ 在python的官网下载python版本,需要下载 ...

  3. cb27a_c++_STL_算法_最小值和最大值

    cb27a_c++_STL_算法_最小值和最大值min_element(b,e) b--begin(), e--end()min_element(b,e,op). op:函数,函数对象,一元谓词.ma ...

  4. selenium(6)-截取完整页面和指定元素并保存为图片

    截图操作 截取整个页面 截取指定元素 只有这2个方法 比较简单,见下图代码 from selenium import webdriver driver = webdriver.Chrome(" ...

  5. SLAM数据集序列图片如何批量处理

    SLAM数据集序列图片如何批量处理 原创:SLAM爬坑之行 引言:在SLAM学习过程中,有时候需要对大量的数据集比如TUM/KITTI等图片序列进行批量处理,这个时候需要用到opencv中的函数对图像 ...

  6. GitHub 热点速览 Vol.25:距离优雅编程你差个它

    作者:HelloGitHub-小鱼干 摘要:如何优雅地夸一个程序员呢?vscode-rainbow-fart 作为一个彩虹屁的项目,深得程序员心,能在你编程时疯狂称赞你的除了你自己,还有它.除了鼓励之 ...

  7. jni 字符串的梳理 2 字符串的处理操作

    我们实现下面的一个功能: 1.首先在java层传递一个字符串到c层,c层首先将jstring转换成char*类型,然后将两个字符串相加,然后再再将char*类型转换成jstring,在上层显示出来 我 ...

  8. 31_栈的分类.swf

    栈的分类: 栈可以分为静态栈和动态栈 静态栈:要删除先删除4才能删除3,以数组为数据结构 动态栈:以链表作为数据结构,在实际中使用动态栈比较多

  9. SpringMVC中Map、Model、ModelMap、ModelAndView之间的关系及区别

    首先,在了解这三者之前,需要知道一点:SpringMVC在调用方法前会创建一个隐含的数据模型(Model),作为模型数据的存储容器, 成为”隐含模型”. 如果controller方法的参数为Moedl ...

  10. 2020/6/10 JavaScript高级程序设计 BOM

    BOM(浏览器对象模型):提供用于访问浏览器的对象. 8.1 window对象 window是BOM的核心对象,表示浏览器的一个实例. JavaScript访问浏览器窗口的接口 ECMAScript规 ...