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 this
PS: 比較快捷,但是預設輸出方式是英文
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
行內操作