寫注釋就能自動出代碼?copilot 嘗鮮
copilot 是一個基于 AI 的編程輔助工具。目前已經(jīng)集成在了 vscode 中,后續(xù)可能集成到更多平臺和工具,目前還是測試階段。官網(wǎng)地址:https://copilot.github.com/
支持所有語言
copilot 是利用網(wǎng)絡(luò)中現(xiàn)有的公開數(shù)據(jù),尤其是開源在 Github 上的代碼, 然后基于機器學(xué)習(xí)算法訓(xùn)練出來的。因此 copilot 理論上支持所有編程語言。
目前我測試了 JS 和 Python,效果都還蠻不錯的。官方提供了 ts,go,py 和 rb 語言的示例。
注釋即代碼
你可以通過編寫注釋然后一路根據(jù) copilot 的提示編寫出完整的程序。
比如我想根據(jù) Github 用戶名獲取用戶信息。我只需要寫下這樣一行注釋。以 JS 為例:
//?根據(jù)?Github?用戶名獲取用戶信息
copilot 是如何一步步引導(dǎo)你完成完整功能的呢?我們來看下。
第一步:

注意:注釋下面的代碼顏色是淺色的,是 copilot 提示出來的。下同,不再解釋。
按下 tab 鍵就會淺色的代碼就會被填充,并提示接下來的代碼。
第二步:

再次按下 tab 鍵,整體的代碼就生成了。

類似的例子還有很多,等待大家來探索。
代碼補全
IDE 的一個很重要的功能就是代碼補全。copilot 增強了 IDE 的補全功能。
copilot 可以根據(jù)你的代碼倉庫以及世界上公開的代碼倉庫提示你可能的輸入,從而減少你敲擊鍵盤的次數(shù),在更短的時間寫出更多的代碼,獲取更多的摸魚時間。
舉個例子,仍然以 JS 為例。我想發(fā)送一個 fetch 請求。
fetch('https://www.leetcode-solution.cn',?{
它就提示我:

接下來按照它的提示,只按 tab 不寫代碼的情況就可以寫出如下代碼。
fetch("https://leetcode-solution.cn",?{
??method:?"POST",
??headers:?{
????"Content-Type":?"application/json",
??},
??body:?JSON.stringify({
????question_id:?"1",
????lang:?"javascript",
????code:?"console.log(1)",
??}),
}).then((res)?=>?{
??console.log(res);
});
對我的倉庫功能來說, 上面代碼有一小部分是有問題的。不過我只需要稍微改改就行了。效率提升還是不錯的。
如何使用?
在 vscode 插件市場搜索 github copilot,點擊 install,然后按照提示安裝即可。
安裝好了就可以體驗了!寫寫注釋?敲敲代碼?按按 tab?代碼 duang 的一下就生成了。
總結(jié)
copilot 是一個類似 tabnine 的 ai 編程輔助工具,目前以 vscode 插件的形式提供免費服務(wù),目前是測試階段,還沒有最終發(fā)行。它有自動提示,根據(jù)注釋寫代碼等諸多激動人心的功能。
更多功能以及最新動態(tài)請訪問官方網(wǎng)站:https://copilot.github.com/
后臺回復(fù):typescript,獲取我寫的 typescript 系列文章,絕對精品 后臺回復(fù):電子書,自動獲取我為大家整理的大量經(jīng)典電子書,省去你篩選以及下載的時間 后臺回復(fù):不一樣的前端,自動獲取精選優(yōu)質(zhì)前端文章。 后臺回復(fù):算法,自動獲取精選算法文章。另外也可關(guān)注我的另外一個專注算法的公眾號力扣加加。 后臺回復(fù):每日一薦,自動獲取我為大家總結(jié)的每日一薦月刊,內(nèi)含精品文章,實用技巧,高效工具等等

