代碼居然還能這樣寫
這篇文章要介紹的是 GitHub Copilot 。
微軟去年推出的 GitHub Copilot 是一個基於 AI 的編程輔助工具,簡單理解就是我們寫點註釋或者寫個方法名,Copilot 就能理解了我們的意思,然後幫我們寫一個相關的方法出來。
使用 GitHub Copilot 很簡單,只需要兩步:
1、在 GitHub Copilot 網站上進行註冊;
2、在各種 IDE 中安裝插件後就可以使用。
在 https://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 嗎?