程式碼居然還能這樣寫
這篇文章要介紹的是 GitHub Copilot 。
微軟去年推出的 GitHub Copilot 是一個基於 AI 的程式設計輔助工具,簡單理解就是我們寫點註釋或者寫個方法名,Copilot 就能理解了我們的意思,然後幫我們寫一個相關的方法出來。
使用 GitHub Copilot 很簡單,只需要兩步:
1、在 GitHub Copilot 網站上進行註冊;
2、在各種 IDE 中安裝外掛後就可以使用。
在 http://copilot.github.com/ 這個網站進行註冊,註冊成功後,會提示稽核通過後會給你的 GitHub 賬戶中的主要郵箱傳送郵件。
我大概等待了一天多的時間就收到了郵件。
我現在常用的 IDE是:
-
Mac 上的 VS Code
-
Mac 上的 Rider
-
Mac 上的 IDEA
-
虛擬機器中的 Visual Studio 2022
恰好,這幾個 IDE 都有 GitHub Copilot 外掛,下面就看看怎樣來具體使用。
IntelliJ IDEA
1、在 IDEA 的 中 Preferences 中進行外掛的安裝,搜尋 GitHub Copilot 即可;
2、安裝成功之後,在底部狀態列有紅色的小圖示
3、點選圖示進行 Github 的登入,會彈出下面對話方塊:
4、點選”Copy and Open“ ,會進入到網站,在框中貼上 Code 後繼續,出現下面介面:
5、選擇授權後,IDEA 中會出現下面彈窗,點選 Agree :
6、到這外掛就已經安裝成功,建立一個空白類 TestGitHubCopilot 類來試試效果,當輸入註釋 //氣泡排序
後回車,等一小會就會出現氣泡排序的程式碼,如下圖:
按下 Tab 鍵這個程式碼就會插入到類中了,是不是很方便。
Rider
雖然 VS 也推出了 Mac 版,但在 Mac 中我還是習慣使用 Rider ,功能非常強大。以前在 Windows 中使用 VS 時會安裝 Resharp 這個外掛來提升效率,而 Rider 是在 Resharp 基礎上開發出來的 C# IED。
GitHub Copilot 可以在所有 JetBrains 的工具中使用,Rider 也是其中一員,所以使用步驟和 IDEA 中基本一致。
也同樣建立一個 TestGitHubCopilot 空白類來測試,除了寫註釋,還可以直接寫方法名,比如想計算兩個日期的天數,可以寫方法名 CalculateDaysBetweenDates ,效果如下圖:
Visual Studio Code
1、在 VS Code 的外掛中搜索 Copilot ,進行安裝即可。
2、安裝完後,需要登入 GitHub,如果錯過了登入,將外掛禁用再啟用,重啟 VS Code ,會再次彈出下面的對話方塊:
3、建立一個 js 檔案,寫一個函式 yanzhengyouxiang ,使用漢語拼音居然也能識別,確實挺厲害的。
如果發現程式碼不能滿足,還可以選擇下一個,如果符合要求,按 Tab 鍵確認。
Visual Studio 2022
1、在 VS 中使用 GitHub Copilot 需要用 17.1.2 或以上版本,點選頂部選單的擴充套件->管理擴充套件進行外掛的安裝。
不過不是很容易下載成功,試過正常網路和科學上網都是一樣,總是下載到一半就提示錯誤,我運氣比較好,嘗試很多次後終於成功了。
2、下載完成後,安裝介面如下圖:
3、安裝成功後,在編輯區域的下方點選小圖示,在彈出的選單中進行登入:
4、登入的步驟和上面的一樣,登入驗證成功後,建立一個 TestGitHubCopilot 類進行測試,在類中輸入方法名QuickSort ,立即就出現了提示程式碼,如下圖:
GitHub Copilot 雖然功能很強大,而且還在不斷學習中,但只能起到幫我們去搜索程式碼的作用,不過可以暢想一下,雖然 AI 的越來越成熟,有沒有可能在我們和客戶聊完需求後,稍作整理,就能讓 AI 編寫出能執行並且符合業務的程式呢?
如果說讓 AI 能自動生成滿足業務的程式還比較遙遠,但現在火熱的零程式碼產品卻能大大提升效率,讓程式設計師能夠專注在業務上。
我們有一個零程式碼的交流群,歡迎進群交流,也希望對您能帶來一些幫助。
- 時隔六年,軟技能第二版來了
- C#反射,效能優化,不止於優化
- 又解鎖一款筆記工具:Logseq
- 微服務:服務間如何通訊?
- 如何提升寫作能力?
- 程式碼居然還能這樣寫
- 微服務:如何拆分服務?
- 推薦一款卡片筆記工具
- .NET 誕生 20 週年,我和 .NET 相伴的 17 年
- 我為什麼喜歡使用Typora
- 設計模式:面向物件的設計原則下(ISP、DIP、KISS、YAGNI、DRY、LOD)
- 設計模式:面向物件的設計原則上(SRP、OCP、LSP)
- 設計模式:面向物件的基礎知識
- 零程式碼平臺中的服務編排思路
- 現在還需要學習設計模式嗎?
- 使用零程式碼平臺構建應用,應該怎樣轉變思路?
- 12 個問題搞懂 Redis
- 掌握好的學習方法,讓你在職場更有競爭力
- 提升心力---擺脫拿著錘子看啥都是釘子
- 你有做 Code Review 嗎?