最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

IntelliJ IDEA有哪些「不為人知」的強(qiáng)大功能?

2022-07-23 12:18 作者:DevWeekly  | 我要投稿

DevWeekly收集整理每周優(yōu)質(zhì)開(kāi)發(fā)者內(nèi)容,包括開(kāi)源項(xiàng)目工具資源、技術(shù)文章等方面,每周五首發(fā)于DevWeekly(https://github.com/Jackpopc/DevWeekly),歡迎大家Star并收藏!

還在把IntelliJ IDEA當(dāng)成文本編輯器一樣使用?那就虧大了!

今天就來(lái)給大家介紹一下非常好用的IntelliJ IDEA技巧--后綴補(bǔ)全。

后綴補(bǔ)全是一個(gè)非常強(qiáng)大的功能,它可以讓你使用后綴補(bǔ)全來(lái)生成一個(gè)現(xiàn)有的表達(dá)式。

這大大減少手動(dòng)輸入、光標(biāo)移動(dòng)等時(shí)間,從而提高了工作效率。

后綴補(bǔ)全

每當(dāng)你有一個(gè)現(xiàn)有的表達(dá)式時(shí),你可以在一個(gè)點(diǎn)后面附加一個(gè)特定的后綴,并使用Tab鍵來(lái)應(yīng)用它。IntelliJ IDEA接收表達(dá)式,并根據(jù)提供的后綴對(duì)其進(jìn)行轉(zhuǎn)換。

加入,你有一個(gè)字符串列表名為items,現(xiàn)在你需要遍歷它,按照常規(guī)操作,就應(yīng)該開(kāi)始敲擊鍵盤(pán)輸入for ...,寫(xiě)一大串循環(huán)遍歷語(yǔ)句。

如果通過(guò)后綴補(bǔ)全,你只需要輸入items.for,IDEA就會(huì)自動(dòng)識(shí)別for這個(gè)后綴自動(dòng)創(chuàng)建一個(gè)for-each表達(dá)式,如下圖所示:

img


是不是很有意思?接下來(lái)再試試try這個(gè)后綴后綴:

img


它會(huì)快速生成一個(gè)try-catch表達(dá)式,是不是很高效?

除了這兩個(gè)之外,還有很多后綴補(bǔ)全模板:

  • fori:通過(guò)索引進(jìn)行列表迭代

  • forr:用索引按相反的順序進(jìn)行迭代

  • switch:生成switch表達(dá)式

  • sout:使用System.out.println打印表達(dá)式

  • null:檢查表達(dá)式是否為空

  • notnull:檢查表達(dá)式是否為非空

通過(guò)一個(gè)簡(jiǎn)單的后綴,就可以補(bǔ)全一串表達(dá)式,效率也得到了很大的提升。

該功能最初在ReSharper中可用,然后作為IDEA的一個(gè)單獨(dú)插件,后來(lái)在13.1版本中作為核心功能被引入IDEA。

顯示可用模板

不同類(lèi)型的變量、表達(dá)式有不同的后綴補(bǔ)全,而且這些后綴模板也沒(méi)必要死記硬背。

IDEA為我們提供了一個(gè)非常方便的快捷鍵,可以顯示可用的模板:

  • Windows:Ctrl+J

  • macOS:? + J

通過(guò)快捷鍵,它會(huì)打開(kāi)一個(gè)彈出窗口,只顯示與給定類(lèi)型相關(guān)的后綴模板。也就是說(shuō),如果你在一個(gè)列表后面觸發(fā)快捷鍵,它只會(huì)顯示一個(gè)和列表相關(guān)的后綴模板。

img


配置

如果你覺(jué)得默認(rèn)的后綴補(bǔ)全不匹配你的使用習(xí)慣,你可以進(jìn)行個(gè)性化配置。


你可以在Preferences→Editor → General → Postfix Completion設(shè)置中,瀏覽可用的后綴模板,你可以禁用個(gè)別模板或整個(gè)功能。

自定義模板

雖然IDEA提供了相當(dāng)多的內(nèi)置模板,但是,開(kāi)發(fā)者眾多,個(gè)性化需求自然也很多,所以,內(nèi)置模板不一定能夠滿足每個(gè)用戶的需求,這時(shí)候就會(huì)想到,能不能自定義模板呢?

很不幸,它不允許定義自己的模板。

不過(guò),有一個(gè)IDE插件可以解決這個(gè)問(wèn)題,它的名字叫Custom Postfix Templates。

該插件帶有各種各樣的附加模板,你可以使用或編輯這些模板來(lái)更好地滿足你的需要,在語(yǔ)言方面,它還支持Java, Scala, SQL, PHP, Kotlin, Python, Dart, JavaScript, Ruby, Rust, Go和Groovy。

而且,更重要的是,你實(shí)際上可以添加自定義模板。

這款插件目前支持通過(guò)Java語(yǔ)言自定義模板,后續(xù)會(huì)支持更多語(yǔ)言當(dāng)然。

不會(huì)Java的也不用擔(dān)心,Custom Postfix Templates真正好的地方在于,模板語(yǔ)法真的很容易讀和寫(xiě)。

下面來(lái)看看一個(gè)具體的例子:

.toInt : convert to int
? ?java.lang.String → Integer.parseInt($expr$)
? ?java.lang.Number → $expr$.intValue()
? ?NUMBER → ((int) ($expr$))

解釋一下這段自定義模板的代碼。

第一行由后綴模板以及描述組成,它觸發(fā)了模板.toInt,在冒號(hào)后有一個(gè)文本描述。

然后是若干行代碼,這些行定義了在不同的輸入類(lèi)型下應(yīng)該產(chǎn)生什么樣的結(jié)果,而后綴則適用于不同的輸入類(lèi)型。

換句話說(shuō),當(dāng)給定的變量類(lèi)型不同時(shí),同一個(gè)后綴模板可以給出不同的結(jié)果。

在上面的例子中,你可以看到,使用.toInt后綴將字符串轉(zhuǎn)換為整數(shù),處理方式是Integer.parseInt($expr$)。

然而,將相同的前綴應(yīng)用于數(shù)字時(shí),處理方式就變成了(int) ($expr$)。

該插件在Editor→Custom Postfix Templates的設(shè)置中增加了一個(gè)新的模塊,在這里你可以看到所有模板的列表,也可以編輯它。

img


很多功能剛開(kāi)始接觸時(shí)都會(huì)覺(jué)得麻煩,但是一旦習(xí)慣了之后就會(huì)真正體會(huì)到它帶來(lái)的效率提升,后綴補(bǔ)全就是這樣的一項(xiàng)功能,我們可以用一個(gè)簡(jiǎn)單的后綴轉(zhuǎn)換成幾行甚至幾十行代碼,它的便利性可想而知。感興趣的同學(xué)趕緊用起來(lái)吧!

建議大家有空可以多瀏覽Github,有很多好用的開(kāi)源免費(fèi)工具。但是,目前Github上項(xiàng)目多如牛毛,而且刷榜現(xiàn)在也非常嚴(yán)重,想要找到優(yōu)質(zhì)的項(xiàng)目變得越來(lái)越難。這里,給大家推薦Github上一個(gè)非常不錯(cuò)的項(xiàng)目《DevWeekly》,這個(gè)項(xiàng)目每周都會(huì)精挑細(xì)選一些優(yōu)質(zhì)的開(kāi)源項(xiàng)目,涵蓋C++、JAVA、JavaScript、Python、Go等不同編程語(yǔ)言。此外,還有一些開(kāi)源工具、優(yōu)秀的技術(shù)文章,喜歡的同學(xué)可以Star并收藏一下,每周五會(huì)定期更新:

https://github.com/Jackpopc/DevWeekly


IntelliJ IDEA有哪些「不為人知」的強(qiáng)大功能?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
中牟县| 湟源县| 潜山县| 涟水县| 永顺县| 玉屏| 上犹县| 崇礼县| 平江县| 江津市| 连南| 收藏| 太原市| 蛟河市| 西平县| 阿克| 乐平市| 乌什县| 朔州市| 塔河县| 云阳县| 绩溪县| 吉首市| 全州县| 云阳县| 大荔县| 四川省| 开平市| 镇原县| 施甸县| 黄梅县| 虹口区| 多伦县| 永靖县| 上林县| 双鸭山市| 漳浦县| 伊通| 湛江市| 彭泽县| 托克逊县|