目录
1.撤销和反撤销 : Ctrl + z 和 Ctrl + y (注意Ctrl + y)
4.移动当前行(可多选): Alt + Shift + ↑/↓
6.向下换行和向上换行 : Shift + Enter 和 Ctrl + Alt + Enter
7.行注释和段注释(可多选): Ctrl + / 和 Ctrl + Shift + /
10.根据光标停留的位置移动光标 : Ctrl + Alt + ←/→
12.解决错误、异常和警告快捷键(eg:导包,抛出异常对象等等): Alt + Enter
15.快速生成构造器,setter,getter方法,快速重写toString方法等 : Alt + insert
我们先来说一说,如何查看并修改IDEA中的快捷键:首先在菜单栏的File一栏,找到设置(Settings)。如下图:(其实也可以直接快捷键Ctrl + Alt + s进入设置。)

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

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

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

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

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

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

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

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

删除当前行演示如下:

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

字不重要,看图.

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

再来正确操作:

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

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

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

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

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

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

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

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

PS : (笔记本电脑可以Alt+Shift+小键盘0)
这组快捷键在我们创建标准javaBean类时用的非常多。演示如下:

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

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

System.out.println("END--------------------------------------------------------------------------");
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/
我正在尝试使用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
我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------
这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/
HashMap中为什么引入红黑树,而不是AVL树呢1.概述开始学习这个知识点之前我们需要知道,在JDK1.8以及之前,针对HashMap有什么不同。JDK1.7的时候,HashMap的底层实现是数组+链表JDK1.8的时候,HashMap的底层实现是数组+链表+红黑树我们要思考一个问题,为什么要从链表转为红黑树呢。首先先让我们了解下链表有什么不好???2.链表上述的截图其实就是链表的结构,我们来看下链表的增删改查的时间复杂度增:因为链表不是线性结构,所以每次添加的时候,只需要移动一个节点,所以可以理解为复杂度是N(1)删:算法时间复杂度跟增保持一致查:既然是非线性结构,所以查询某一个节点的时候
遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg
我基本上来自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.