欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

提高開發(fā)效率Live?Templates使用技巧詳解

 更新時間:2023年01月10日 11:08:41   作者:古時的風(fēng)箏  
這篇文章主要為大家介紹了提高開發(fā)效率Live?Templates使用技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

Live Templates 是什么,聽上去感覺挺玄乎的。有的同學(xué)用過之后覺得簡直太好用了,不能說大大提高了開發(fā)效率吧,至少也是小小的提高一下,節(jié)省了很多敲重復(fù)代碼的時間。有的同學(xué)用過之后說:沒什么用,奇技巧罷了。

就算你沒聽過這個概念,但是或多或少你可能都用到過一點,就算沒有用過的話,也可能見到過一些,沒吃過豬肉可能也見過豬跑,就像下面這樣的操作。

總結(jié)一下呢,它就類似于一種快捷指令(神奇代碼),只要你在 IDEA 中輸入特定的字母組合,IDEA 就會幫你在當(dāng)前輸入的位置插入一段預(yù)先定義好的代碼,代碼可以是固定的,也可以定義一些上下文變量,適用于那些常用的、使用頻率較高的聲明或重復(fù)代碼段。

比如聲明靜態(tài) finalString,在不用 Live Tmeplates 的情況下,我們會手動在 IDEA 中依次敲出 "public static final String" 這一行代碼,當(dāng)然可能借助 IDEA 的只能提示,每個單詞只需要敲前兩個字母。在使用了 Live Tmeplates 的情況下, 我們只需要敲出 psfs這四個字母,然后按回車鍵,IDEA 就會幫我們在 psfs這個位置插入 "public static final String" 這一行。

沒用過的同學(xué)是不是趕緊打開 IDEA 試一下呢?在設(shè)置界面,輸入 Live Templates,然后找到右側(cè)的 Java就可以看到內(nèi)置的模板。不光有 Java 的,對于多種文件類型都有支持,比如 SQL 、JavaScript、JSP 、Kotlin 等。

下面介紹幾個 IDEA 內(nèi)置的、常用的模板。

常用的 Live Templates

main 和 psvm

main 方法插入,雖然我們已經(jīng)可以很熟練的盲打出下面這一段代碼,但是只敲四個字母是不是會更快呢。

public static void main(String[] args){
}

變量聲明

下面一些是常用的變量聲明

psfs

public static final String 

psfi

public static final int 

prsf

private static final 

St

String 

控制臺輸出

下面是控制臺輸出,還有一些,不一一列舉了。

sout

文本輸出,最常用到的。

System.out.println();

souf

帶格式化的文本輸出。

System.out.printf();

循環(huán)迭代

fori

輸入完,按回車后,光標(biāo)會在 i<的位置,等待輸入臨界值。

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

iter

用 forEach 的方式循環(huán),在一個數(shù)組或者列表變量下方使用。

List<String> array = new ArrayList<>();
for (String s1 : array) {
}

itco

用迭代器的方式迭代,同樣是在一個列表變量下方使用。

List<String> array = new ArrayList<>();
for (Iterator<String> iterator = array.iterator(); iterator.hasNext(); ) {
  String next =  iterator.next();
}

Surround Templates

這種模板是在選中一段代碼后,然后使用快捷鍵 option+command+j調(diào)出提示框,然后選擇一個模板類型。

這個快捷鍵是 MAC 系統(tǒng)下的,如果你用的是 windows,可以通過點擊 code菜單項,找到 Sorround With,看看快捷鍵是什么。

C

實現(xiàn)一個 Callable

Callable<Object> callable = new Callable<Object>() {
  public Object call() throws Exception {
    System.out.println("hello");
  }
};

RL 和 WL

插入一段讀鎖或?qū)戞i加解鎖代碼。

// 要先聲明一個讀寫鎖實例
ReadWriteLock readWriteLock = new ReentrantReadWriteLock();
readWriteLock.readLock().lock();
try {
  System.out.println("hello");
} finally {
  readWriteLock.readLock().unlock();
}

