現代開發新武器:GitHub Copilot,可以大大加速我們開發!
直接進入業配主題:
- GitHub Copilot 不只是會幫忙補全程式碼,而是真的有在思考,然後猜你想要什麼!
比你另一伴還懂你(?
- 將 Chat 整合在 IDE 中,加速進入心流狀態,可以專注思考邏輯上,程式碼就叫 GitHub Copilot 幫你寫
別講這麼多了,先去申請使用看看吧!
申請 GitHub Copilot 👉🏻 https://github.com/features/copilot
0. 安裝套件 / 申請 GitHub Copilot
- 申請使用 GitHub Copilot
- 目前個人使用 10鎂/月,100鎂/年(首月免費!)
- 學生教育方案免費(請不要當假學生)
- 安裝插件
- Visual Studio Code
- GitHub Copilot
- GitHub Copilot Chat
- VS Code Speech (Options,用說的下 Prompt 但目前只支援英文)
- JetBrains
- GitHub Copilot (Chat 含在 Copilot不用安裝,但還在預覽版要排隊申請)
- Visual Studio Code
1. 提示 vs.自動補全
提示
就好像是一種聯想,它是有本身想法的。
它會根據你給關鍵字猜想你要講什麼事情,算是一種引導。
自動補全 Code Insight / code-completion / IntelliSense / YouCompleteMe (?)
這就好像是有它在旁邊幫你查字典
你打了某個詞他就會把後續的意思打完,但是如果你的字典裡面沒有那一些詞彙的話,它就不知道要回應什麼。
以往 IDE 或是文字編輯器都內建自動補全,或者說是模糊比對檔案關鍵字,讓開發不用打那麼多字(完整字詞),Tab 大法按就對了 🤣
GitHub Copilot 是會根據提供現有的資料,真的思考過後配合現在程式碼的上下文給出提示!
現有的資料大部分是由 IDE 開啟的檔案、IDE 同專案的程式碼、也會參考 GitHub 公開的 Repository,所以才可以寫出跟你很像的程式碼!
當然如果看起來很怪或者很爛的話…可能就是__的問題 😏
2. 使用方式
基本用法
直接打程式碼自動就會有 GitHub Copilot 提示了
科目ㄧ:幫忙過濾資料
這有個取得價格修改紀錄的 function,其中包含系統產生的或者使用者新增的。
有一個需求是只要顯示使用者修改的紀錄給使用者看,所以需要增加過濾的條件
原本長這樣:
我只是加了一個參數:$filter_system
(我字都還沒打完,GitHub Copilot 就猜到了)
接著下方判斷式,我剛要開始打字,GitHub Copilot 就打完了… 還會用常數 self::SYSTEM_USER_ID
超優秀 🤩
科目二:變數命名清楚,就寫完了
連 GitHub Copilot 都知道台灣週休二日(還好沒有提示給只休一天,更奴 🥲
科目三:
進階用法
選取程式碼後,輸入指令(快捷鍵 cmd + i)讓 GitHub Copilot Chat 幫忙寫完
指令可以是(後面可以多給 Prompt)
- 修正
/fix
- 簡化
/simplify
超級好用,推薦 ⭐⭐️⭐️⭐️⭐️️ - 寫測試
/tests
(不過專案程式架構要標準化,不然會怪怪的) - 給我個解釋
/explain
- 補上文件
/doc
/simplify
這裡一個迴圈,原本的寫法是這樣
請 GitHub Copilot Chat 優化 /simplify
發現 GitHub Copilot Chat 忘記幫我初始化了 /simplify set zreo first
,你沒看錯英文那麼爛 GitHub Copilot Chat 都懂(零還打錯成 zreo 也通哦,超扯…
也可以用於簡化寫法喔~
After
/explain
還會幫忙翻譯名詞,超級詳細
3. 不負責聲明
感謝科技帶給我們便利,但是寫出來的東西是否可以所用就要靠人類大腦來判斷,所以目前我應該還不會被裁員(誤)
透過 GitHub Copilot 整合 Chat 在 IDE 一起使用,省去切換 ChatGPT 的麻煩,可以好好進入心流開發真的蠻讚又輕鬆。
有一個很 OP 的指令: /new
可以直接從無到有幫忙生一個專案!
不過這個功能還只是個孩子,還在地上爬。產生出來的東西基本上不能用,不過已讓我大開眼界 🤯
希望好的工具可以幫助到大家,底下歡迎留言告訴我都怎麼使用 GitHub Copilot 吧!