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

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

新聞中心

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

前言

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

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

所屬專欄

  • 【方向盤】-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超小容量,幫你實踐做減法: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

自動代碼補全。比如i.toS敲打后:

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

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

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

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

Show Quick Fixes

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

這個快捷鍵的使用頻率也賊高,基本原則是:哪里報錯點哪里。

Complete Current

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

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

此時按下此功能快捷鍵,將快速補全if語句:

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

Delete Line

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

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

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

Duplicate Line or Selection

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

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

按兩次command + d的效果為:

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

Duplicate Entire Lines

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

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

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

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

Move Statement Up/Down

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

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

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

Move Line Up/Down

該移動方式就是手動擋嘍:

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

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

Reformat Code

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

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

另外,在IDEA 2021.0.1版本新增了特性,有個新工具Actions on Save:可勾選Reformat code選項,這樣在保存的時候就自動格式化啦。

Reformat File

它的目標也是格式化,當按下此快捷鍵時會彈出對話框:

解釋這些選項:

Scope:格式化范圍:

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

Options:格式化選項:

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

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

Optimize imports

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

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

Override/Implements Methods

這兩個快捷鍵放在一起,因為它倆功能很“相似”:都是復寫/實現(xiàn)方法。舉個例子:

public class Demo implements InitializingBean {
}

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

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

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

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

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

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

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

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

Generate

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

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

Line/Block Comment

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

總結(jié)

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


名稱欄目:【方向盤】使用IDEA的60+個快捷鍵分享給你,權(quán)為了提效(代碼補全篇)
當前地址:http://www.5511xx.com/article/cohceso.html