實(shí)測(cè)Java編程神器,體驗(yàn)一行行補(bǔ)代碼的感覺
寫代碼,最常用什么?當(dāng)然是「代碼補(bǔ)全工具」,之前筆者就一直有用過這一類工具,發(fā)現(xiàn)國內(nèi)也一直有團(tuán)隊(duì)做這方面的工作。而且最近 aiXcoder 正好推出了「本地2.0」,筆者就準(zhǔn)備實(shí)際試試體驗(yàn)。
筆者趕緊試用一番... 發(fā)現(xiàn)新的2.0版一改之前1.0版對(duì)電腦性能的高要求,在筆記本上運(yùn)行也能又穩(wěn)又準(zhǔn),而且所有預(yù)測(cè)都在本地筆記本上完成,斷網(wǎng)也能正常預(yù)測(cè)。而且說,這該是我用過的唯一一個(gè)完全本地化的AI代碼補(bǔ)全工具。
廢話少說,我們先看體驗(yàn)。
長預(yù)測(cè),用起來的確比較爽
剛使用 aiXcoder 2.0 會(huì)發(fā)現(xiàn)一個(gè)特點(diǎn),它給出的提示備選條數(shù)少了,只有兩行!可準(zhǔn)確率卻有明顯的提升,使用體驗(yàn)爽了很多。對(duì)比其他同類插件,動(dòng)輒給出滿屏的備選項(xiàng),感覺要純凈很多??瓷先iXcoder開發(fā)者對(duì)其「提示準(zhǔn)確率」還是很自信的。
兩行推薦,一短一長,第一個(gè)是短推薦,它應(yīng)該是我最可能需要的短結(jié)果,第二個(gè)是長推薦,很多時(shí)候能預(yù)測(cè)出一整句程序!
筆者試著寫了一個(gè) Java 函數(shù),它的長預(yù)測(cè)基本上能覆蓋整個(gè)函數(shù)的每行代碼,一整段代碼,很多時(shí)候只需要鍵入了幾個(gè)首字母,其他靠aiXcoder自動(dòng)補(bǔ)全,爽!
從體驗(yàn)上來看,aiXcoder 2.0預(yù)測(cè)得還是非常準(zhǔn)的,并且與之前用過的TabNine相比,它的提示的出現(xiàn)頻率高了很多很多,基本每一次鍵入都會(huì)有對(duì)應(yīng)的補(bǔ)全推薦。
筆者之前寫 Java 就有試過 Codota,為了對(duì)比看看效果,我又啟用了Codota,寫下了三段相同的代碼??傮w上,唯一感覺是,aiXcoder 2.0 的長預(yù)測(cè)補(bǔ)全很爽,鍵入字符數(shù)明顯比IDE 或Codota要少。
圖注:aiXcoder補(bǔ)全實(shí)測(cè)
圖注:Codota 補(bǔ)全實(shí)測(cè)
從筆者隨機(jī)選取代碼來看,統(tǒng)計(jì)數(shù)據(jù)確實(shí)也驗(yàn)證了我的感覺:aiXcoder 2.0推薦了 57次,我接受了 51個(gè)結(jié)果,三段函數(shù)只鍵入了 106個(gè)字符;Codota 推薦了 28次,我采用了 18次,且鍵入了 169個(gè)字符。
筆記本上跑深度神經(jīng)網(wǎng)絡(luò)
據(jù)aiXcoder發(fā)布的2.0版本的更新信息,他們對(duì)后端的深度學(xué)習(xí)引擎進(jìn)行了大幅修改,大幅提升了反應(yīng)速度,并降低了對(duì)電腦的性能要求。在我的 MacBook Pro 筆記上,基本感覺不到延遲,它和IDE推薦的API基本是同時(shí)出現(xiàn)的。
為了驗(yàn)證是不是全部計(jì)算都在本地完成,我特意關(guān)閉了網(wǎng)絡(luò)連接,看看它對(duì)同一段代碼的預(yù)測(cè)是不是正常,結(jié)果是,關(guān)不關(guān)網(wǎng)絡(luò)連接,預(yù)測(cè)都是一樣的。
另外,在筆記本上用,我還是比較在意性能的,在測(cè)試插件的時(shí)候,特別關(guān)注了它消耗的計(jì)算資源。打開進(jìn)程管理器,一邊寫一邊觀察 CPU 占比?;炬I入代碼的過程中 CPU 占比在10%吧,停止鍵入很快就降到0了。看來,咱的筆記本上還是可以跑深度神經(jīng)網(wǎng)絡(luò)的~
新版 aiXcoder2.0 還有一個(gè)特別好的選項(xiàng),能平衡「補(bǔ)全能力」和「計(jì)算性能」之間的關(guān)系。下圖中間那個(gè)滾動(dòng)條,向左拖動(dòng),越靠近「Faster」,表示會(huì)盡快返回預(yù)測(cè)結(jié)果;向右滑動(dòng),越靠近「Longer」,表示插件將反饋給你更長的結(jié)果,當(dāng)然也需要更多的計(jì)算時(shí)間。
我的臺(tái)式機(jī)比筆記本電腦性能高不少,在臺(tái)式機(jī)上,那調(diào)整滾動(dòng)條就能獲得更好的體驗(yàn),小伙伴們可以試試~~
IntelliJ市場(chǎng)下載,安裝便利
好了,說了這么多體驗(yàn),你是不是也想試試?方法特別簡單,在 IntelliJ 插件市場(chǎng)上,直接搜索「aiXcoder」,即可安裝。
安裝插件以后,它會(huì)自動(dòng)下載服務(wù)端。筆者發(fā)現(xiàn),服務(wù)端的大小比之前的版本小了很多,下載很快完成。安裝后,插件的啟動(dòng)也變快了很多。
隱藏功能——搜Github代碼
除了代碼補(bǔ)全,它還有一個(gè)「代碼搜索」功能,容易被開發(fā)者忽略:在IntelliJ中,直接選中代碼塊,鼠標(biāo)右鍵單擊,會(huì)有一個(gè)「用 aiXcoder搜索相似代碼」的功能,可以直接尋找Github上的相似代碼。
登陸aiXcoder.com的網(wǎng)站,發(fā)現(xiàn)他們居然還發(fā)布了一個(gè)「代碼搜索引擎」,提供了很多搜索Github代碼的辦法,用關(guān)鍵詞搜、用API名字搜、用代碼搜,甚至用自然語言直接搜代碼...
這個(gè)代碼搜索引擎,還可以通過網(wǎng)頁訪問,地址在下面,各位朋友也都可以試試:
codesearch.aixcoder.com
我接著手頭正在寫的二分搜索代碼,在「自然語言搜代碼」中輸入中文「二分搜索」,然后神奇地找到了一票實(shí)現(xiàn)。貌似,我可以直接修改修改就用了~~
體驗(yàn)一番下來,筆者感覺aiXcoder 2.0的確不錯(cuò),贊!
在IntelliJ市場(chǎng)上,aiXcoder2.0已經(jīng)有12.5萬下載了,作為一款國產(chǎn)代碼生產(chǎn)神器,特別希望它有更多的提升,咱們也應(yīng)該多多支持。如果真正體驗(yàn)新插件的魅力,還需要大家真正上手試試。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問題,請(qǐng)聯(lián)系我們,謝謝!