国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

寫 bug 速度提升200%!吊爆的 IDEA 使用技巧

這篇具有很好參考價值的文章主要介紹了寫 bug 速度提升200%!吊爆的 IDEA 使用技巧。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

背景

Java 開發(fā)過程經(jīng)常需要編寫有固定格式的代碼,例如說聲明一個私有變量,logger或者bean等等。

對于這種小范圍的代碼生成,我們可以利用 IDEA 提供的 Live Templates功能。

剛開始覺得它只是一個簡單的Code Snippet,后來發(fā)現(xiàn)它支持變量函數(shù)配置,可以支持很復雜的代碼生成。

下面我來介紹一下Live Templates的用法。

基本使用

IDEA 自帶很多常用的動態(tài)模板,在 Java 代碼中輸入fori,回車就會出現(xiàn)

 

for?(int?i?=?0;?i?<?;?i++)?{

}

按Tab可以在各個空白處跳轉,手動填值。

寫 bug 速度提升200%!吊爆的 IDEA 使用技巧

自定義 Template

官方自帶模板畢竟不能滿足我們個人編碼風格的需要,Live Templates提供了變量函數(shù)的方式供我們自定義。

簡單用法

新增自定義模板,首先需要填寫觸發(fā)單詞(即 Abbreviation),描述是可選的,然后定義模板的上下文,點擊define選擇Java,這樣在編輯 Java 的時候就會觸發(fā)當前模板,定義完上下文之后,就可以填寫模板了。

寫 bug 速度提升200%!吊爆的 IDEA 使用技巧

下面列舉幾個我常用的簡單模板

 

