日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
【方向盤】使用IDEA的60+個(gè)快捷鍵分享給你,權(quán)為了提效(代碼補(bǔ)全篇)

前言

本系列上篇文章介紹了IDEA里關(guān)于Run運(yùn)行、Debug調(diào)試相關(guān)的快捷鍵,熟練后使用起來逼格更高了有木有。

如你所知,IDEA非常的“智能”,能給與你代碼提示、問題智能修復(fù)等幫助。本文將繼續(xù)介紹IDEA在代碼補(bǔ)全方面的快捷鍵,加快你的編碼過程。

所屬專欄

  • 【方向盤】-IntelliJ IDEA。

相關(guān)下載

  • 【本專欄源代碼】:https://github.com/yourbatman/FXP-java-ee。
  • 【技術(shù)專欄源代碼大本營】:https://github.com/yourbatman/tech-column-learning。
  • 【女媧Knife-Initializr工程】訪問地址:http://152.136.106.14:8761。
  • 【程序員專用網(wǎng)盤】公益上線啦,注冊送1G超小容量,幫你實(shí)踐做減法:https://wangpan.yourbatman.cn。
  • 【Java開發(fā)軟件包(Mac)】:https://wangpan.yourbatman.cn/s/rEH0 提取碼:javakit。

版本約定

  • Mac OS 12.3。
  • iTerm2 3.4.15(zsh 5.8)。
  • IntelliJ IDEA 2021.3.3。

正文

IntelliJ IDEA快捷鍵

Code Completion

涵蓋了各種上下文感知的代碼完成技術(shù),使你能夠加快你的編碼過程。

Basic

自動(dòng)代碼補(bǔ)全。比如i.toS敲打后:

按下control + space快捷鍵,將自動(dòng)補(bǔ)全i.toString(),這就是代碼自動(dòng)補(bǔ)全功能。

值得注意的是,若此時(shí)IDEA有多個(gè)補(bǔ)全選項(xiàng),也就是說無法幫你決策如何補(bǔ)全代碼,這時(shí)就會列出所有可能選項(xiàng),交由你來做選擇決策,正如下圖所示:

這不就是津津樂道的代碼提示、代碼補(bǔ)全功能嗎??旖萱I就是control + space。

Tips:control + space快捷鍵在某些場景按兩次,有時(shí)候你能得到驚喜哦。

Show Quick Fixes

也叫它萬能鍵:在提示報(bào)錯(cuò)的地方按下此快捷鍵,IDEA根據(jù)上下文總能給你一些修復(fù)提示,達(dá)到快速修復(fù)問題的目的。

這個(gè)快捷鍵的使用頻率也賊高,基本原則是:哪里報(bào)錯(cuò)點(diǎn)哪里。

Complete Current

完成當(dāng)前語句。形容很抽象,功能很強(qiáng)大:當(dāng)前還未完成的語句,此快捷鍵可快速幫你完成。那么,(Java中)什么是Statement:表示某種操作, 但是沒有返回值。

  • Integer i = 100
  • if語句
  • break語句
  • ...

此時(shí)按下此功能快捷鍵,將快速補(bǔ)全if語句:

老實(shí)說,筆者使用該快捷鍵頻率很高,但絕大多數(shù)情況下只用于補(bǔ)全語句末尾的;。若讓自動(dòng)補(bǔ)全if、while等這種邏輯語句的時(shí)候,有時(shí)候會出現(xiàn)邏輯問題,所以你使用的時(shí)候也要小心。

Delete Line

delete按鍵是一個(gè)個(gè)刪除(或者刪除選中的區(qū)域),而很多時(shí)候我們需要按行刪除,這時(shí)該快捷鍵就非常好用了,它可以按行刪除:

  • 沒有任何選中時(shí),刪除光標(biāo)所在行。
  • 有選中區(qū)域時(shí),刪除選中區(qū)域所有行。

如圖所示,按下此快捷鍵時(shí)18-23共6行將全部被刪除。

Duplicate Line or Selection

