日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

GitHub Copilot的最佳免費平替

GitHub Copilot的最佳免費平替

在如今這個人工智能高速發(fā)展的時代,每個行業(yè)都在被AI技術(shù)影響而改變。層出不窮的AI輔助工具,讓我們看到了機器正在取代一部分基礎(chǔ)的日常工作。對于我們開發(fā)者而言,當前最炙手可熱的就是GitHub Copilot,市面上最好的開發(fā)者輔助工具。GitHub Copilot所提供的代碼補全、建議、解釋等能力非常強大,可以有效地提高編程速度。但是,GitHub Copilot是基于OpenAI所構(gòu)建,后者的成本并不小,所以GitHub Copilot成為一款付費工具是非常自然的。

那么,對于預(yù)算有限的開發(fā)者而言,是否有合適的免費平替呢?答案是肯定的!今天,就給大家推薦最近我一直在用,且覺得還不錯的插件:通義靈碼open in new window。推薦的理由,我總結(jié)為以下幾點:

  1. 極低的上手門檻
  2. 強大的代碼補全和編碼提示
  3. 快捷好用的智能問答

#極低的上手門檻

一些眾所周知的原因,相信體驗過GitHub Copilot的開發(fā)者一定都是經(jīng)過一番折騰才用上其強大能力的。這對于一些初學(xué)者用戶來說門檻非常高,同時對于一些有審查要求的環(huán)境更是不可能使用。

與此相比,通義靈碼的上手門檻極低:

  • 安裝簡單:用戶只需要在JetBrains系IDE或VS Code的插件市場里搜索:TONGYI Lingma,就能完成一鍵安裝

GitHub Copilot的最佳免費平替GitHub Copilot的最佳免費平替

  • 極易上手:無需配置,自動提示。插件在開發(fā)者編碼過程中會自動根據(jù)上下文做出提示建議,如提示建議不錯,直接按Tab采納即可。如果需要手動喚出提示,也只需要通過快捷鍵? P快速彈出提示(Windows快捷鍵:Alt P)。除了這兩個最常用的操作之后,還有一些操作可參見下表:

macOS

Windows

接受行間代碼建議

Tab

Tab

廢棄行間代碼建議

esc

esc

查看上一個行間推薦結(jié)果

? [

Alt [

查看下一個行間推薦結(jié)果

? ]

Alt ]

手動觸發(fā)行間代碼建議

? P

Alt P

#強大的代碼補全和編碼提示

代碼補全是開發(fā)者日常工作最高頻的操作,雖然很多強大IDE工具都自帶了代碼補全的能力,但這也僅限于一些語法層面的簡單補全,不包含聯(lián)系編碼上下文所推理出的,更有貼近用戶編碼意圖的智能補全和提示。所以,這也是現(xiàn)在很多AI輔助工具吸引人的地方,它們可以提供更為出色的,甚至驚艷的補全效果。

那么通義靈碼在代碼補全方面,是否可以平替GitHub Copilot呢?這里DD根據(jù)很多博主介紹GitHub Copilot的場景來測試了一下,供大家參考:

#行級補全

之前講過,行級補全在大部分IDE中已經(jīng)包含,但AI工具的行級補全更為強大,它的強大之處在于能夠根據(jù)你的輸入來推理邏輯補全。

比如:我要定義一個B站視頻的URL,只要參數(shù)名中含有B站視頻URL相關(guān)的描述,就會直接給出模版。這樣的能力是完全不同于IDE所提供的行級補全的。

GitHub Copilot的最佳免費平替

#函數(shù)級補全

函數(shù)級補全是DD看到GitHub Copilot演示案例中最常見的強大能力,開發(fā)者只需要輸入有含義的函數(shù)名稱,具體的實現(xiàn)就自動提示了:

GitHub Copilot的最佳免費平替

所以,必須在通義靈碼中也嘗試一下!

先嘗試了一下簡單的冒泡排序

GitHub Copilot的最佳免費平替

輕松完成!

再嘗試一下稍微有點難度的快排算法:

GitHub Copilot的最佳免費平替

似乎失敗了?只給出了一些簡單提示,并沒能得到完整的邏輯。后面,DD又嘗試了幾次,最終獲得了一個完整結(jié)果,具體如下:

GitHub Copilot的最佳免費平替

所以,在函數(shù)級補全這個功能上,可能還存在一些差距,有待后續(xù)提高吧。

#自然語言補全

自然語言補全的主要場景就是寫注釋,AI工具自動生成代碼。

這里DD也找了個場景測試了一下。比如下面是Spring Boot中一個文件上傳的后端處理邏輯,我嘗試通過自然語言的方式來描述邏輯,通義靈碼迅速補全了與注釋相關(guān)的代碼:

GitHub Copilot的最佳免費平替

#上下文感知能力

對于上下文的感知是AI工具的重要特色,也是這類工具時不時驚艷到我們的核心。

比如,下面這種場景,在我第一碰到時,還是有被AI的理解能力所嚇到:

GitHub Copilot的最佳免費平替

可以看到,當我要為這個Controller添加Swagger的API說明時,它居然理解了這個Controller內(nèi)做的都是微信支付的操作,所以給出了tags="微信支付"的提示。

