草庐IT

java 17个IDEA最常用的快捷键 介绍及演示

Cyan_RA9 2023-07-10 原文

目录

一、前言

二、17个常用快捷键的演示:

        1.撤销和反撤销 : Ctrl + z 和 Ctrl + y (注意Ctrl + y)

        2.复制当前行(可多选): Ctrl + d

        3.删除当前行(可多选): Ctrl + e (非默认)

        4.移动当前行(可多选): Alt + Shift + ↑/↓

        5.移动页面 : Ctrl + ↑/↓

        6.向下换行和向上换行 : Shift + Enter 和 Ctrl + Alt + Enter

        7.行注释和段注释(可多选): Ctrl + / 和 Ctrl + Shift + /

        8.快速查看方法和属性的源码 : Ctrl + b

        9.补全代码 : Alt + /

        10.根据光标停留的位置移动光标 : Ctrl + Alt + ←/→

        11.跨单词移动光标 : Ctrl + ←/→

        12.解决错误、异常和警告快捷键(eg:导包,抛出异常对象等等): Alt + Enter

        13.自动规范代码格式 : Ctrl + Alt + l

        14.快速进入/退出终端(控制台): Alt + 4

        15.快速生成构造器,setter,getter方法,快速重写toString方法等 : Alt + insert

        16.查看类的继承关系 : Ctrl + h 

        17.快速生成接收变量名 : .var (两次回车)


一、前言

        我们先来说一说,如何查看并修改IDEA中的快捷键:首先在菜单栏的File一栏,找到设置(Settings)。如下图:(其实也可以直接快捷键Ctrl + Alt + s进入设置。)

        进入设置后,我们可以看到第二栏有一个Keymap项

        在Keymap项中,我们可以自由查找对应功能的快捷键,也可以修改或者删除它们如下GIF图所示,up分别查找一下删除整行(delete)复制整行(duplicate),以及撤销上次操作(undo)的快捷键:

        如何修改或者删除键盘快捷键呢?我们只需要双击,或者右键即可查看提示信息。 点击Add Keyboard Shortcut可以为该功能添加自定义的键盘快捷键,点击Remove选项可以删除当前定义的快捷键,而Reset Shortcuts则可以将当前功能恢复为IDEA默认的快捷键如下GIF图所示:

        当然,这只是演示一下如何修改快捷键,具体的效果我们马上就来。 

