sponsored links

GitHub Copilot推出IntelliJ IDEA外掛,自動生成程式碼用起來

GitHub Copilot推出IntelliJ IDEA外掛,自動生成程式碼用起來

前幾天給大家介紹過一款IDEA編碼自動註釋工具,可以幫助小夥伴們的程式設計效率,想必很多人已經下載使用了,還沒看過想了解下的小夥伴點這裡:IDEA編碼自動註釋工具,讓你的開發更有效率

然而此時此刻TJ君腦海中有一個大膽的想法,如果有一款工具,能反過來根據註釋自動給出程式設計程式碼,是不是程式猿們都會笑的合不攏嘴,爽歪歪?

別以為TJ君說的是天方夜譚,就在前不久的 GitHub Universe 2021開發者大會上,GitHub官方正式宣佈了一款名為 Copilot工具的更新。

說起Copilot這個名字,相信一直關注GitHub的小夥伴馬上腦海中會浮現出今年早些時候看到的新聞。

就在今年夏天,GitHub 官方和OpenAI聯合釋出了一款AI自動程式設計工具,其名字正是 GitHub Copilot 。就像前文TJ君想的那樣,透過Copilot,程式設計師只需輸入註釋,即可自動生成程式碼!

當時一時間在程式猿圈子裡還引起了不少的轟動,但更多的是對這個工具的疑問,還因此引發了一個快速平方根倒數演算法事件

快速平方根倒數演算法,是當年紅極一時的雷神之錘3(Quake 3,也是TJ君當年的最愛之一)的開發者約翰·卡馬克用的一段程式碼。

GitHub Copilot推出IntelliJ IDEA外掛,自動生成程式碼用起來

卡馬克大神

這段使用多項式逼近計算平方根的程式碼,至今都沒什麼人能明白卡馬克的腦子是怎麼想出來的,以至於這段程式碼阿註釋直接是what the f***?很貼切了

GitHub Copilot推出IntelliJ IDEA外掛,自動生成程式碼用起來

而有開發者在Copilot釋出後不久就發現,只要輸入 快速平方根倒數演算法(Fast Inverse Square Root,當然是英文)作為註釋,Copilot 就會逐行逐字地重現了這段神奇的演算法,一字不差,甚至連那個誇張地註釋都沒變。

這下子彷彿在程式猿小夥伴中間投了顆原子彈,大家都在問難道Copilot只是把別人的程式碼拿來複制一下就是所謂地自動生成了?

那這之後各種版權問題咋搞,萬一用了Copilot生成一段程式碼卻被人起訴了怎麼辦?甚至有科技公司直接宣佈禁止旗下員工使用Copilot開發公司產品,就是為了減少不必要的麻煩。

一時間各種針對Copilot地非議愈演愈烈,甚至傳出了自動生成內容是某個公司大佬身份證這樣的訊息,當然後來被澄清是一個笑話。

但是GitHub並沒有退縮,認為Copilot並沒有簡單的抄襲其他人的內容,而是經過大量訓練的AI自動生成所需程式碼,和抄襲完全是兩回事。反正這件事情後來也麼了下文,當時Copilot也只支援 Visual Studio Code。

不過前幾天的這次更新之後,Copilot將全面支援Neovim 和 JetBrains IDE,包含開發者常用的 IntelliJ IDEA、PyCharm 等。同時增加了對 Java 中多行補全的支援,並計劃在未來幾個月內支援Python、Java、Type、Ruby 和 Go之外更多的語言,似乎真的是要大幹一場。

如果想用Copilot的話,需要將 IntelliJ IDEA 和 PyCharm 升級到 2021.2 或以上版本、Neovim 的版本則需要升級成 0.6 或以上版本,並且需要安裝 Node.js v12 或以上版本。

安裝重啟之後就可以在工具欄看到安裝好的Copilot

GitHub Copilot推出IntelliJ IDEA外掛,自動生成程式碼用起來

然後登陸GitHub賬號,同意相關條款

GitHub Copilot推出IntelliJ IDEA外掛,自動生成程式碼用起來

那說了那麼久,這款號稱可以自動編碼的外掛具體使用效果如何呢?就讓TJ君帶你領略一下或許是未來的編碼趨勢與潮流:

例如在專案裡新建了test類,Copilot馬上就會給一個建議生成的主體

GitHub Copilot推出IntelliJ IDEA外掛,自動生成程式碼用起來

此時只需要輕按一下tab鍵,就可以接受建議自動生成,無需手打這段程式碼。

GitHub Copilot推出IntelliJ IDEA外掛,自動生成程式碼用起來

同樣的如果輸入了一個函式標題,也會自動出現推薦的函式主體內容,一樣是用tab鍵接受。

