八個不容錯過的 GitHub Copilot 功能!

GitHub Copilot是一款AI結對程式設計工具,可以幫助開發人員更快地編寫程式碼。這款工具採用了AI技術,能夠根據項目的上下文和風格約定自動補齊程式碼,因此不僅能提高程式設計師的速度,而且能讓他們更加自信。本文將分享八個非常實用的功能與技巧!

原文連結:https://github.blog/2022-09-14-8-things-you-didnt-know-you-could-do-with-github-copilot/

聲明:本文為 CSDN 翻譯,未經允許,禁止轉載。

作者 | Rizel Scarlett

譯者 | 彎月 責編 | 蘇宓

Open AI Codex是一種機器學習模型,能夠將自然語言轉換為程式碼。在此模型的支持下,GitHub Copilot能夠從註釋和程式碼中提取上下文,並提示程式設計師接下來應該編寫的程式碼,甚至是整個函數。Codex是GPT-3的一個版本,專門針對程式設計任務進行了微調。Duolingo等應用程序就使用了GPT-3來校正語法。

2022年6月,GitHub Copilot向所有個人開發人員開放。如果你想了解如何使用GitHub Copilot,請點選此處(https://docs.github.com/en/copilot/getting-started-with-github-copilot/getting-started-with-github-copilot-in-visual-studio-code)。

圖源:GitHub Blog

圖源:GitHub Blog

在安裝GitHub Copilot後,在你輸入程式碼時,它就能給出提示。那麼,我們如何才能最大限度地利用好這個外掛呢?

首先,我建議你書寫清晰易懂的註釋,以幫助你的AI結對程式設計夥伴根據需要生成解決方案。我們總結了一些有趣且有價值的用例,幫助你深入了解GitHub Copilot有哪些驚豔的表現,希望這些例子能給你一定的啟發。

協助非英語母語人士

GitHub Copilot不僅可以理解英語,還可以理解其他語言,這對於非英語母語的開發人員來說很有幫助,因為程式語言都基於美式英語。例如,CSS的屬性color就是美式英語,因此對於母語為英式英語或加拿大英語的人(在這些英語中這個單詞寫作「colour」)來說,「color」是陌生的拼寫方法。拼寫錯誤或語法錯誤會導致程序出錯,浪費很多時間。

在下圖中,我用西班牙語寫了一條註釋,其中包含一個單詞「importar」,翻譯成英語是「import」。但GitHub Copilot很快就按照西班牙語完成了我的註釋,並按照註釋的描述匯入了必要的庫。

此外,GitHub Copilot還可以將英語單詞翻譯成其他語言。MilMikDev在Twitter上發了一則帖子,使用GitHub Copilot將一個包含了一系列單詞「answer」、「question」和「date」 的陣列翻譯成各種語言。

創建查找資料的字典

GitHub開發者關係副總裁Martin Woodward與我們分享了下面這個技巧。GitHub Copilot很擅長創建查找資料的字典。你可以試試看,通過一條註釋讓GitHub Copilot創建包含兩個字母的 ISO 國家程式碼,它就會啟動補齊國家名稱。你只需要編寫一條註釋和前幾行程式碼,GitHub Copilot就可以生成所需的結果。

測試程式碼

在整個軟體開發的生命週期中,編寫測試是至關重要的一個步驟,但有時卻很乏味。GitHub Copilot擁有出色的模式識別及模式補全(pattern completion)功能,因此可以加快編寫單元測試、迴歸測試等。

有關如何使用GitHub Copilot進行測試的更多資訊,請參見下列資源:

  • 使用GitHub Copilot實現自動化測試:https://applitools.com/blog/using-github-copilot-to-automate-tests/

  • 使用GitHub簡化測試:https://github.com/blackgirlbytes

  • 利用 AI 和 GitHub Copilot 編寫更好的測試:https://about.codecov.io/blog/writing-better-tests-with-ai-and-github-copilot/

利用正規表示式匹配模式

GitHub Copilot可以幫助你更快地編寫正規表示式。你只需編寫一條註釋或一個函數名,GitHub Copilot即可給出提示。

GitHub Copilot可以幫助你刪除字串中的空格。

準備技術面試

我發現很多開發人員,包括我自己,都在利用GitHub Copilot來準備面試。

具體方法如下:

  • 首先,我會設法自己解決問題,不依賴GitHub Copilot的幫助。

  • 如果在解決問題的過程中卡殼或感到灰心喪氣,我就會激活GitHub Copilot,並利用它來尋找更好的解決問題的思路。

  • 接著,我會刪除 GitHub Copilot 生成的程式碼,禁用GitHub Copilot,然後根據新獲得的資訊,再次嘗試尋找解決方案。

每當遇到挫折想放棄時,我就會通過這種方法堅持學習。即使沒有導師或同伴指導我,我也不會放棄,因為我隨時都可以獲得新思路。GitHub Copilot就是我的數字導師。但是,請注意,不要在面試期間激活 GitHub Copilot(這是作弊)。

發送推文

當然,你可以直接通過Twitter應用程序發送推文,但我更喜歡通過IDE發送推文。在最近的一次直播中,我需要演示在GitHub Copilot中使用Python調用Twitter API v2,不過我很少使用Python。但在我寫了幾條註釋之後,GitHub Copilot就生成了我需要的程式碼,拯救了我!

如果你也想嘗試使用GitHub Copilot發送推文,請參見這篇文章(https://dev.to/github/how-to-send-a-tweet-with-github-copilot-4ih7)。

退出 Vim

剛接觸 Vim 的開發人員經常遇到的一個問題是:如何退出Vim。如今 Visual Studio Code、JetBrains 和 Neovim都支持GitHub Copilot,因此你可以通過GitHub Copilot退出Vim。

通過Copilot Labs瀏覽新程式碼庫

GitHub Copilot Labs是GitHub Copilot的一個補充擴展,由GitHub Next團隊開發,是一個實驗性質的邊欄,可以幫助開發人員將程式碼從一種程式語言翻譯成另一種,而且還會逐步解釋每一段程式碼。

理解新的程式碼庫很難,GitHub Copilot Labs的這兩個功能可以提供一定的幫助。通過將程式碼翻譯成開發人員更熟悉的語言並使用「解釋」功能來說明程式碼,這樣開發人員就可以更好地理解複雜的程式碼塊。

總結

總結

通過上述示例可以看出,GitHub Copilot可以通過多種方式幫助開發人員提高工作效率。GitHub Copilot是一個非常出色的AI結對程式設計夥伴,它就像你的同事一樣,會審核你編寫的程式碼。

雖然GitHub Copilot的功能十分強大,但有時會出錯或引用過時的API版本。GitHub團隊正在努力向使用者了解情況,並提供更好的開發體驗。我很高興看到AI結對程式設計工具的不斷發展。

相關文章