請注意該功能命名和上面的差異:Line or Selection可知它即可復(fù)制一行,又可復(fù)制選中部分,是或者的關(guān)系。對比,上面有且僅針對行Line進(jìn)行操作,這是不一樣的,具體表現(xiàn)在:

  • 沒有任何選中時(shí),按行復(fù)制,復(fù)制光標(biāo)所在行到下一行。
  • 當(dāng)有選中時(shí),這時(shí)就按內(nèi)容復(fù)制了,和行沒有關(guān)系:選中多少復(fù)制多少,然后將復(fù)制的內(nèi)容放到選中區(qū)域尾部。

按兩次command + d的效果為:

最后再強(qiáng)調(diào)一下,可認(rèn)為該快捷鍵具有兩個(gè)功能:復(fù)制1行,或者復(fù)制選中內(nèi)容到選中區(qū)域末尾。后者的典型使用場景是:橫向內(nèi)容快速拷貝。

Duplicate Entire Lines

這個(gè)快捷鍵我賊喜歡,相較于command + d我更喜歡這個(gè)。它的含義是:復(fù)制全部行。若沒有任何選中or只選中一行,效果同command + d;若有Selection,那么它復(fù)制的是選中區(qū)域的所有行,語義更加清晰,使用更加便捷。

按兩次control + command + ↓的效果為:

這種效果用起來更方便有木有,有木有?使用此快捷鍵再結(jié)合下面介紹的移動(dòng)快捷鍵,將可以發(fā)出更大威力,可謂加強(qiáng)版CV。

Tips:IDEA默認(rèn)并沒有給該功能綁定快捷鍵,筆者覺得這個(gè)比command + d更好用而自定義的(和其它鍵無沖突)快捷鍵,各位酌情取之哈。

Move Statement Up/Down

將Statement作為一個(gè)整體進(jìn)行移動(dòng),重點(diǎn)是整體移動(dòng),所以不會存在缺胳膊少腿不完整現(xiàn)象,它更像自動(dòng)擋,由IDEA幫你決策移動(dòng)哪些行、以及智能放到合適的位置。

如圖例子,若要向上移動(dòng)System.out.println(v)這個(gè)Statement的話,“合適的位置”在圖中已標(biāo)出,只有三處。

Tips:只能向上移動(dòng)3次,因?yàn)镾tatement不可能出現(xiàn)在stream之間,也不能出main方法嘛。這便就是自動(dòng)擋的“好處”。

Move Line Up/Down

該移動(dòng)方式就是手動(dòng)擋嘍:

  • 具體移動(dòng)哪些行自己定(單位:行)。
  • 具體移動(dòng)到哪里自己定(一行一行的移動(dòng))。

如圖例子,移到哪里去完全自由,且沒有邊界。實(shí)話講,筆者個(gè)人還蠻喜歡使用這種移動(dòng)方式的,更為常用。

Reformat Code

格式化代碼,IDEA(根據(jù)格式化模板)幫你整理空格、換行等格式,讓代碼看起來更整潔,建議經(jīng)常使用。

Tips:默認(rèn)會格式化當(dāng)前文件的所有內(nèi)容。若只想局部格式化,那就選擇區(qū)域后格式化,只會作用于選擇的那部分代碼

另外,在IDEA 2021.0.1版本新增了特性,有個(gè)新工具Actions on Save:可勾選Reformat code選項(xiàng),這樣在保存的時(shí)候就自動(dòng)格式化啦。

Reformat File

它的目標(biāo)也是格式化,當(dāng)按下此快捷鍵時(shí)會彈出對話框:

解釋這些選項(xiàng):

Scope:格式化范圍:

  • Only changes uncommitted to VCS:只格式化為提交的文本。
  • Selected text:只格式化選中區(qū)域的文本。
  • Whole file:整個(gè)文件。

Options:格式化選項(xiàng):

  • Optimize imports:優(yōu)化導(dǎo)包(刪除無用的導(dǎo)包)。常用
  • Rearrange code:重新排列代碼。根據(jù)code style代碼樣式對代碼重新排列。不常用
  • Code cleanup:代碼清理。刪除掉未被使用的變量、方法等。不常用
  • Do not keep line breaks:不保留換行,也就是仍按照code style方式去格式化。不常用