GitHub Copilot推出IntelliJ IDEA外掛,自動生成程式碼用起來

當然,Copilot不止會給出單一的自動編碼推薦,使用者可以使用Alt+]或者Alt+[來逐個切換不同的推薦,就像逐個挑選一件件商品一般,選中之後輕按一下tab鍵使用即可。

而透過Alt+Enter可以直接開啟各種推薦的列表,便於查詢。

GitHub Copilot推出IntelliJ IDEA外掛,自動生成程式碼用起來

至於TJ君之前夢想的根據註釋自動生成程式碼,有一個前提就是必須輸入的註釋能讓機器看懂,也就是說,需要英文註釋。當輸入中文註釋,Copilot不一定看得懂含義,畢竟中文可是博大精深滴。。。

那如果小夥伴的英語水平不錯,Copilot還真的能節省不少時間,例如當用戶寫了如下一段關於給影象增加邊框的註釋:

// find all images without alternate text
// and give them a red border
void process() {

Copilot會自動生成相應的功能程式碼,感覺比自己寫的還順暢:

GitHub Copilot推出IntelliJ IDEA外掛,自動生成程式碼用起來

除了上述Alt+]、Alt+[、Alt+Enter,最常見的操作還包括使用Esc拒絕推薦和Alt + \觸發關聯建議。這裡TJ君提到的操作模式都是基於windows操作,如果使用MAC的小夥伴要注意將ALT鍵換成Option鍵就可以了。

TJ君覺得如果對於Copilot的使用熟練了並且對英文註釋的掌握沒有問題的話,Copilot真的能讓程式設計省時省力,省卻許多手打基礎程式碼的功夫,讓程式猿更多的精力花在整體架構設計或者邏輯實現上。不過到底怎麼樣,還是要用一用才知道,所以小夥伴們趕緊來獲取倉庫地址和外掛下載方法,趕緊試試吧!關注我,私信“copilot”,獲取倉庫地址!

分類: 國際
時間: 2021-11-02

相關文章

英國前首相布朗被任命為世衛組織全球衛生籌資大使
世衛組織網站9月20日訊息,世衛組織宣佈任命英國前首相戈登·布朗為世衛組織全球衛生籌資大使. 宣告稱,布朗不遺餘力地呼籲富裕國家和私營部門確保公平分配新冠疫苗,倡導全球共同努力,以科學和健全的經濟為基 ...

67萬人!美國新冠死亡病例已超100年前“西班牙流感”致死數

67萬人!美國新冠死亡病例已超100年前“西班牙流感”致死數
極目新聞訊息,新冠病毒,正在成為美國曆史上最致命的疫情.根據約翰霍普金斯大學資料,因新冠病毒死亡的美國人數已達67.5萬人,這已經超過了1918-1919年間西班牙流感暴發造成的死亡人數.而專家預測, ...

阿根廷單日新冠死亡病例數創新高 累計死亡病例突破5000例
新華社布宜諾斯艾利斯8月11日電(記者倪瑞捷)阿根廷衛生部11日公佈的資料顯示,該國當天新增新冠死亡病例241例,創單日死亡病例數最高紀錄,累計死亡病例達5004例. 據阿根廷衛生部當天釋出的公報,該 ...

約翰斯·霍普金斯大學:美國累計新冠死亡病例超過70萬例
新華社快訊:美國約翰斯·霍普金斯大學1日釋出的最新統計資料顯示,美國累計新冠死亡病例超過70萬例. 來源: 新華社

俄羅斯新增新冠死亡病例創新高,普京呼籲加快接種新冠疫苗
美國有線電視新聞網(CNN)10月13日報道,俄羅斯總統普京週二重申,俄羅斯必須加速接種新冠疫苗.當地時間12日,俄羅斯新增新冠死亡病例創疫情以來新高. 據報道,普京在向新當選的國家杜馬立法者發表講話 ...

新加坡新增11例新冠死亡病例
<聯合早報>10月13日報道,新加坡本地新增11人死於新冠併發症,本地累計的新冠死亡病例增至183例. 據報道,新加坡衛生部的通報指出,這11名死於新冠併發症的病患中,有五名是新加坡籍男性 ...

世衛組織:全球新冠肺炎確診病例超2.2684億例
根據世衛組織最新實時統計資料,截至歐洲中部夏令時間 9 月 17 日 17 時 20 分(北京時間 9 月 17 日 23 時 20 分),全球累計新冠肺炎確診病例 226844344 例,累計死亡病 ...

路透:全球累計新冠死亡病例超500萬例
半島電視臺10月2日訊息,路透社的一項統計資料顯示,全球感染新冠病毒死亡人數已超500萬人. 據路透社分析,新冠死亡人數達到250萬用了將近一年的時間,而接下來僅236天就又增加250萬例死亡病例.美 ...

外媒:俄羅斯日增新冠死亡病例820例 重回最高紀錄

外媒:俄羅斯日增新冠死亡病例820例 重回最高紀錄
據路透社莫斯科訊息,截至當地時間23日,俄羅斯過去24小時新增新冠肺炎死亡病例820例,與8月26日創下的單日新增死亡病例數最高紀錄持平. 俄羅斯政府新冠肺炎疫情工作組稱,過去24小時,俄羅斯新增新冠 ...

泰國日增新冠死亡病例低於100例,系7月26日以來首次
據<聯合早報>10月2日報道,泰國今日通報的新增新冠肺炎死亡病例為87例.這是泰國自7月26日以來,單日死亡病例首次少於100例. 報道稱,泰國衛生部的資料顯示,過去24小時,泰國新增11 ...

保加利亞累計新冠死亡病例超兩萬例
新華社索非亞9月20日電(記者林浩)保加利亞衛生部20日公佈的資料顯示,截至20日零時,過去24小時該國新增新冠確診病例458例,累計確診482186例:新增死亡病例43例,累計死亡20028例. 資 ...

美國新冠死亡病例超過百年前的“西班牙流感”致死人數

美國新冠死亡病例超過百年前的“西班牙流感”致死人數
9月21日訊息, 美國約翰斯∙霍普金斯大學和疾病控制與預防中心(CDC)釋出的資料表明,因新冠病毒而死亡的美國人數量超過100年前"西班牙流感",成為美國曆史上最致命的疫情. 截至 ...

蒙古國單日新增新冠死亡病例數創新高
新華社烏蘭巴托9月25日電(記者阿斯鋼 蘇力雅)據蒙古國衛生部25日釋出的資料,該國過去24小時新增新冠確診病例2662例,累計確診292591例:新增死亡病例18例,為該國疫情暴發以來單日最高紀錄, ...

世衛組織:全球新冠肺炎新增死亡病例數降至近一年來最低水平
當地時間13日,世衛組織舉行新冠肺炎例行釋出會,世衛組織總幹事譚德塞表示,全球新冠肺炎單週新增死亡病例數量繼續下降,已降至近一年來的最低水平,但根據世衛組織統計資料,全球每週仍有近五萬人死於新冠肺炎, ...

美國累計新冠肺炎確診病例超過4354萬例
根據美國約翰斯·霍普金斯大學於美國東部時間10月1日17時21分(北京時間10月2日5時21分)統計的資料,美國新冠肺炎確診病例已超過4354萬例,達到43548632例.死亡病例數超過69.9萬例, ...

新的世衛組織《全球空氣質量指南》旨在從空氣汙染中挽救數百萬人的生命

新的世衛組織《全球空氣質量指南》旨在從空氣汙染中挽救數百萬人的生命
新的世界衛生組織(世衛組織)<全球空氣質量指南>載有明確證據表明,空氣汙染有害人類健康,甚至在低於以往所知的濃度水平也會導致損害.該指南建議了新的空氣質量水平,以便透過降低主要空氣汙染物的 ...

世衛通報新增新冠確診病例持續減少 全球各地都在降低

世衛通報新增新冠確診病例持續減少 全球各地都在降低
資料圖:伊朗進行大規模新冠疫苗接種工作 海外網9月23日電 世界衛生組織表示,新冠肺炎的新增確診病例上週持續減少,全球通報新增360萬例,前一週則是400萬例. 據美聯社22日報道,全球上週新增確診數 ...

每500人就有一人因新冠死亡,美國深陷疫情,竟沒有官員被問責

每500人就有一人因新冠死亡,美國深陷疫情,竟沒有官員被問責
新冠肺炎爆發到現在,美國的國家形象一直在斷崖式下跌,並且,看起來還有"潛力". 作為全球醫療技術最發達.醫療資源最豐富.醫療護理能力最強的國家之一,美國新冠死亡人數卻一路飆升,屢創 ...

美軍部隊新冠死亡病例數持續飆升,1天內3名軍人死亡

美軍部隊新冠死亡病例數持續飆升,1天內3名軍人死亡
來源:環球網 [環球網報道 記者 徐璐明]美國<軍事時報>網站10月9日報道稱,根據美國國防部的最新訊息,在10月3日這一天有3名美軍士兵死於新冠病毒,使得美軍部隊的新冠死亡人數達到62人 ...

世衛組織:全球累計新冠確診病例達228394572例
新華社日內瓦9月20日電(記者劉曲)世界衛生組織20日公佈的最新資料顯示,全球累計新冠確診病例達228394572例. 世衛組織網站最新資料顯示,截至歐洲中部時間20日19時03分(北京時間21日1時 ...