==========
<out>
----------
System.out.println($END$)
==========
<pfs>
----------
private?final?static?String?$varName$?=?"$var$";`
==========
<privateField>
----------
/**
?*?$COMMENT$
?*/
@Getter
@Setter
private?$TYPE$?$NAME$;
==========
<main>
----------
public?static?void?main(String[]?args)?{
?????$END$
}
==========

模板支持變量的定義,使用$$包圍的字符表示一個變量。是一個特殊的預定義變量,表示光標最后跳轉的位置。每個變量的位置都可以跳轉過去。

高級用法

如果你用過 vim 的Code Sinppet插件,你會發(fā)現(xiàn)模板里面是可以執(zhí)行函數(shù)的,強大的 Live Templates當然也支持,而且 IDEA 能夠感知代碼的語義,例如說當前編輯的函數(shù)的參數(shù)。但這一點就能夠讓我們玩出花來。我們從易到難來研究模板函數(shù)的功能。

寫 bug 速度提升200%!吊爆的 IDEA 使用技巧

?

前面我們提到的變量可以綁定函數(shù),配置方式如上圖所示。

快速聲明變量

聲明變量是一個常用的操作,特別是需要聲明變量需要加注解,注釋的時候,這些代碼寫起來就很枯燥。下面是我定義的模板:

 

<osgiRef>
----------
/**
?*?$END$
?*/
@OsgiReference
@Setter
private?$TYPE$?$NAME$;

乍一看這個模板跟我上面定義的privateField差不多,唯一的不同在于我給這些變量綁定了函數(shù)。

  • clipboard():返回當前粘貼板的字符串

  • decapitalize():將輸入的字符串首字母變?yōu)樾?/p>

下面我們演示一下,我們先拷貝當前類名,然后輸入osgiRef

寫 bug 速度提升200%!吊爆的 IDEA 使用技巧

快速聲明 logger

聲明 logger 也是一個常用的操作,上面我們是利用了粘貼函數(shù)來快速聲明變量,現(xiàn)在我們來利用另一個函數(shù)className(),顧名思義,它的作用就是返回當前類名。

 

<logger>
----------
/**?logger?*/
private?static?final?Logger?LOGGER?=?LoggerFactory.getLogger($CLASS$.class);

最強大的 groovyScript()

如果說上面用到的函數(shù)提供的能力有限,不夠靈活,那么groovyScript()提供了一切你想要的能力,它支持執(zhí)行 Groovy 腳本處理輸入,然后輸出處理后的字符串。

 

groovyScript("code",?...)

|?code?|???一段Groovy代碼或者Groovy腳本代碼絕對路徑?|
|? ... |?可選入?yún)?,這些參數(shù)會綁定到`_1, _2, _3, ..._n`, 在 Groovy 代碼中使用。|

下面我們來看一下它的實際應用。

快速 bean 配置

新增一個服務都要在 Spring 中注冊一個 bean,一般這個配置無非就是將指明id和class,由于我們是在 xml 中配置,所以不能利用className()函數(shù),但是我們可以利用clipboard()函數(shù)獲取到類的全引用,在 IDEA 中我們直接右鍵類名,點擊Copy Reference就行。然后執(zhí)行 groovy 腳本獲取類名。

 

<bean>
----------
<bean?id="$id$"?class="$REF$"?/>

id綁定decapitalize(groovyScript("_1.tokenize('.')[-1]", clipboard())),首先取clipboard()的值得到類的全引用,然后執(zhí)行 groovy 代碼_1.tokenize('.')[-1](按.分割為字符串數(shù)組,然后取最后一個即可得到類名,然后用decapitalize()將首字母小寫即可得到id。

寫 bug 速度提升200%!吊爆的 IDEA 使用技巧

快速打印當前上下文信息

打印錯誤日志的時候需要打印當前上下文信息的,例如說入?yún)?,有時候入?yún)⒑芏嗟臅r候,寫起來很痛苦,好在有模板函數(shù)methodParameters(),返回當前函數(shù)參數(shù)的列表,當然這個列表我們不能直接使用,需要結合groovyScript對它進行轉化。

 

<printContext>
---------------
LogUtil.$TYPE$(LOGGER,?"$MSG$?"?+?$params$);

將params綁定到groovyScript("'"' + _1.collect { it + ' = [" + ' + it + ' + "]'}.join(', ') + '"'", methodParameters()),就能夠自動將當前函數(shù)的參數(shù)格式化后輸出。

寫 bug 速度提升200%!吊爆的 IDEA 使用技巧

總結

上面我們簡單介紹了常用的模板函數(shù),其實 IDEA 還有很多其它模板函數(shù),具體參考Creating and Editing Template Variables。

IDEA 是一個很強大的工具,善用工具能夠極大的提高工作效率,將精力投入到關鍵的事情上,而不是將時間浪費在編寫重復代碼上面。

一些更高級的用法還有待大家去發(fā)掘。最后推廣一波我寫的代碼生成插件CodeMaker,好好利用也能節(jié)省很多重復編寫代碼的時間。文章來源地址http://www.zghlxwxcb.cn/news/detail-478398.html

到了這里,關于寫 bug 速度提升200%!吊爆的 IDEA 使用技巧的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 提升 Postman 使用技巧:完全掌握 Query、Path 和 Body 參數(shù)傳遞

    提升 Postman 使用技巧:完全掌握 Query、Path 和 Body 參數(shù)傳遞

    題解 | #密碼驗證合格程序# #include iostream#include vectorus ? 題解 | #數(shù)字顛倒# import java.util.Scanner;// 注意類名必須為 Main, 不要有任何 pa ? 淘天一面 面經(jīng) 淘天一面:計算機開機的過程經(jīng)歷了什么?站在計算機這個視角,為什么要有操作系統(tǒng)?操作系統(tǒng)的虛擬化技術( ? 美團前端

    2024年04月13日
    瀏覽(33)
  • 【測試效率提升技巧】xmind測試用例轉換為excel工具使用手冊

    【測試效率提升技巧】xmind測試用例轉換為excel工具使用手冊

    1.在命令行執(zhí)行pip install xmind2testcase -U 2.到python中xmind2testcase的安裝路徑(我的路徑是D:pythonLibsite-packagesxmind2testcase)下新建一個文件夾,命名為web 3.在命令行cd到剛剛創(chuàng)建的web文件夾,執(zhí)行pip freeze requirements.txt 4.命令行執(zhí)行pip install -r requirements.txt -U PS:請盡量使用xMind8 Up

    2024年02月12日
    瀏覽(59)
  • IDEA 使用技巧

    IDEA 使用技巧

    除了一些在Linux上用vim開發(fā)的大佬,idea算是很友好的集成開發(fā)工具了,功能全面,使用也很廣泛。 記錄一下我的 IDEA 使用技巧,以后想到什么會繼續(xù)更新這個 我主要用IDEA開發(fā)java,不知道idea對其他語言是否也有這些支持,所以感興趣的可以看一下 sout 快速生成Java打印語句

    2024年02月08日
    瀏覽(19)
  • IDEA使用技巧

    IDEA使用技巧

    目錄結構: bin:容器,執(zhí)行文件和啟動參數(shù)等 這里以我的電腦系統(tǒng)(64 位 windows7, 16G 內存)為例,說明一下如何調整 VM 配置文件: 1、大家根據(jù)電腦系統(tǒng)的位數(shù),選擇 32 位的 VM 配置文件或者 64 位的 VM 配置文件 2、32 位操作系統(tǒng)內存不會超過 4G,所以沒有多大空間可以調整,

    2024年02月07日
    瀏覽(22)
  • idea插件MyBatisCodeHelper Pro免費使用,及使用技巧

    idea插件MyBatisCodeHelper Pro免費使用,及使用技巧

    目前MyBatisCodeHelper Pro需要訂閱收費使用。 配置 數(shù)據(jù)庫用的tinyInt 或者 smallInt生成java類型是 byte 和 short 兩種類型。在java代碼里面操作 byte 和 short 類型比較麻煩,經(jīng)常需要強制轉換,下面是設置使用Integer 來替代byte和short還有使用Java8的日期時間類型 使用 Maven依賴 創(chuàng)建Maven項目

    2024年02月12日
    瀏覽(22)
  • IntelliJ IDEA 使用技巧 | 查看類的繼承關系圖

    IntelliJ IDEA 使用技巧 | 查看類的繼承關系圖

    快捷鍵CTRL+H查看 利用idea快捷鍵查看hierarchy,效果如下 好處:可以看向上和向下的繼承關系 缺點:只能看繼承關系,不能看實現(xiàn)了哪些接口 在指定類右鍵查看diagram 也可以使用快捷鍵ctrl+alt+u,更快捷 好處:可以看向上的繼承關系 缺點:既能看繼承關系,也能看實現(xiàn)了哪些接

    2024年02月07日
    瀏覽(19)
  • 【建議收藏】新到手的電腦Windows10/11系統(tǒng)優(yōu)化、使用規(guī)范和技巧及軟件推薦,提升范電腦性能和體驗

    【建議收藏】新到手的電腦Windows10/11系統(tǒng)優(yōu)化、使用規(guī)范和技巧及軟件推薦,提升范電腦性能和體驗

    目錄 一、了解電腦 1. 查看電腦和系統(tǒng)的基本信息? 2. 電腦測評 二 、Windows10/11系統(tǒng)優(yōu)化及設置 1. 控制面板、回收站等桌面圖標顯示設置 2. 任務欄管理 3.?桌面圖標排列 4. 卸載程序 5. 關閉P2P分享(傳遞優(yōu)化) 6.?電設置腦為高性能 7.??刪除存儲中的臨時文件 8.?磁盤清理 9.

    2024年02月12日
    瀏覽(102)
  • 巧妙使用多個舊路由器無線中繼提升網(wǎng)絡速度

    巧妙使用多個舊路由器無線中繼提升網(wǎng)絡速度

    一、設備選擇 1、百兆舊路由器,3-4個,用于無線中繼WIFI信號,輸出給多WAN路由器(DI-8200) 歷史遺留百兆舊路由器3個,型號分別為騰達FH456、TP-Link TL-WR845N、TL-WR941N,3個路由器都是好的,不過購買新產(chǎn)品淘汰。LAN 端口 IP 分別設置為192.168.101.1、192.168.102.1、192.168.103.1,便于管

    2024年02月09日
    瀏覽(21)
  • 使用GitHub當博客圖床提升博客訪問速度

    作為一個窮逼來說站長來說,只有一個1M寬帶這樣的小水管服務器,如果博客稍微放一點圖片到本地,然后人多點訪問網(wǎng)站基本就很卡了,但又不想去吧圖片放到圖床里然后復制鏈接到文章里面那么麻煩 如何解決這個問題呢?網(wǎng)上瀏覽了一下發(fā)現(xiàn)有很多插件我最后選擇了[Gi

    2024年02月03日
    瀏覽(19)
  • WPF性能優(yōu)化示例:使用VirtualizingStackPanel提升界面加載速度

    WPF性能優(yōu)化示例:使用VirtualizingStackPanel提升界面加載速度

    ? 概述: WPF界面綁定和渲染大量數(shù)據(jù)可能導致性能問題。通過啟用UI虛擬化、異步加載和數(shù)據(jù)分頁,可以有效提高界面響應性能。以下是簡單示例演示這些優(yōu)化方法。 在WPF中,當你嘗試綁定和渲染大量的數(shù)據(jù)項時,性能問題可能出現(xiàn)。以下是一些可能導致性能慢的原因以及優(yōu)

    2024年04月12日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包