自定義 Template

有時候我們經(jīng)常會高頻詞的使用一段相似的代碼, 比如做網(wǎng)絡(luò)開發(fā)的同學(xué),會經(jīng)常用到 Socket 相關(guān)的初始化代碼。

對于這種我們自己經(jīng)常要寫的某些類似的代碼段,就可以抽取出一個 Template 出來,方便我們使用。

下面我就實現(xiàn)一個自定的 Template,來看一下是不是大大簡化了重復(fù)性勞動。有的同學(xué)可能覺得無所謂的事兒,復(fù)制、粘貼也挺省事兒。見仁見智吧,覺得有用的可以嘗試一下,覺得雞肋的也無所謂,反正也不影響最后的功能實現(xiàn)。

比如我最新在做一些系統(tǒng)優(yōu)化的工作,這個過程中,我會頻繁的用 commons-lang3StopWatch來看某些方法或者某些代碼段的執(zhí)行時間。比如下面的代碼段:

StopWatch stopWatch = new StopWatch("代碼段");
stopWatch.start();
try {
  Thread.sleep(1000);
} catch (InterruptedException e) {
  throw new RuntimeException(e);
}
stopWatch.stop();
System.out.printf("執(zhí)行時間 %s%n",stopWatch.toString());

由于我比較懶,所以我不想每次都敲重復(fù)的內(nèi)容,連粘貼復(fù)制都不想。所以就想到了 Live Template。

1、打開 IDEA 的設(shè)置窗口,找到 Editor 下的 Live Templates,在右側(cè)找到 Java,點擊最右側(cè)的加號。

2、輸入這個 Template 的名字,到時候可以在編輯器中通過輸入這個名字來插入這個模板。

輸入描述,幫助我們記憶。

最后輸入模板的內(nèi)容。

我給這個模板起名為 watch,模板內(nèi)容如下:

StopWatch stopWatch = new StopWatch("$MESSAGE$");
stopWatch.start();
$SELECTION$
stopWatch.stop();
System.out.printf("執(zhí)行時間 %s%n",stopWatch.toString());

$SELECTION$表示選中的部分,我們要監(jiān)控的正好是某個方法或者某個代碼段,所以正好可以用 Surround Templates,并且在內(nèi)容中用了 $SELECTION$,模板就默認(rèn)為 Surround Templates了。

$MESSAGE$就是一個占位符的作用,當(dāng)我們插入這個模板后,光標(biāo)會定位到這個占位符,我們就可以在需要定制的地方輸入我們想要的內(nèi)容了。在這里呢,由于我的一個方法中可能用到多個 StopWatch,所以正好在這兒占位,給不同的 StopWatch 賦予不同的名字。

可以通過下面的演示看一下效果。

Live Template 支持的變量

有一些情況下,我們希望插入的內(nèi)容不只是固定不變的代碼段,而是希望加入一些上下文相關(guān)的內(nèi)容,比如當(dāng)前方法的入?yún)ⅲ热绠?dāng)前類名,比如當(dāng)前方法名等。用下面這個例子說明一下。

有一個內(nèi)置的模板叫做 soutm,它的描述是這樣的:Prints current class and method names to System.out,打印當(dāng)前類和方法名,我們看一下效果,直接將當(dāng)前類和方法名 Study.main填充到了println參數(shù)位置上。

模板內(nèi)容是這樣的,其中用到了兩個變量是表示當(dāng)前類名的 $CLASS_NAME$和表示當(dāng)前方法名的$METHOD_NAME$

System.out.println("$CLASS_NAME$.$METHOD_NAME$");

更多的可用變量可以到 IDEA 官網(wǎng)查看,看到這些變量后,可能會打開你的思路,更近一步的為你提高開發(fā)效率。不過不用這些變量也沒關(guān)系,上面這寫其實差不多也夠用了。