言而總之,它是option + command + l的加強(qiáng)版:可對格式化定制化。但老實(shí)講,實(shí)際使用大都還是直接使用上面的option + command + l完成格式化,方便快捷。

Optimize imports

一鍵整理導(dǎo)入語句,刪除沒有使用過的導(dǎo)入,非常使用。

不過實(shí)話講,這個(gè)快捷鍵筆者很少使用,原因是我會開啟IDEA的自動(dòng)處理設(shè)置,所以就不用我再手動(dòng)處理啦。如下圖所示(也建議你這么干):

Override/Implements Methods

這兩個(gè)快捷鍵放在一起,因?yàn)樗鼈z功能很“相似”:都是復(fù)寫/實(shí)現(xiàn)方法。舉個(gè)例子:

public class Demo implements InitializingBean {
}

該類實(shí)現(xiàn)了InitializingBean接口但沒復(fù)寫其方法,編譯肯定報(bào)錯(cuò)的。這時(shí)我們可以借助IDEA快捷鍵幫我們快速生成相關(guān)代碼,有多種快捷鍵方式:

control + i:它的語義是實(shí)現(xiàn)。在類內(nèi)部任意位置按下此快捷鍵,會彈出還未實(shí)現(xiàn)的接口方法,如下圖所示: 值得注意的是,這里只會列出還未實(shí)現(xiàn)的接口方法,若已沒有符合條件的方法(比如你都已經(jīng)實(shí)現(xiàn)了,或者真的沒有接口方法待實(shí)現(xiàn)了)就會彈出如下提示:

control + o:它的語義是復(fù)寫。在類內(nèi)部任意位置按下此快捷鍵,會彈出父類可以復(fù)寫的所有方法,另外它還會附帶把還未實(shí)現(xiàn)的接口方法帶出來,也能達(dá)到實(shí)現(xiàn)接口方法的目的。如下圖所示:

從這個(gè)case相信你能感受到control + o和control + i的區(qū)別了吧。

然而,你是否還聯(lián)想到咱前面講過一個(gè)個(gè)“萬能修復(fù)”快捷鍵呢?是的,就是option + 回車快捷鍵。按下此鍵,得到如下窗口:

時(shí)點(diǎn)擊Implement methods這項(xiàng),將會生成實(shí)現(xiàn)接口所有的還未實(shí)現(xiàn)的方法,注意是所有哦。

這三組快捷鍵看似都可以完成接口方法的實(shí)現(xiàn)問題,但各有各自最適合的場景,使用時(shí)因地制宜。筆者這三個(gè)快捷鍵使用得都挺多的。除此之外,針對復(fù)寫/實(shí)現(xiàn)這種場景,筆者還有一個(gè)常用的“小技巧”,手動(dòng)書寫出需要復(fù)寫/實(shí)現(xiàn)的方法名然后調(diào)出提示:

這就相當(dāng)于半自動(dòng)擋嘍,使用的前提是你需要知道你想復(fù)寫的方法的大致名稱,這樣IDEA才能提示你。我喜歡使用該方式的主要原因:焦點(diǎn)可快速定位到我想要的地方,方法的位置自己也可控。

Generate

自動(dòng)生成構(gòu)造器、get/set方法、toString()方法、測試用例等等,非常好用的一個(gè)快捷鍵。

在lombok越來越流行的今天,這個(gè)快捷鍵筆者其實(shí)已經(jīng)很少使用了。

Line/Block Comment

快速生成代碼行注釋/塊注釋,這個(gè)太簡單也太常,就不贅述了。

總結(jié)

本文繼續(xù)介紹了IDEA 代碼補(bǔ)全相關(guān)的快捷鍵,感受到IDEA在上下文感知的代碼完成技術(shù)上的強(qiáng)大,希望在編碼的過程中,能加快你的進(jìn)程,提升你的出活效率。


分享文章:【方向盤】使用IDEA的60+個(gè)快捷鍵分享給你,權(quán)為了提效(代碼補(bǔ)全篇)
網(wǎng)頁地址:http://m.5511xx.com/article/cohceso.html