github copilot最強使用攻略

github copilot

年初的時候,就聽說了Copilot這個外掛,但是一直沒有去嘗試使用。直到最近才去嘗試使用,比較了其它幾款ai相關外掛,總的來說copilot使用體驗非常不錯。

網上也有大量的介紹copilot的文章,但是對使用技巧介紹不算特別多,自己嘗試總結下,希望本文能幫助到大家。

1. 什麼是copilot?

GitHub Copilot 是由 GitHub 和 OpenAI 共同開發的人工智慧程式碼輔助工具,俗稱:副駕駛,透過外掛的方式安裝到編輯器(vs code)後,可以幫我們自動補全程式碼、根據註釋生成程式碼、解釋程式碼、生成測試程式碼、生成註釋等等。

2. 為什麼有了GPT還需要copilot?

我們已經可以直接向GPT提問,為啥還需要copilot;

copilot內嵌到vs code編輯器中,無需離開我們的程式碼編寫環境就能提問、處理、生成程式碼(省去把問題或者GPT的回答來回貼上的繁瑣) copilot生成的程式碼更貼近專案(它是基於專案當前程式碼上下文生成的),因此能生成基於當前專案程式碼風格的程式碼,可移植性更高。

3. 如何安裝?

在編輯器,這裡主要說的是vscode編輯器中,安裝兩個外掛:

github Copilot github copilot ChatSnip20231224_1.png

外掛安裝好後,需要註冊登入,登入方式是透過github賬號授權登入。

Snip20231224_6.png

3.1 注意1: github開啟使用

需要注意的是,授權登入的時候需要到您的github賬號settings > billing and plans > plans and usage找到github copilot 然後enable Copilot Copilot

Snip20231224_3.png

3.2 注意2: 編輯器中開啟配置代理

Copilot Copilot需要用到代理,在vscode中,透過settings 搜尋proxy下配置就行。

Snip20231224_5.png

3.3 收費問題

copilot是收費的,對於第一次使用,首月免費,然後訂閱費用是10美元一個月,按年是100美元。 對於我們普通打工人來說還是稍微貴了點,不過我們有其它便宜的途徑。

比如找:x寶、x魚啥的,他們有提供學生包,不過不太推薦,這種有封github賬號的風險,如果實在是要用,那麼我建議你用一個子賬號,不要用你的主賬號。

當然,如果您對這些不太放心,也可以私下找我,推薦一個更靠譜的資源。

4. 使用技巧

好啦!說了這麼多終於來到了最重要的環節,如何使用?

總的來說,使用有兩大區域塊:

chat區域,直接在聊天框中輸入你的問題(PS: 你可以選中你的程式碼行,這樣問問題的時候,它會根據你的程式碼行生成更可靠的答案) 編輯器檔案中(比如:自動提示、註釋生成程式碼等等)

我們的所有使用場景,其實都是在上面兩大區域完成的。理論上而言,chat區域可以完成所有功能,只是編輯器檔案中,更友好點而言:

通常而言,chat區域生成的內容會多一點,全面點。

下面我們具體使用點

4.1 自動建議(Tab)

這種最簡單,你在寫程式碼的時候它自動的給你提示,提示的內容是灰色的,您可以按下Tab鍵接受建議, 透過Esc鍵丟棄提示。

Snip20231224_8.png

如果對自動建議不滿意,可以切換:

alt(option) + ] 下一條建議alt(option) + [ 上一條建議

4.2 註釋生成程式碼

這是最強大、也是最使用的功能之一。 您可以先寫一段註釋,寫的越詳細,它生成的程式碼就越滿足您的要求。

方式1:一般而言你寫完註釋後,它在下一行它會有自動提示,如果沒有自動提示。你可以透過alt(option) + \來觸發自動提示。

方式2:另外一種更好的方式是,此時按下ctrl + enter輸出十種程式碼實現,哪種好,接受那種就行。 這種方式非常推薦!!!

Snip20231224_9.png

當然你也可以直接在chat中直接問。

4.3 解釋程式碼

這對於你看程式碼來說,真的太方便了,不熟悉的語法知識點啥的隨便問。 有幾種方式:

方式1選中要解釋的程式碼,在chat聊天框中輸入/explain 如果要按照中文解釋,多寫一些字比如:/explain 用中文解釋

Snip20231224_10.png

方式2選中要解釋程式碼,右鍵copilot > explain thisPS: 比較快捷,但是預設輸出方式是英文

4.4 生成測試

前面的解釋程式碼的方式一、方式二,換成/tests generate tests即可

4.5 行內操作

所有的解釋、生成程式碼、測試、fix等都可以在行內操作進行。

所謂行內,就是在不離開編輯器檔案程式碼的的情況下操作,這個時候只需要按comand + I這個時候會當前游標所在的行展示一個輸入框,在輸入框可以提問,也可以輸入/explain``/tests等等。

Snip20231224_11.png

有時候對自動生成的程式碼不滿意,可以選中程式碼,對它提要求,可以在行內操作完成。

4.6 q/a對話

在任意程式碼檔案中輸入註釋符號,然後輸入q: 後跟一個問題,比如// q: xx問題, 在下一行中輸入// a:copilot會提供最簡短的回答內容。

Snip20231224_12.png

4.7 chat聊天區域擴大

如果我們嫌chat區域不夠大,又或者我想用這個chat聊天來學習,如果始終還是在左側區域那麼久顯得非常小了,我們可以點選chat頂部的三個點擴大後使用,變大了非常爽!

Snip20231224_13.png

4.8 快捷鍵總結

alt(option) + \ 手動觸發提示alt(option) + ] 下一條建議alt(option) + [ 上一條建議ctrl + enter 十種程式碼實現comand + I 行內操作