隨著這段時間的使用,出現(xiàn)過很多驚艷到我的補全提示,比如當我要寫一個操作FTP的API時,出現(xiàn)了這樣一幕:

GitHub Copilot的最佳免費平替

可以看到,在我創(chuàng)建了FtpController之后,通義靈碼自動找到了同項目中的FtpService,并給出了依賴提示,這一操作非常符合預(yù)期。之后,通過換行操作,通義靈碼又給出了進一步的提示,這步提示也非常神奇,因為它的內(nèi)容已經(jīng)不僅僅是對當前上下文的理解,而是結(jié)合上下文與依賴內(nèi)容的理解,并給出了調(diào)用依賴內(nèi)容的提示。

通過這段時間的實踐,我認為通義靈碼的感知能力已經(jīng)非常不錯,它可以很好的理解項目中的各個元素,并找到它們之間的關(guān)系,然后在開發(fā)者編碼過程中給出一些可能需要的提示。同時,我也發(fā)現(xiàn)養(yǎng)成良好編碼習慣的優(yōu)勢也在這里有所體現(xiàn)。因為在擁有良好項目結(jié)構(gòu)和命名規(guī)范的工程下編碼時,此類AI工具給出的提示就相當有水準,也許這樣更有助于AI理解我們的工程吧。

#快捷好用的智能問答

通義靈碼插件在IDE中自帶一個智能問答的窗口,具體位置和基本使用方法如下:

GitHub Copilot的最佳免費平替

圖中我還問了一個問題:讓通義靈碼幫我寫一個文件操作類,它就給了我一個不錯的代碼封裝和使用案例。如果你覺得不錯的話,就可以通過回答右上方的按鈕,以不同的方式添加到工程中:

GitHub Copilot的最佳免費平替

是不是很棒呢?要知道GitHub的Chat可不是直接可以用的,相信還有不少小伙伴還在排隊吧?

GitHub Copilot的最佳免費平替

通義靈碼的智能問答窗口除了處理基本問答之外,其實還有一些更有意思的功能,比如:解釋代碼和生成單元測試

上面我們體驗了代碼補全能力,但是它補全的內(nèi)容到底對不對呢?必須趕緊驗證一下,順便再體驗一下通義靈碼的另外2個實用功能:

  • 解釋代碼
  • 生成單元測試

下面就來看看上面生成的能否經(jīng)受住它自己的考驗 ^_^

操作很簡單,只需要選中上面生成的代碼片段,點擊鼠標右鍵,可以看到解釋代碼和生成單元測試:

GitHub Copilot的最佳免費平替

先來試試解釋代碼,點擊之后會在IDE右側(cè)彈出問答框,具體如下:

GitHub Copilot的最佳免費平替

沒啥問題,通過第一關(guān)考驗!

下面再嘗試一下:生成單元測試。馬上就獲得了如下代碼:

GitHub Copilot的最佳免費平替

直接添加文件之后,運行起來。成功通過測試!上面自動補全的代碼是正確的!

GitHub Copilot的最佳免費平替

#總結(jié)

最后,聊聊這段時間使用通義靈碼的感受。其實,剛開始嘗試的時候也是碰到一些問題,尤其對于關(guān)于AI輔助的補全能力,會有一些不太適應(yīng)。可能補全能力與項目內(nèi)容和自己日常的編碼習慣有關(guān),隨著每天不斷的使用,插件似乎在理解項目內(nèi)容和我的習慣,并不斷給出更讓我滿意的提示內(nèi)容。所以,這個使用過程是越用越順的?,F(xiàn)在已經(jīng)是我必不可少的效率神器了。

雖然,通義靈碼總體能力上離GitHub Copilot還有一些差距,但大部分輔助編碼能力已經(jīng)非常接近GitHub Copilot。同時,它的生成速度很快,而且跟IDE適配很好,ide里直接chat也很爽,加之阿里通義千問模型的支持。在一眾免費的AI編碼輔助工具之中脫穎而出,可以說是GitHub Copilot的最佳平替了。

如果您正在尋找AI輔助編碼工具,但又覺得GitHub Copilot上手折騰麻煩或者覺得太貴,那么建議免費嘗試一下通義靈碼,相信不會讓你失望。另外,DD看到社區(qū)有其他開發(fā)者反饋初學(xué)者使用非常絲滑,尤其是對于Python。所以,如果你是初學(xué)者或者Pyhon開發(fā),那么也推薦試試。

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部
江西省| 北宁市| 陇西县| 凤阳县| 郸城县| 大英县| 全南县| 石城县| 青岛市| 西昌市| 新源县| 水城县| 南江县| 福鼎市| 军事| 仙桃市| 新巴尔虎左旗| 紫金县| 苏州市| 钟山县| 阿克陶县| 方正县| 镇安县| 遂昌县| 松潘县| 繁峙县| 姚安县| 福安市| 新干县| 额尔古纳市| 建瓯市| 淮阳县| 广丰县| 鞍山市| 东兰县| 浦北县| 岳普湖县| 天台县| 朝阳市| 嘉善县| 哈巴河县|