00:00
好,那么包装类呢,我们就告一段落了啊,那实际上的话呢,我们关于面向对象的内容啊,就已经结束了,哎,最后呢,我这又补充了一个内容,这个内容是关于idea的一个使用的。咱们在前面讲第四章的时候呢,实际上呢,已经讲过地儿了,只不过当时我们讲的时候呢,实际上呢,说了个上这个下呢。哎,其实没有讲这个下呢,主要呢,是涉及到了这样的几个内容。第一个呢是关于快捷键的使用,第二呢是关于叫debug,也就是我们如何去调试程序,然后呢,再下边一个呢,是idea中的常用的插件。那因为呢,我们在刚开始用idea的时候呢,这个快捷键这块呢,其实我们因为呢,使用的代码的场景还比较少,所以呢去给大家呢讲这个快捷键呢,似乎呢大家也会比较懵,加上我们用了几天之后呢,这块我们再去讲这个快捷键呢,大家呢,因为有诉求了嘛,所以这时候呢,你会感觉呢更诶。感觉更深刻一些是吧,然后另外的话呢,我们代码呢,也写了一些了,我们看一看如何呢,去调试程序。OK,所以呢,我们把这个这两个操作呢,放在现在这个位置呢,来给大家做一个讲解,在这个思维导图里边呢,也能看得到啊,就这个位置。
01:07
好,那么首先呢,我们来说一下这个快捷键的问题啊。快捷键的话呢,不用多去讲了,就是只要呢,你能够熟练的使用一些快捷键,一定是能够提升我们开发的一个效率的。好,那这快捷键的话呢,我是放在一个T里边了,呃,大家呢,你也可以呢,看下我们第四章这呢,我就放了一个专门针对于快捷键的一个列表,呃,你看这儿呢,也是一样的。看哪个都可以。啊,那么建议大家下来的话呢,你按照我接下来这样一个场景呢,一波一波的自己测一测,测的过程当中,实际上呢,你就自己在记忆这些快捷键开发当中呢,能够熟练的使用这些快捷键呢,一定能够提升你开发的一个效率,毫无疑问是吧。好,那么接下来的话呢,我们就来演示一下,这里边儿呢,我列的这样的几组快捷键啊。那首先呢,在这个k map这样的一个包下呢,我去新建一个类,方便呢,我们去演示一下这些快捷键。诶,关于它的一个测试了。
02:01
OK啊好,没方法进来。一波一波来,首先呢,我们来看这个第一波。我这儿呢,一边演示呢,大家呢,你也可以呢,自己同步的操作一下,或者你自己呢记一下是吧,也可以。第一波这块呢,就比较简单了。说呢复制代码这个呢,都不用说,这个操作的话呢,适用于我们基本上常见的一些编辑工具都是OK的,把它呢CTRLC一下,然后呢一换行CTRLV啊这叫做复制了。没啥问题,好,这个复制粘贴好剪切,这个呢也很熟,我们在这里边呢,假设定义一个变量的这个值是十,说这个位置呢,写的不对,我就可以把它选中CTRLX,这就剪切走了,我放成一个成员变量的位置。没问题。然后撤销,撤销的意思呢也很清楚,就是我们这个后悔刚才做的这个操作了,你就CTRLZ。你看这呢,我们就相当于又放回去了。哎,如果你诶后悔刚才操作了,我们就要撤销了,反撤销呢。
03:00
后悔,你刚才后悔的这个事儿了是吧。哎,那这块呢,叫做c shift z CR shift z相当于呢,把刚才这个撤销的行为呢,又给他返回去了,那我又放到这了。啊,应该还行,不太绕啊。后边这个呢叫做保存,这个保存呢,在其他的一些软件当中啊,这个意义呢很明显啊,这个呢就点一个。啊,这这个保存是吧,所有的保存呢,基本上都是CTRLS啊。只是在我们的idea当中,大家其实这个操作呢,可以忽略哈。就是一般的不用。啊,这块你可以发现呢,说诶这有这不有个保存吗?这个保存呢,这个基于两个场景,第一个的话呢,有些人有这个强迫症啊,总想着一个操作的过程当中自己点一下,那这块给你一种方式让你点。啊,让你舒服一下是吧,另外一个的话呢,就是万一呢,这个idea呢,要是卡死了怎么办呢。是吧,系统的问题卡死了,你说现在还没保存,那我们相当于强制调一下这个保存的操作了。诶有这样的作用,但是正常来讲,我们写代码呢,其实你不用去管了,因为呢,实时的这个idea呢,相当于都会给我们做一个保存。
04:04
这个呢叫全选啊,A呢就是all的意思了,在其他的软件当中,其实也是这个功能。啊,这呢就比较简单啊第一波,然后呢,我们接着来看这个第二波能够提高提高我们这个编写速度的。啊,这呢,我稍微的把它放小一点。好了,哎,大家呢,你看不清没关系,你就看我操作就行了,第一个呢,叫做智能提示叫alt加enter,其实呢,我们也没少用啊。比如说呢,在很多的场景下呢,我们都可以去使用,举个例子,我这呢,创建一个对象。啊,这个对象呢,放到这个位置的时候呢,我们就alt回车了,然后呢,再默认的你再回车,就会帮我们的去生成这样的一个变量了。啊,没啥问题啊,这是一种场景,诶再举一种场景,比如这个呢,HR呢,我把它呢,诶提升成是一个object类型的,这呢是一个多了,然后呢,我再把这个obg呢强转成一个字符串。那很显然呢,这个位置呢,就会给我们报错,因为呢,你这是一个负类类型呢,复制为一个此类类型,这块呢默认是不允许的,它呢会打一条红线啊,然后这个红线的话呢,你说这出什么问题了,你可以out回车一下,相当于给我们做个提示,这块呢,诶说你可以做一个强转是吧,这个你再做一个回车。
05:17
哎,就做这样的操作了,这个呢,就叫做al加enter。这个呢,操作我们很多时候呢都可以常用,包括呢,有的时候呢,这块报一个红了,你ctrl alt加回车一下,也会给我们显示相关的一些信息啊。好,下边这呢叫提示代码模板叫CTRL接啊,这个呢,大家其实不用也没关系哈,就是CTRL接的话呢,就把我们这个在啊设置当中呢,涉及到一些模板呢,都给呈现出来了。那其实这个意义不是特别大。那一般呢,我们常用的一些,比如这个s out,我们一般都记得住啊,你直接调就行了。这个就过了,下一个叫使用叉叉叉块进行一个环绕,这个我们在后续的当中,比如说呢,我们处理异常啊,包括我们讲这个线程的同步啊,到时候我们用这个呢,会比较多一点,现阶段呢其实也能用。
06:04
比如说针对这个代码的话呢,我们想让它循环几次。啊,这个时候你可以用这个叫control加T。啊,CTRL再加个T,你先把你要环绕的这个代码呢,你先给它包起来啊,可能一行也可能多行,我这呢就只包了一行,把这个代码呢,我们可以使用一个,比如一个for循环是吧,我们给它包起来啊int一个I呢等于一是吧,I呢小于等于10I加加。哎,就给包起来了。那以后的话呢,我们可能也会去用到这样的结构,比如说我把这两行包起来,CTRL加个T,下一章呢,我们就会讲这个异常,咱们就可以把这个代码呢,我们使用try catch呢给它包一下,表示呢,就是它如果有异常的话呢,我们在这呢进行一个补货。啊,相关的这个处理方式的话呢,这个你就先先这么着吧,啊,咱先不去具体研究。嗯,那下一章我们讲到异常处理的时候呢,到时候我们就会用这样的一个快捷键啊,Control的T。下边这个呢,我们其实已经经常去使用了,Outt加insert生成盖set,包括构造器,包括呢to string equal方法,诶相对来说比较熟悉,简单的演示一下,这呢,我们有个类呢,叫做person类。
07:10
词质类型的name int型的age,这两个属性呢,我们声明为叫private。好了,然后呢,我们去,嗯,生成当前这两个属性的盖赛方法,这不就alt加insert吗。哎,你说只要get或者只要set,你就选上面这个啊。针对他俩都要我们就这样选了,构造器的话呢,这个我们之前也没少用哈,第二热它两个参数的,哎,这就生成了,包括呢,这里边还有这个叫哎吐斯,还有那叫ecos哈西code的,像这几个呢,都属于我们比较常用的。就上边这些行,这个呢我就不多说了,咱们已经用的是比较熟了,下边这呢叫自动生成返回值的变量,CTRL加V。啊,这个呢,其实对应的是这样的场景,比如说。啊,举个例子啊,哎,我们就拗一个string吧,还是。这个扭完以后的话呢,刚才我用al enter的时候呢,你必须光标呢,放在我们这个小括号和分号之间啊,我al加上enter,哎,试图呢,让我们去得到一个返回的一个变量了,哎,那其实你要光瞄在任意一个位置,这个时候你还可以调呢,叫CTRL加V哈。
08:15
那这个V呢,就是variable的意思,直接呢,就帮我们去生成这样的一个返回值了。啊,也挺方便的,包括你看我们去new一个data。啊,Data是一个日期了啊,这块呢,是因为它有多个包下都有这个data了,但是不影响我们这块还是CTRL加个V,你看还是给我生成了。但这块该报的还是会报是吧,这个你给他导一下包啊,用的YouTube的就这样。这个呢,就生成这个变量的返回值的啊,就它。下边这个呢,叫复制指定行的代码叫CTRLD啊,这个咱们也没少用啊,CTRLDCTRLD啊,这就是复制的意思了,然后删除呢,这个叫CTRLY啊,这个时候CTRL,我现在光标呢,在这一行CTRLY一下就删除了我这个,呃,这一行呢,带上了一个上面这一行。就带了个小尾巴,这时候你看我CTRLDCTRLY。
09:02
直接呢就也干掉了,就是凡是在我这块呢,涉及到的这个行呢,我CTRL外就全部删除了。像这个呢,原来我用用这个eclipse eclipse delete。在这里边这个D呢叫wlic。就是复制的意思了。啊,我是感觉他这个CTRLY呢,这个设置的一般,为啥呢?因为代码里边,其实我们有时候也经常会用CTRLY这个呢,Y跟这个CTRL离得挺远的。啊,尤其可能一些女生的一个手比较小是吧。从这个怜香惜玉的角度来讲呢,这个差点意思是吧。怎么整个Y呢,莫名其妙的啊。好,然后呢,下边这个呢,叫切换到下一行代码的空位,Shift加回车。这个咱们其实也见识过了啊,比如说我在这个位置。诶光标呢,我可能在任何一个场景,突然呢,说我现在呢,需要呢,在它的下一行呢,去写代码了。
10:00
现在光标呢,注意是在这儿的啊,你要一点回车不就成这样了吗?不合适啊,我那就shift加回车。哎,光明呢,就掉到下一行了。当然了,也不排除呢,我们在写代码当中,比如说你在调个方法,这个方法有参数,这个参数呢,你发现呢,对象还没创建呢,那你得前面去创建,诶这个时候你直接呢,就是ctrl alt加回车。啊,就光标就调到上一行了,你如果按住CTRL加回车,你看我一直点回车,它始终呢,这个是在我们开头的这个位置。啊,这样啊,好这些呢,我就把它删掉了,CTRLY一下。好,这两个操作的话呢,其实。啊,也是比较常用的。啊,就省着你拿鼠标呢,说我这块再点到这儿是吧,我回车一下,或者你光标得点到这儿,再回车一下,切换到上一行或下一行,这个就很慢了,所以用快捷键的好处呢,其实就是避免你老用鼠标啊。然后呢,下边这个呢,叫向上移动代码。啊,这个呢叫c shift上向下移动代码叫CL shift下啊,比如说啊咱们的这一行代码吧。
11:04
嗯,Ctrl shift上我就往上移了。有时候这个代码的话,你说生命的位置有问题,我们就直接这样去移,但是移动的话呢,你看它有个限度哈,到没方法的话,它就上不去了。相当于呢,它就只是一个由变量是吧,往下移的话呢,你看这个到这儿呢,那方法这块也出不去了。所以说这个时候呢,它的移动范围呢,是有限的,Control shift上或下,然后另外呢,还是一个移动叫al shift上或下,我呢更喜欢用这一组,因为呢特别的自由。看out加shift的上或下,此时的话呢,我再往下还能出来,再往下还能出来。你想去哪都行。啊,天高任鸟飞,你看想去哪儿都行,这这到头了,这不能再找了,往上的话呢,这也是一顿走。出来没方法也行,你都可以到注释里边。啊诶,我觉得呢,相对来说我更喜欢用这个啊,就是更灵活一点,你想往哪放,比如我这是一个这个局部变量啊,这个局部变量你要用这个ctrl shift上的话呢,它就到头了啊,但是你要用out shift上的话呢,它还能出来。
12:08
哎,这样就行,那你看这个格式不对,那顺带呢,我们后边会讲一个ctrl alt加个L是吧,一条格式这不就好了吗。没问题啊。好,然后再下边呢,叫方法的行参列表的题型,CTRLPP呢就parameter。这个呢,我们前面已经用过了,比如说就争议它,我现在呢想调string的这个构造器,现在呢这块呢已经不提示我参数了,我就CTRLP一下。这呢就把它的所有的构造器呢都列出来了,你看你想调哪个啊,你就相应的写一下就可以了,这呢是我们说的这个这一组啊,然后回过来接着我们来看。下一组这个仍然是提高这个编写速度的,因为太多了,我就分成了两组了。好,第一个所以叫叫批量修改指定的变量名,方法名,或者叫类名,这叫rename了,这个操作呢,其实不仅局限于我们当前这个代码了啊。
13:00
在我们这个文件这块呢,也同样的道理,比如说这个文件的话呢,我们现在想改名了,诶其实呢,我们可以呢,就右键叫factor。啊,这有一个叫。嗯。再来一下啊,有个。这个呢,他还没有。这叫name这个file了是吧,所以这块我们是改这个文件名啊,这块呢,你看不出来了,然后你要是在这儿的话呢。诶,我们这时候你看再去这个name就能看到我们改的是这个是吧。Shift加F,其实呢对应的就是它,然后呢,你要在我们这个代码层面的话呢,我们改的不是这个了,我想改的是具体的这个变量。嗯,举个例子啊,你比如我们在。在这块吧,我这是声明这个itr,然后呢,我们在这块呢,比如说IT2呢,我就加,等于我就写个123这块呢,再去打印一下这个itr,说白了就是这个itr呢,我们在多个位置呢使用了它了,现在我想把它的名呢,统一的去做一个修改,这个你就可以shift加上F6。啊,ST2123吧,你看都跟着全都改了,凡是用I2的位置全部改成I2123啊。
14:08
回车一下。就是批量修改的意思。啊,就这个意思啊。好。对,刚才那个呢,是咱们线上的同学这个网的事儿哈。行,现在应该是好了。OK,那这块呢,是我们说的它了,第二个呢叫抽取代码重构方法,Ctrl out加MDM呢就是master的意思。它的运营的场景是这个,比如我们有相关的这个代码,举个例子,就这一波吧。呃,就像我们前面的写这个排序的时候啊,呃,比如说这个升序啊降序啊,最后需要呢,交换这个两个位置的代码,呃,这个变量了,这个呢,我们其实可以把它封装成这个方法,这个封装呢,就不用你自己呢去先造个方法,把它CTRLX再拿过去了,直接呢,你就把相关的代码呢给它一包啊ctrl alt加一个M。呃,直接呢,就把它封装成是一个方法了,这个比如我们就起名叫METHOD1拉。
15:01
诶就这样个场景,然后因为呢,我们又用到了上面这个IT2了,所以呢这呢自然而然的就把它呢,作为一个参数呢,给我们传进去了。啊,因为呢,咱们是在main方法里边直接调的啊,所以它还自动的把这个呢,加了一个static,根据实际情况,你看你是需不需要static,你再处理一下就行。那因为呢,这个方法呢,一般我们都是内部用哈,所以默认呢,它也写成private,你要想让它外部也用,你就改成public就可以了。这个呢,是我们的第二个啊。然后下边这个呢,叫重写负类的方法,前面我们也稍微的演示过,比如说这个这块呢,我们去加上两个方法吧。啊,方法体我就具体的先不写了。哎,我再CTRLD一下,这呢,我们改成叫sleep,诶这俩方法,诶,然后呢,我们再来一个子类啊,比如叫student。让他呢,去继承于咱们的这个person,诶这么着了。啊,基成呢,这块呢,其实这个构造器的事儿了。咱们在复类这块呢,给它整一个吧,Alt加inser的啊,整一个空态的构造器,呃,先不让它报错啊。
16:02
好这块好了以后的话呢,如果我们这个子类呢,想去重写复类中的方法。啊说重写方法墙重写哪个啊,以前的时候我们就直接呢CTRLC一下。然后你粘过来去重写,那万一要这个方法多呢。哎,我们就可以呢,在这个位置,这个我们叫CTRL。O是吧,O呢叫over red啊,这个时候呢,它会把所有的我们可以去重写这些结构呢都列出来了。Present类呢叫object object也给我们列出来了,所以呢,比如说啊,我们现在想重写这个E的方法,接着呢,还有你就按住CTRL键,Sleep也重写一下,To的话也重写一下,把这三选中UK。就都过来了,默认的话呢,就先调类的,然后你再去改这个方法体就可以了。这呢是关于重写负类中的方法,那接口里边呢,有抽样方法,我们要想实现的话呢,这个叫ctrl I。比如说在这儿呢,我们整理啊。啊,Interface来一个A。啊,这呢,我们比如来一个word method1,哎,这呢是一个除方方法,再来一组。
17:03
BB。哎,O的这个method,哎这个我们叫二好,这呢是两个抽方法,我们让这个student的话话呢,去implement一下这个A和BB,此时的话呢,显然是有抽象方法的,我们要重写啊,诶你只需要呢把光标呢,比如说调到这儿,你看你想写到哪啊,你要写到后边,你就放到后边这啊这个呢叫要ctrl ii呢就是implement。他们默认的话呢,就会把当前你能够去呃,实现的这个接口的这个双方呢,都给我们列出来了。那你说我就只想呢,去实现这一个,那你就选这一个,然后点OK,只不过呢,这时候你实现以后的话呢,他还有这方方法,所以还可包。啊,那建议的话呢,你这块呢,一般啊,咱们control的时候呢,就会把这个呢都做一个实现了。哎,就这样啊。好,这个呢我们叫ctrl I,然后下边这呢叫选中的结构的大小写的一个切换啊,这个呢叫U是吧。诶,这个对应的是这个场景,你比如说我们,呃,上面写的这个。
18:02
啊,比如说这个number吧,它呢,我们加了一个final啊。相当于它就变成个常量了,呃,常量的话呢,我们就可以选中它呢,这个叫ctrl shift加个U啊,U呢,你可以理解成叫up啊。就变成这个大写了,然后你在ctrl shift加个U,这就大小写之间来回切换。哎,就这个意思。其实像这个的话,你。记不住就记不住,自己写上也行,也也不多费事是吧?好,下边要批量导包哈,这个咱们就可以忽略了,因为呢,咱们设置过相应的设置就自动导包了,所以这个呢就不用管了。嗯,OK,那在这个eclip当中的话呢,没有这种自动了,你就得需要呢,自己去每次用一下相应的快捷键了啊。好,这个呢,就结束了,是这一波,然后接着。还挺多的啊。来看一下这个。诶,回过来啊。诶,这个呢,对应的叫如何查看源码。啊,这呢,咱们是想说的呢,对应的一些类结构啊,查找呀,查看源码呀,相关的一些这种行为。
19:06
这呢,咱们后边呢,也会经常的去使用的开关源码的话呢,一方面比如我们想看下这个string的源码,这个string呢,在我们代码当中已经使用过了啊,所以你直接按住CTRL键呢,一点它就变成双链超链接了哈,一点它就过来了。这是他源码,或者说你想想想看他具体的某一个方法了。啊,这块我还倒没有具体去写了啊呃,比如说我们在这个位置,呃,显示的咱们比如第二个to string啊,我想看一下这个string当中这个to string方法怎么写的,这个方法呢,已经是能够呈现给我们了,你还是按住CTRL键L呢,直接点一下它就进去了。咱们前面也没少用啊呃,但是呢,现在我们要是想查看的这个源码呢。不在我们当前这个代码当中。比如说我现在想查看一下这个。嗯,随便我举个例子啊,后边我们要讲的那个叫比如说哈希map是吧,看一下这个源码,它不在我们当前这个代码里边了,那你只能是CTRLN了。
20:02
哎,CTRLN一下。啊,就在这儿呢,乘以A就刚才是。在这是吧,这就呈现给我们了,然后在这个位置上,你就写一下你想看谁。嗯,有时候呢,这块呢,它默认的是呈现的是这个结构哈,可能就没有了,所以你把它显示调成叫all places。所以呢,这个呢,呃,源码我们如果呢,在当前的这个功能下呢,不同的model下呢,使用了不同的这个版本的JDK了,它会都给我们列出来啊,1.8我用过,17也用过,所以你看一下你想看哪个啊,你就点一下就行。好,然后呢,进来以后的话呢,我想看的是具体的某一个方法了,这个呢,CTRL f12。你想看构造器呀,还是想看方法呀,还是想看一些常量啊,属性啊,那就都可以,块有点多,你要自己找呢,也挺累的,这块其实它也支持一个搜索啊,你不用去点某个按键了,直接写就行,比如我们想看下这个put方法,你就直接写put就行,这块呢,你看就找到了,你直接一点就进来了。哎,就是这样的方式,我们以后呢,看源码的时候呢,会经常的使用这个操作的。
21:04
再接着啊,这个呢叫退回前一个编辑的页面,进入到下一个编辑的页面啊,Ctrl out加左,CTRL加右啊这个是什么意思?哎,我举个例子啊。比如说我回过来。啊,我这样呢,给大家做一个演示哈,嗯,以后的话呢,我们会看这个源码,看源码的时候呢,我们会有这样的这种场景。哎,我就先把这个对象呢,先造出来了。好到这以后呢,我们通过这个map呢,我去调一个方法啊叫put,我就先写一个哈,比如叫Tom这个,诶考了这个89分啊,这个细节呢,大家先不用去关注。哎,现在我想演示这样的事儿,我呢先按住这个CTRL键,咱们这个呢就变成超链接了,诶我一点这不就看源码吗。看源码的时候呢,这块我们进到put里边,诶说它这里边又掉另外一个方法了,那么再按住CTRL键再点一下,这不就到这儿了。然后我们就开始诶分析这个源码怎么着怎么着,其中呢,你发现呢,它又掉了一个调size的方法,那我按住CTRL键呢,再一点不就放到这来了吗。
22:03
啊,你就看看看看是吧。虽然看着有点想哭了,就是吧。写的有点多哈,行,细节先不用管哈,总之呢,比如说这块我我看完了也理解了,我现在想回去。回到我刚才调re那个位置。怎么办呢?哎,就是刚才我们看到叫ctrl out加左是吧,哎,你看CTRL加左,哎,我不就回到了这个位置了,然后这个位置呢,是在我们put VR里边掉的put v,我看完了,我想再回到哪块掉put v了,在CTRL加左。这不就回到这儿了吗?如果回来之后你发现,诶诶,我还想再回过去再看一下,你再control加U。这不又回过来了,然后再control加U,这不又回到这儿了。所以呢,就是前后这样去切换啊,这样个情况啊,然后呢,它完了以后呢,这块有个叫out左out右它呢是这个意思。你看我们现在的话呢,这不是有几个咱叫tab吧。
23:00
这个几个标签哈,呃,Out左右呢,就是切换这几个标签的,你看。啊,就这个意思。其实这块呢,你用不用都无所谓,自己点一下也行是吧。OK啊。好,这个呢我们就过了,然后接下来呢,叫光标选中指定的类,查看继承数的一个结构叫CTRLH。CTRLH就这个意思,比如说这个韩信map,诶,他呢,父类是谁呀?啊,有没有实现的一些这个,呃,这个实现接口这个事儿我们一会儿再说啊,啊,那涉及到这个,呃,下边这样的一个ul关系图了啊,先看这个所谓的复类的这样一个情况,我们把光标放在这儿,我直接CTRL加一个H。那他会在这面列出来说呢,你这个哈希map呢,是在这儿的。呃,然后呢,你的父类呢是它,哎,然后呢,你这个父类的父类呢是它,诶汉依麦的话呢,你可能还有子类,哎,正常是常见的一些子类。就整个呢,查看它的一个继承数的一个关系。啊,你像我们这个讲过这个包装类了啊。
24:02
哎,New一个这个TE啊,比如这块我们就写个十了是吧,然后这的话我们CTRLH一下,它的复类呢是number number呢又集成object。那就这样一个继承数的一个关系就能看到了。哎,这不就在这儿隐藏着呢啊。这个是它下边这个要查看方法文档,嗯,它是这个意思哈,嗯,其实这个呢,你用不用呢也都行,我们把光标呢,放在这个put这块,稍微你等一等,它就会呈现出来关于这个方法的一个说明的文档。其实就是文档注释的这个信息了。就是你把光标呢放这,你稍微等一等就出来了啊,因为我现在不想等,我就光标放在这儿了,我可以呢,直接CTRL加Q。啊,一点就出来了,这就他。啊,就咱们讲的这快件里边呢,其实挺多的啊,有一些呢,大家呃,用的频率比较低的,你就当我说一下就完了,你也不用刻意的记啊。好,下边这个叫类的ul关系图,CTRL加上一个。U是吧,U呢就是ul的意思了,比如说我们这个哈奇map啊,Ctrl out加个U。
25:03
哎,这块你看就列出来了,说呢,你这个哈奇map呢,你的负类呢,是它这个负类呢,还实现了这个map接口了,你自己呢,还实现了这样两个接口,就是整个呢,把它的复类啊,这个实现的接口啊,哎这样的一个图示呢,就给我们列出来了。那真的是ul的一个叫关系图啊。诶,行。在后边呢,叫定位某行啊,叫CTRL加一个GG就是动啊。嗯,它呢,其实适用于我们这个代码量比较大的场景,像咱们这块呢,就。嗯,100来行是吧,你要在这个哈希map里边,这个代码量你看就相当大了。诶,如果你想快速定位到某一行,CTRL加个G,我想到这个1000行的位置,直接给我来个OK。啊,一下就蹦到1000行的位置了。哎,就是快速的定位代码啊,指定行的啊。过了啊,这个呢叫回溯变量或者是方法的一个来源啊,CTRL加alt加个B啊,比如这块你看我就定位到这儿了,这有一个table嘛,这个table这是在哪声明的呀。
26:03
是吧,你就用这个叫CTRL加个B。加个B是吧,一走啊,他最初呢,是在这块声明的。啊就这样啊,尤其呢,在我们使用相关的这种呃程序的时候呢,你在互相类之间的彼此调,可能还挎包去调,然后某一个变量在哪声明的呢?啊想找一下直接你就用ctrl out加个B就可以了。下边这个叫折叠方法实现啊,叫展开方法实现,Ctrl shift减ctrl shift加,那这个呢,我们以源码为例啊,这里边你看它有好多方法,默认的它都是一个打开的状态。啊,如果你想把它们折叠起来啊,Ctrl shift减号。啊,全部呢,都折叠起来了。啊诶,Ctrl shift加号啊,全部的就打开。那就这样一个场景啊,行这个呢,其实大家也是熟悉熟悉就行啊。再回来。嗯,这个我们这波讲完了啊,该这一波了。
27:02
啊,再定一下啊好回过来这个呢,叫查找指定的结构CTRLF啊,这个呢,其实我们平时呢,也算是比较常见的啊嗯,咱们自己的代码比较少了,咱们看源码吧,比如说在这源码里边呢,我们想看一下这个所谓的table啊,它都在哪些位置去使用了。那这个时候呢,你就可以CTRL加上一个F去搜索一下,这个叫table啊。好,然后呢,在65个位置找到了,当前我们是在第40个位置,你可以这块看一下这个变量呢,它都在哪用了。啊,追踪一下这样一个场景,F呢,就是的意思,其实我们在word当中啊,在这个T当啊,其实都支持这个CTRL加F的操作啊,类似于CTRLCCTRLV。啊,这是它,然后下边也要查找与替换,叫replace啊,这叫替换的意思了,替换比如拿咱自己代码来说吧。这里边呢,你比如说咱们拿谁来说呀,拿这个map吧,我现在想把这个map呢,想给大家改改名是吧,然后呢,你就CTRL加一个RR呢就是replace的意思了啊。
28:00
啊,这块就有这个map了,诶这个你比如我就写它是吧,诶他这一共找到了好几个位置,想改成什么呢?改成叫MAP1。哎,想改它好,这个呢,改的时候呢,你看目前呢,是在这块,你说改不改,改replace一下,诶碰到这了,这改嘛,这个不能改是吧,你下一个到这儿了,这个得改一下。呃,然后再往后。啊,这个位置,比如说不想改就不想改。那这个你就这样自己呢,可以选你也可以呢,说全部都替换。根据实际情况,你看到底想怎么操作啊,这个呢,就是一个replace。然后再下边这个呢,就说定位到代码的首行或者末行,这个其实可用可不用哈,像现在这个光标在这儿呢,我点一下这个home键跑到这个行首了,然后呢,点一下这个摁呢,就回到这个行尾了。这个其实。这个不用也没啥关系啊。下边这个叫全项目的搜索文本,这个挺帅的啊。这个什么意思呢?叫ctrl shift加个F。啊,Ctrl shift加F哈,出来个它。
29:01
哎,出来个它啊,比如这个呢,我写个叫HR。你看好多位置都有。啊,很多注意我现在这个itr呢,我是在整个当前的工程下找的。凡是带着这HR,而且还是忽略大小写的情况,他就。全部的都给我们列出来了。所有位置都找了,都找到了,你说我这块呢,用不着,我就想定位某一个module,你可以选这儿哈,哎,在某一个这个module下,我们看一下呢。诶,你是在哪些位置用到了这个str。啊,这个呢,就是我们在一个项目当中,比如说你定一个相应一个变量,咱举个例子啊,比如说咱们写一个person的时候呢,一不小心给写错了,叫P啊on了。啊,举个例子啊,写错了,然后后边呢,这个发现,哎呀,这person这么简单一个单词都给写错了,有点太过分了啊这个你看你在哪些位置都用过啊,你可以呢,这块呢去搜索一下。哎,找一找啊OK。行,这个呢,就是它。然后呢,下边这块。
30:02
哎,终于要结束了是吧。好,这个呢叫格式化代码,CTRL加L,这个我们都比较常用了啊,比如说这块代码这个有点乱了,现在的乃至说呢,像这种都没有这个中间有个小间距了啊ctrl alt加一个L。直接就给我们调整好了格式化代码。当初是。哎,这个这个多行注释啊,这个比较简单,把这三行代码,这个单行注释,只要你挂一个小挂个边就行啊。这个时候呢,就凡是呢,你涉及到了啊,这个相应的行CTRL加一个斜线啊,就全都给我们注释了,CTRL再加斜线呢,就都解开了。就这意思,然后这个多行注释这块呢,就是c shift一个斜杠。比如说这块这块你处理的时候要小心一点,比如我这块选择它哈,你要是ctrl shift加这个斜杠呢,它就只把你选中的这个呢给加了。不会说这一行也加了啊,接着在ctrl shift加斜杠呢就恢复了,也就是说呢,你要想把这几行都给它用多行注式的话呢,你得选全了。
31:02
哎,这样才行啊。好,下边这个叫tapb键,就是整理后移,CTRL呢呃,Shift加type键呢就整理前移,这个比较简单啊,比如这个代码的话呢,我们点tap键整理后移啊,Shift加tab键呢,就整体前移。就这样就行。完事。哎,那这样的话呢,咱们把这个快捷键这块呢,就给大家呢,都过了一下。其中呢,有一些呢是比较常用的,常用的话呢,咱们后续呢,写代码过程当中,每次用到的时候,我也会说一下啊,然后建议大家呢,你下来你就跟我一样,你自己呢都跑一遍。哎,这个跑的过程当中啊,其实你自己呢,也就不自觉的在记了啊。好,这是一个事儿,呃,那么这些快捷键的话呢,诶我们是在哪儿呢?说最初呢,你说我这个课件这是我做的啦,我我怎么做的呢。哎,常用这个操作呢,是怎么找的呢?哎,其实这块呢,就涉及到了我们这个设置是在哪了啊,这个有一个叫settings。诶打开打开以后的话呢,我们上面这就有专门的一个选项啊,就叫做key map。
32:04
这就是快捷键。哎,像这个idea这块件呢,其实呃,我还是也花了一些时间去适应,为啥呢?因为在早之前呢,我都是用E开发的啊。快捷键呢,跟他的不太一样。所以呢,我切换成idea的时候呢,我最初的时候呢,其实是把eclipse快件呢,全部移植过来了。啊,那现在的话呢,其实也不用刻意的去移植在这个k map这块呢,你看它有一个选项哈,这呢就叫做。也就是说呢,如果我们再过来的时候呢,假设呢,你用的eclips比较熟了,反正那个快捷键呢,是咱们个人自己用哈,你用什么快捷键跟别人也没什么关系,你说我就想还用我eclipse那套快捷键,或者说呢,我这个项目是用eclips的,我另外一个项目呢,是用idea的,你要是快捷键寄两套就整混了。我就可以呢,改成eclipse,你点一下就OK,这里边的快捷键呢,就都是eclipse的这个套路的。那你也可以呢,可能说呢是用过像net bes,大家可能没听说过啊,这是在早之前,呃,这个跟ecl去PK的,也是能做Java开发的这样一个开发环境啊,包括呢suble啊,包括Vs code。
33:08
啊,一些这个开发环境,哎,如果呢,你用过相应的那些开发环境,想快捷键的都跟他们一样,你就选择下边这个就行。说我这里边儿没有列出来。其实呢,这块我们列举的这些啊,也是以插件的方式来体现的。那你往下找。应该是就叫map。在这儿你看。你会发现呢,我们刚才说的nets也好,呃,Vs code也好,包括E也好,它其实也是以插件的方式呈现的,如果你用过一个开发环境说挺好用的,然后我这块想用它的快捷键,你这块搜一下看有没有。哎,如果有的话,你装一下,装完之后呢,你在这块呢,去选一下就可以了。是这个意思啊好,那么建议大家如果刚开始你也没有接触过别的一些环境,那推荐呢,我们就直接呢,适应一下idea自己的这种快捷键就可以了。啊,所以你直接选window,这就自己的啊,好,这是我们说的一个事儿,呃,另外的话呢,就是说刚才的这些位置。
34:03
对应的这个啊操作是什么,快捷键是什么,它呢,其实也能够去修改的,怎么改呢?啊是这样子的啊,还是找到我们这个settings,然后在这个位置,你看有个搜索,这个位置也有个搜索,有什么区别呢。哎,区别就在于说呢,你是,诶从左边找右边还是从右边找左边。假设的话呢,我们是想从右边找左边。哎,那你就点这个。比如这块呢,我点一个叫C。CTRL。D吧。CTRLD呢叫复制啊,这块你就直接不用写啊,你就直接操作就行,我输入CTRLD以后,它就会列出来呢,诶CTRLD呢是什么意思。Select是你看这块就我们显出。哎,那这块呢,说这个呢,CTRLD我不想用了,你可以呢,这块右键把它给除掉。也可以在保留它的同时呢,再去加上一个,你想用什么操作,你这块直接操作就行,比如我想要ctrl shift加D。
35:02
你就这样加上一个,然后点OK,它有可能跟别的有冲突,但是呢,只要不在我这块列的这个常用的快捷键里边呢,其实大家呢,改一改都行哈,你说我就想用这个啊,你假然OK跟别的冲突了,把别的那个给他移除掉。也可以。这是一个事儿啊,然后呢,还可以怎么着呢,我们可以呢,根据左边去找右边。啊,比如说我们想看一下那个删除怎么做的是吧,这个你就写一个叫delete。哎,Delete这块你就直接写这个delete啊,其实你就能够找到它相应的位置啊,比如说删除一行,这不是CRLY啊,来演示这个delete的。所以我在这块呢,给大家呢,其实都留了相应的一些这个英文的描述啊,就是说呢,如果你要觉得这个快捷键你觉得不好使,你可以呢,把这个英文的描述呢,诶CTRLC一下,然后呢,粘贴到我们的这个位置啊,对应的就列出来这个快键了,你不想用就给删掉,不然我想再加一个也行,比如有的同学呢,这块呢,CTRLBY有些一些女生是吧,CR呢,用的离得太远了,手够不着,你自己给他改一改也行。
36:01
诶,我就不改了啊,因为我授课呢,所以我都用的是这种原声它自带的啊好,这个呢,就是咱们关于这个快捷键的一个说明,建议大家呢,常用的快捷键还是要熟悉熟悉。
我来说两句