二、17个常用快捷键的演示:

        1.撤销和反撤销 : Ctrl + z 和 Ctrl + y (注意Ctrl + y)

        演示前先说一句:注意在IDEA默认下,反撤销和删除当前行的快捷键都是Ctrl + y,因此当你第一次按下Ctrl + y时,IDEA会询问你:“哈喽同学,你到底要哪个功能呀,选一个吧?”,当然实际可能不会这么直白,实际如下图所示:

        up建议大家选择Redo按钮,即Ctrl + y用于反撤销,因为我们常用的一些编辑软件,比如wps即是Ctrl + z撤销,Ctrl + y反撤销,包括我现在正写博客呢,CSDN的文本编辑器也是这样,下面给来张动图正式演示一下撤销与反撤销:(撤销即撤回自己的上一次操作,反撤销即撤回自己的上一次撤回,比如说你不小心写错了,你就可以用撤回快捷键,你不小心撤回错了,就可以用反撤回快捷键

        其实,不只是这种简单的语句问题,一个类的创建和移动,一个包的创建等操作,都可以通过撤销快捷键 Ctrl + z 来取消,当然,反撤销快捷键 Ctrl + y 亦是同理,我再放一张动图给大家演示一下,我们以包的创建为栗,up先随便创建一个包,再试着用撤销和反撤销删除、重建它,如下GIF图:

        2.复制当前行(可多选): Ctrl + d

        这是IDEA默认的,并且up也习惯于这么用,当然,如果你想更改,完全可以看自己习惯来。在Keymap设置栏输入duplicate即可查找并修改。演示如下 GIF图:

        3.删除当前行(可多选): Ctrl + e (非默认)

        刚刚我们已经说了,IDEA默认反撤销和删除当前行都是Ctrl + y,既然我们将反撤销选为了Ctrl + y,那自然而然删除当前行的快捷键就需要重新更改,此处我们将其改为Ctrl + e作为演示,当然这只是up个人的习惯,我觉得d和e挨着,一个复制一个删除比较顺手,大家按自己习惯更改即可。(PS : Ctrl + e本身是打开最近的文件,up将该功能设置为了Ctrl + r),如下GIF图:

        删除当前行演示如下:

        4.移动当前行(可多选): Alt + Shift + ↑/↓

        up使用频率很高的快捷键,强烈推荐! 

        5.移动页面 : Ctrl + ↑/↓

        字不重要,看图. 

        6.向下换行和向上换行 : Shift + Enter 和 Ctrl + Alt + Enter

        这里提前说一下,直接在语句中间使用普通的换行,即Enter键,会将句子折断,因此我们不得不先把光标移动到语句末尾,再使用换行键。那么如何解决这种烦恼呢?使用快捷键可以轻松帮助我们解决问题,只要我们在语句中间,按下Shift + Enter,就可以实现自动向下换行。而Ctrl + Alt + Enter则可以实现自动向上换行。

        先来错误演示(直接使用换行键)

        再来正确操作:

        7.行注释和段注释(可多选): Ctrl + / 和 Ctrl + Shift + /

        注释快捷键可以帮助快速建立注释。

        8.快速查看方法和属性的源码 : Ctrl + b

        该快捷键可以快速定位到当前属性或者方法所在类源码的位置。

        9.补全代码 : Alt + /

         当我们在使用某个属性或者调用某个方法时,有可能出现这种情况:敲代码敲到一半光标突然离开的原来的地方,这时候没写完的那部分代码就会变红表示报错,使得我们无法使用智能提示,我们往往会删掉重写或者接着补着写,但其实并没有那么麻烦,使用补全代码的快捷键可以轻松解决这个问题。

        先来常规情况下的演示:(我们在类中定义了一个demonstration方法,然后再main方法中调用它) 

        快捷键演示:

 

        10.根据光标停留的位置移动光标 : Ctrl + Alt + ←/→

        坦白讲,这个用的不算多,但是功能还不错,给大家做一个分享。

 

        11.跨单词移动光标 : Ctrl + ←/→

        非常实用的一组快捷键,可以帮助我们在单行中快速移动光标。演示如下:

        12.解决错误、异常和警告快捷键(eg:导包,抛出异常对象等等): Alt + Enter

        超级无敌牛逼的快捷键,使用频率也是相当高。演示如下:

        13.自动规范代码格式 : Ctrl + Alt + l

        初学者经常会由于经验不足,写出丑陋的代码,IDEA贴心准备了美颜神器,没错,这组快捷键可以快速整理代码,让你写出的代码美观整洁!  演示如下:

        14.快速进入/退出终端(控制台): Alt + 4

        这也是一个不错的快捷键,用起来非常方便!演示如下:

        15.快速生成构造器,setter,getter方法,快速重写toString方法等 : Alt + insert

        PS : (笔记本电脑可以Alt+Shift+小键盘0)

        这组快捷键在我们创建标准javaBean类时用的非常多。演示如下:

        16.查看类的继承关系 : Ctrl + h 

        该快捷键可以看到当前类继承了哪些类,还可以接着查看用图表示的子父类关系,演示如下:

        17.快速生成接收变量名 : .var (两次回车)

        压轴登场,爆炸,Crazy!

        好的,正经一点,这个快捷键也是用的非常多的。实用性很高,可以帮助我们快速生成接收变量。我们以Scanner为栗,先输入new Scanner(System.in)   然后再后面添加一个.var,敲回车就可以快速生成接收变量。注意第一次敲回车,它会问我们有一个对变量进行修饰的提示,若无需要,再次敲回车即可。演示如下:

System.out.println("END--------------------------------------------------------------------------"); 

有关java 17个IDEA最常用的快捷键 介绍及演示的更多相关文章

  1. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  2. java - 等价于 Java 中的 Ruby Hash - 2

    我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/

  3. java - 从 JRuby 调用 Java 类的问题 - 2

    我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www

  4. java - 我的模型类或其他类中应该有逻辑吗 - 2

    我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我

  5. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  6. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  7. Observability:从零开始创建 Java 微服务并监控它 (二) - 2

    这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/

  8. 【Java 面试合集】HashMap中为什么引入红黑树,而不是AVL树呢 - 2

    HashMap中为什么引入红黑树,而不是AVL树呢1.概述开始学习这个知识点之前我们需要知道,在JDK1.8以及之前,针对HashMap有什么不同。JDK1.7的时候,HashMap的底层实现是数组+链表JDK1.8的时候,HashMap的底层实现是数组+链表+红黑树我们要思考一个问题,为什么要从链表转为红黑树呢。首先先让我们了解下链表有什么不好???2.链表上述的截图其实就是链表的结构,我们来看下链表的增删改查的时间复杂度增:因为链表不是线性结构,所以每次添加的时候,只需要移动一个节点,所以可以理解为复杂度是N(1)删:算法时间复杂度跟增保持一致查:既然是非线性结构,所以查询某一个节点的时候

  9. 【Java入门】使用Java实现文件夹的遍历 - 2

    遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg

  10. java - 为什么 ruby​​ modulo 与 java/other lang 不同? - 2

    我基本上来自Java背景并且努力理解Ruby中的模运算。(5%3)(-5%3)(5%-3)(-5%-3)Java中的上述操作产生,2个-22个-2但在Ruby中,相同的表达式会产生21个-1-2.Ruby在逻辑上有多擅长这个?模块操作在Ruby中是如何实现的?如果将同一个操作定义为一个web服务,两个服务如何匹配逻辑。 最佳答案 在Java中,模运算的结果与被除数的符号相同。在Ruby中,它与除数的符号相同。remainder()在Ruby中与被除数的符号相同。您可能还想引用modulooperation.

随机推荐