官網(wǎng)地址:www.jetbrains.com/help/idea/t…

以上就是提高開發(fā)效率Live Templates使用技巧詳解的詳細(xì)內(nèi)容,更多關(guān)于提高開發(fā)效率Live Templates的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SpringBoot集成Redis向量數(shù)據(jù)庫實現(xiàn)相似性搜索功能

    SpringBoot集成Redis向量數(shù)據(jù)庫實現(xiàn)相似性搜索功能

    Redis?是一個開源(BSD?許可)的內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲,用作數(shù)據(jù)庫、緩存、消息代理和流式處理引擎,向量檢索的核心原理是通過將文本或數(shù)據(jù)表示為高維向量,并在查詢時根據(jù)向量的相似度進(jìn)行搜索,本文給大家介紹了SpringBoot集成Redis向量數(shù)據(jù)庫實現(xiàn)相似性搜索功能
    2024-09-09
  • Java類變量和成員變量初始化過程的應(yīng)用介紹

    Java類變量和成員變量初始化過程的應(yīng)用介紹

    昨天看了一本叫做《突破程序員基本功的16課》的書,個人感覺還可以,主要對Java的技巧進(jìn)行了一些深入的講解,讓我對類的初始化和對象的創(chuàng)建有了新的認(rèn)識
    2013-04-04
  • Java Proxy機(jī)制詳細(xì)解讀

    Java Proxy機(jī)制詳細(xì)解讀

    這篇文章主要介紹了Java Proxy機(jī)制詳細(xì)解讀,還是非常不錯的,這里分享給大家,需要的朋友可以參考下。
    2017-10-10
  • Springboot安全框架整合SpringSecurity實現(xiàn)方式

    Springboot安全框架整合SpringSecurity實現(xiàn)方式

    這篇文章主要介紹了Spring全家桶中Springboot安全框架整合SpringSecurity的實現(xiàn)方式,有需要的朋友可以借鑒參考下,希望可以有所幫助
    2021-09-09
  • spring?data?jpa如何使用自定義repository實現(xiàn)類

    spring?data?jpa如何使用自定義repository實現(xiàn)類

    這篇文章主要介紹了spring?data?jpa如何使用自定義repository實現(xiàn)類,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 騰訊開源消息中間件TubeMQ總體介紹分析

    騰訊開源消息中間件TubeMQ總體介紹分析

    這篇文章主要為大家介紹了騰訊開源消息中間件TubeMQ的總體介紹分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • Java+opencv3.2.0實現(xiàn)hough圓檢測功能

    Java+opencv3.2.0實現(xiàn)hough圓檢測功能

    這篇文章主要為大家詳細(xì)介紹了Java+opencv3.2.0實現(xiàn)hough圓檢測,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • dom4j從jar包中讀取xml文件的方法

    dom4j從jar包中讀取xml文件的方法

    這篇文章主要介紹了dom4j從jar包中讀取xml文件的方法,需要的朋友可以參考下
    2014-02-02
  • 探討Java中函數(shù)是值傳遞還是引用傳遞問題

    探討Java中函數(shù)是值傳遞還是引用傳遞問題

    這篇文章主要介紹了探討Java中函數(shù)是值傳遞還是引用傳遞問題,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • SpringBoot整合Lucene實現(xiàn)全文檢索的詳細(xì)步驟

    SpringBoot整合Lucene實現(xiàn)全文檢索的詳細(xì)步驟

    全文搜索(Full-Text?Search)是指對大規(guī)模存儲在計算機(jī)系統(tǒng)中的文本數(shù)據(jù)進(jìn)行檢索和匹配的技術(shù),它允許用戶輸入關(guān)鍵字,然后從海量的文本數(shù)據(jù)中快速找到相關(guān)的信息,本文介紹了SpringBoot整合Lucene實現(xiàn)全文檢索的詳細(xì)步驟,需要的朋友可以參考下
    2024-03-03

最新評論