JAVA--AI编程助手【代码智能补全工具】盘点,让AI提高你的编程效率
1. 什么是AI編程助手
近幾年,隨著人工智能的迅速發展,AI在各行各業都有所應用。
特別是近兩年,面向開發者的AI開發工具也是層出不窮,如GitHub Copilot、Codota、TabNine、國內的阿里云Cosy、AIXcoder。
這些AI編程助手增強了IDE的代碼提示和自動補全功能,能極大的提高開發效率
目前市面上主流的AI編程助手見下圖【圖來自于程序員編碼加速器,代碼智能補全工具盤點】:
個人推薦使用阿里云Cosy的離線版本,給出的代碼提示比較正確、合理,并提供強大的代碼搜索功能。
其它AI編程助手,要么收費,要么需要聯網,要么使用本地版本時需要消耗較多的內存和CPU。
2. AI編程助手
2.1. 敲代碼神器Copilot
- 2021年6月29日,微軟與OpenAI共同推出了一款AI編程工具GitHub Copilot。
- 2022年6月22日,Copilot已正式上線,定價每月 10 美元(約 66.9 元人民幣)或每年 100 美元(約 669 元人民幣),對學生用戶和流行開源項目的維護者免費提供。
- 你可以嘗試GitHub Copilot免費60天的試用期。在免費試用之后,你需要付費訂閱才能繼續使用。
GitHub Copilot uses the OpenAI Codex to suggest code and entire functions in real-time, right from your editor.
You can use GitHub Copilot to get autocomplete-style suggestions from an AI pair programmer as you code.
就是說使用GitHub Copilot,在編寫代碼時,可以實時得到內聯建議【這些建議可能是代碼片段或整個函數的代碼】并自動完成編碼。
如果你使用JetBrains IDE,你可以直接在編輯器中查看和合并來自GitHub Copilot的建議
使用文檔參見:github copilot docs
GitHub Copilot 是結對編程的虛擬版本。
結對編程是一種常見的敏捷軟件開發技術:即兩個開發人員在同一個項目上并肩協作,輪流編寫代碼并檢查合作伙伴的輸出。
Copilot 可以支持十幾種語言,與 Python、JavaScript、TypeScript、Ruby 和 Go 等主流語言配合效果更佳。
GitHub Copilot 還可以將注釋轉換為代碼。只需要寫一條評論,描述想要的邏輯,GitHub Copilot 就能自動“理解”并寫出相應功能的代碼,也能自動填充重復代碼!
2.2. 阿里云智能編碼插件
阿里云智能編碼插件(Alibaba Cloud AI Coding Assistant)是一款AI編程助手,于2021年10月份發布
提供代碼智能補全和代碼示例搜索能力,幫你更快更高效地寫出高質量代碼。
詳見參見:docs
如何使用參見:cosy 使用文檔
提供的功能如下:
- 代碼智能補全:
- 通過學習海量優質的開源代碼,代碼智能補全讓你編碼如行云流水般自然高效,事半功倍地完成編碼工作。
- 隱私保護:用戶的隱私高于一切,代碼智能補全基于離線模式,不會分享或向其它設備上傳你的代碼及個人信息。
- 精準推薦:通過深度學習模型和語法分析相結合,提供更精準的代碼推薦能力,讓你的開發過程專注又輕松。
- 海量代碼示例搜索:
提供代碼示例搜索功能,當你需要實現不熟悉的功能時,無需跳出到瀏覽器中,在IDE內僅需通過簡單的語言描述,即可參考海量高質量的開源代碼示例,為你打造沉浸式編碼體驗。 - 優質技術文檔搜索:
集成多種高質量中英文技術文檔數據源,當遇到錯誤日志或技術難點時,在IDE內便可以輕松查閱技術文檔,官方輔助伴你同行。 - 小身材 高性能:用戶的隱私高于一切,代碼智能補全基于離線模式,不會分享或向其它設備上傳你的代碼及個人信息。
2.3. aiXcoder
aiXcoder是一款全新的智能編程機器人產品,它采用與程序員一起“結對編程”的方式為程序員提供服務【與github copilot類似】,從而提高程序員的編程效率。在aiXcoder的輔助下,程序將擺脫傳統的編程模式,不再需要“逐字逐句”編寫程序。
根據上下文和以往代碼用深度學習技術分析后,在個人編程的時候,根據個人變成習慣做推薦,把編碼常用的結果前置,接著給出更長甚至補完一整行的推薦結果,極大的提高你的編程效率。
目前提供了3.0個人版的下載
如果您的開發環境無法訪問互聯網,可以使用aiXcoder的安裝器離線安裝
特點如下:
- 本地補全引擎:推理引擎完全本地運行,無須上傳代碼,更好地保護用戶代碼安全
- 智能學習內核: 核心推理引擎基于先進的深度神經網絡與模型壓縮技術構建
- 學習海量代碼: 使用海量優質開源代碼對智能引擎進行訓練和優化
支持功能
- 代碼智能補全
- 遠程服務模式,代碼需要上傳到遠程服務器,速度更快一點,卡頓感會減少
- 離線模式,會把模型下載到本地,并且會根據當前正在寫的代碼,動態的去下載相應的模型
- 適配企業/私有代碼,是需要收費的
- 代碼示例搜索(支持Java、C++、Python)
- IDE插件端內部不支持,需要跳出到網頁中搜索
- 網頁蛋支持代碼示例搜索、自然語言搜索、相似代碼搜索等
- 適配企業/私有代碼,是需要收費的
- 度量分析
- 編碼時長、智能補全采納率、節省時間等,普通版本不支持
2.4. Codota
Codota成立于2013年,在2014年下旬發布第一個Jetbrains插件版本,主要面向Java開發者。但是,目前Codota公司收購TabNine之后,已經放棄了Codota這款插件,并將老產品改名為了TabNine。效果最好的語言:Java
2.5. TabNine
TabNine是一款比較年輕的開發工具,剛發布的時候還是比較驚艷的,那個時候OpenAI剛開源GPT-2模型不久,TabNine基于GPT-2模型在海量代碼數據上進行調優,打造出了一款針對代碼的深度學習引擎,它能智能識別代碼的上文信息,提供長序列的代碼補全結果。目前,已經被Codota公司收購,并主推該工具,宣稱支持所有主流的開發語言。
支持功能
- 代碼智能補全
- 免費版只提供較為基礎的補全功能,收費的Pro版本補全效果更好
- 遠程服務模式,代碼需要上傳到遠程服務器,但是模型更強大,本地內存占用少
- 離線模式,能夠把模型下載到用戶本地,無法聯網也可使用補全,但是本地內存占用高,有時候CPU會飆高
- 針對專業版提供了適配企業/私有代碼的能力,是需要收費的
- 度量分析
- 在IDE中提供了簡單的編碼效能的數據
在針對Java語言的體驗中,TabNine能對很多情況都生成較長的代碼序列,不僅支持代碼符號,也支持字符串、注釋、Javadoc等內容的自動提示,在這方面還是比較方便的,但是通常自動提示的效果不是很好,畢竟這類信息的生成是需要理解代碼的,而TabNine只能根據上文學習的模式進行生成,沒有真正理解到代碼的邏輯。除了Java文件,Java工程相關的文件如Yaml、properties等配置文件,它也能根據一定的模式進行自動提示。
如果是使用離線模式,內存占用量非常高,cpu占用有時候也會比較高
總結
以上是生活随笔為你收集整理的JAVA--AI编程助手【代码智能补全工具】盘点,让AI提高你的编程效率的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何测一支笔?
- 下一篇: java lisp_AI编程:5种最流行