Affected files: 00. Inbox/doggy8088github-copilot-configs Will 保哥整理的最佳 GitHub Copilot 設定.md
26 KiB
title, author, tags, date, time, description, source, published
| title | author | tags | date | time | description | source | published | ||
|---|---|---|---|---|---|---|---|---|---|
| doggy8088/github-copilot-configs: Will 保哥整理的最佳 GitHub Copilot 設定 |
|
|
2025-04-12T22:37:51+08:00 | 2025-04-12T22:37:51+08:00 | Will 保哥整理的最佳 GitHub Copilot 設定. Contribute to doggy8088/github-copilot-configs development by creating an account on GitHub. | https://github.com/doggy8088/github-copilot-configs |
Open in github.dev Open in a new github.dev tab Open in codespace
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
大家好,我是 Will 保哥,我之前開了三堂關於 GitHub Copilot 的課程,為了這些課程,我精心準備了許多 GitHub Copilot 的應用技巧。為了更好的應用這些 GitHub Copilot 這個好用工具,我測試了幾乎所有 GitHub Copilot 的選項設定,這個 Repo 就是用來整理我認為的 GitHub Copilot 最佳設定 ,讓學員們能夠在課程中更輕鬆的使用 GitHub Copilot!👍
由於課程內容非常豐富,如果沒有報名過我的課程,強烈建議大家可以購買課程的錄影回放,這樣就能夠更深入的了解 GitHub Copilot 的使用方式與技巧。
- 入門課:適合從未使用過 GitHub Copilot 的新手 GitHub Copilot 協作開發實戰
- 進階課:適合有一定基礎的開發者 GitHub Copilot 進階開發實戰
- 代理人:適合希望深入了解 Agent Mode 的 GitHub Copilot 開發人員 全面掌握 GitHub Copilot 代理人模式:打造專屬 AI 開發助手
如果你不知道自己適合哪一堂課,我的建議一律是都買回去看就對了,因為這三堂課的內容是相輔相成的,內容很少有重疊,這樣你就能夠更深入的了解 GitHub Copilot 的使用方式與技巧。
- GitHub Copilot 完整課程 (共三堂)
- GitHub Copilot 入門到進階 (共二堂) 如果你只有報名過 全面掌握 GitHub Copilot 代理人模式:打造專屬 AI 開發助手 這堂課,想要補充我的前兩堂課程的話,可以購買這個組合票。
目前 GitHub Copilot 的 Agent Mode 已在 Visual Studio Code v1.99 之後的版本提供。
我個人還是建議安裝 Visual Studio Code Insiders 開發工具,因為有些功能可能僅在 Insiders 版本中可用,並且會隨著新功能的發布而更新。
Visual Studio Code 是一套跨平台的編輯器,支援 Windows、macOS 與 Linux,因此理論上所有人都可以順利安裝與使用,如果你真的有遇到什麼困難,歡迎隨時到 Discord 課程專屬頻道中發問。
由於 Visual Studio Code 是一套輕量級的編輯器,它的功能是透過安裝「擴充套件」來增強的。
首先,Visual Studio Code 支援完整的「繁體中文」介面,而且翻譯品質非常好,在首次安裝並啟動 Visual Studio Code 後,該軟體就會提醒你安裝繁體中文套件,建議英文不太好的朋友可以安裝繁體中文版。
如果你的介面沒有自動切換到繁體中文版,那就請透過以下步驟手動切換:
- 按下
F1並輸入>display language並選擇Configure Display Language
- 選擇
中文(繁體) (zh-tw)並按下Enter鍵
- 按下
Restart按鈕以重新啟動 Visual Studio Code
GitHub Copilot 的功能是透過安裝 擴充套件 來實現的,你需要安裝以下擴充套件才能順利的使用 GitHub Copilot 工具:
- GitHub Copilot

- GitHub Copilot Chat

- VS Code Speech

- Chinese (Traditional, Taiwan) language support for VS Code Speech

- Live Preview 可以讓你在 Visual Studio Code 裡面的檔案隨時都能透過瀏覽器預覽網頁。
以下是我在精雕細琢之後,覺得最完美的 GitHub Copilot Chat 與 VS Code Speech 設定參數,可以讓你在使用 GitHub Copilot 時更加順暢,也可以讓你在使用語音輸入時更加自然舒適。
請先找到 Visual Studio Code 的左下角或右下角的 ⚙ 圖示,點開之後選擇 設定 與 鍵盤快速鍵 這兩項,依據以下說明調整設定。
你也可以打開 設定 與 鍵盤快速鍵 後,找到右上角的 開啟設定(JSON) 按鈕,你就可以開啟相對應的 settings.json 或 keybindings.json 檔案,直接合併我在下方整理的 JSON 設定也可以,這是最快速的設定方法。
💡 以下兩個檔案我已經整理在 Repo 之中,可以直接下載回去使用:
以下則是我對每一個設定選項的摘要說明:
- 使用者設定
- GitHub Copilot - 一般設定
github.copilot.enable設定在 所有檔案 啟用 GitHub Copilot 功能,但停用「 純文字 」檔案類型。github.copilot.selectedCompletionModel設定為gpt-4o-copilotGitHub Copilot 預設自動補全的模型為copilot-codex(GPT-3.5 Turbo),相較於今日的 GPT-4o 來說,相對比較弱。最近的 Insiders 增加了github.copilot.selectedCompletionModel選項設定,可以讓你調整為更聰明的gpt-4o-copilot模型。你也可以用
F1>GitHub Copilot: Change Completion Model選擇。github.copilot.editor.enableAutoCompletions設定為true啟用程式碼自動補全功能,也就是 Inline 自動完成功能。 因為自動完成功能經常會提供錯誤的提示,有些人會選擇關閉這個選項。github.copilot.editor.enableCodeActions設定為true控制 Copilot 命令在可用時是否顯示為 Code Actions (程式碼動作)github.copilot.renameSuggestions.triggerAutomatically設定為true自動觸發重新命名建議window.commandCenter設定為true如果要啟用chat.commandCenter.enabled設定,就必須啟用這個設定。chat.commandCenter.enabled設定為true設定要不要在編輯器中啟用 Copilot Chat 指令中心按鈕。workbench.commandPalette.experimental.askChatLocation設定為chatView當你按下F1之後詢問Ask GitHub Copilot的結果要顯示在哪裡,選chatView就會留下提問記錄,若選quickChat就不會留下。github.copilot.chat.search.semanticTextResults設定為true在 搜尋檢視 中啟用 語意搜尋結果 。github.copilot.nextEditSuggestions.enabled設定為true(預覽功能) 在編輯器中啟用 下一個編輯建議 (NES)功能。NES = Next Edit Suggestions
editor.inlineSuggest.edits.showCollapsed設定為true在啟用 下一個編輯建議 (NES)功能之後,編輯器會經常提醒你要不要按下 Tab 貼上建議的程式碼。但是預設這些建議都會直接在編輯器上占空間,有時候非常干擾我們的開發心流,所以我個人建議將這個設定調整為true,他就不會一直跳出來顯示你要按下 Tab 會被加入的內容了。
- GitHub Copilot Chat
github.copilot.chat.followUps設定為firstOnly或always是否要在聊天中建議跟進訊息,提供你 下一個提示 的建議。github.copilot.chat.localeOverride設定為zh-TW設定 GitHub Copilot Chat 的回應語言預設為 繁體中文github.copilot.chat.useProjectTemplates設定為true使用/new時直接選用 GitHub 專案範本github.copilot.chat.scopeSelection設定為true如果使用者使用/explain並且使用中編輯器沒有選取,是否提示使用者選取特定符號範圍。chat.detectParticipant.enabled設定為false在 Chat View 聊天的時候自動偵測適合的 聊天參與者 來執行你的需求,因此你可以不用特別透過@叫用聊天參與者。 如果設定為true的話,如果呼喚出錯誤的 聊天參與者 ,可以按下rerun without重跑一次,這時就會交給 Copilot 來回答。(說明) 依照我的過往經驗,設定為true的時候,經常會叫錯 聊天參與者 ,所以我個人是建議將該設定調整為false比較好。chat.promptFiles設定為true(實驗性功能) 啟用提示檔案(prompts)功能,讓您可以在 VS Code 建立可分享、可重複使用的提示指令,並附加額外的上下文。 可運用在 Chat View, Edit View, Agent Mode, Inline Chat 等環境下。 詳見 Reusable prompt files (experimental)github.copilot.chat.languageContext.typescript.enabled設定為true(實驗性功能) 在 Inline Chat 與 Inline Completion 啟用自動向 TypeScript Language Service 取用 Context 資訊的能力,以獲取更多附加額外的上下文。github.copilot.chat.agent.thinkingTool設定為true啟用這個思考工具設定,能讓 Copilot 能夠在代理模式下深入思考您的請求,然後再生成回應。
- GitHub Copilot Chat - 內嵌聊天 (Inline Chat)
github.copilot.chat.editor.temporalContext.enabled設定為true是否要在 Copilot 要求中包含最近檢視及編輯過的檔案。inlineChat.holdToSpeech設定為true按住不放Ctrl+U或Ctrl+I開始語音對話inlineChat.finishOnType設定為false在編輯器中輸入時,不會自動結束 Inline Chat 對話
- GitHub Copilot Chat - 偵錯相關設定
github.copilot.chat.startDebugging.enabled設定為true在 Chat View 啟用實驗性的/startDebugging命令,幫你快速在 VS Code 初始化偵錯相關設定。
- GitHub Copilot Chat - 測試相關設定
github.copilot.chat.setupTests.enabled設定為true啟用實驗性的/setupTests命令,幫你在 VS Code 快速初始化單元測試相關設定。github.copilot.chat.generateTests.codeLens設定為true(實驗性功能) 讓你在編輯器中遇到某一個函式或方法沒有涵蓋到測試範圍時,自動產生Generate tests的 Code lens 建議。github.copilot.chat.testGeneration.instructions設定為以下內容:
- GitHub Copilot Chat - 自訂提示
github.copilot.chat.codeGeneration.useInstructionFiles設定為true使用.github/copilot-instructions.md文件來自訂程式碼生成邏輯github.copilot.chat.codeGeneration.instructions設定為以下內容:"github.copilot.chat.codeGeneration.instructions": [ { "text": "Always response in #zh-tw." }, { "text": "When outputing any text, use the following translation mappings: create = 建立, object = 物件, queue = 佇列, stack = 堆疊, information = 資訊, invocation = 呼叫, code = 程式碼, running = 執行, library = 函式庫, schematics = 原理圖, building = 建構, Setting up = 設定, package = 套件, video = 影片, for loop = for 迴圈, class = 類別, Concurrency = 平行處理, Transaction = 交易, Transactional = 交易式, Code Snippet = 程式碼片段, Code Generation = 程式碼產生器, Any Class = 任意類別, Scalability = 延展性, Dependency Package = 相依套件, Dependency Injection = 相依性注入, Reserved Keywords = 保留字, Metadata = Metadata, Clone = 複製, Memory = 記憶體, Built-in = 內建, Global = 全域, Compatibility = 相容性, Function = 函式, Refresh = 重新整理, document = 文件, example = 範例, demo = 展示, quality = 品質, tutorial = 指南, recipes = 秘訣, byte = 位元組, bit = 位元" }, { "file": ".copilot-instructions.md" } ],github.copilot.chat.reviewSelection.instructions設定為以下內容:"github.copilot.chat.reviewSelection.instructions": [ { "file": ".copilot-review-instructions.md" } ],github.copilot.chat.commitMessageGeneration.instructions設定為以下內容:"github.copilot.chat.commitMessageGeneration.instructions": [ { "file": ".copilot-commit-message-instructions.md" } ],github.copilot.chat.pullRequestDescriptionGeneration.instructions設定為以下內容:"github.copilot.chat.pullRequestDescriptionGeneration.instructions": [ { "file": ".copilot-pull-request-description-instructions.md" } ],
- GitHub Copilot Edit
github.copilot.chat.edits.suggestRelatedFilesForTests設定為true該功能會在你編輯程式碼時,建議與測試相關的檔案。這對於開發者來說非常有用,因為它可以幫助你快速找到並編輯與當前程式碼變更相關的測試檔案,從而確保程式碼的品質和可靠性。github.copilot.chat.edits.suggestRelatedFilesFromGitHistory設定為true該功能會根據 Git 歷史紀錄來建議相關的檔案。這意味著當你編輯某個檔案時,GitHub Copilot Chat 會根據過去的 Git 提交紀錄,建議可能與當前編輯相關的其他檔案。這有助於你更全面地理解程式碼變更的影響範圍,並確保所有相關檔案都得到了適當的更新。chat.editing.confirmEditRequestRemoval設定為true該功能會在你嘗試刪除由 GitHub Copilot Chat 生成的程式碼變更時,提示你確認是否要刪除。這樣可以避免意外刪除程式碼變更,並確保你的程式碼變更是正確的。chat.editing.confirmEditRequestRetry設定為true該功能會在你嘗試重新生成由 GitHub Copilot Chat 生成的程式碼變更時,提示你確認是否要重新生成。這樣可以避免意外重新生成程式碼變更,並確保你的程式碼變更是正確的。
- GitHub Copilot Chat - Agent Mode
chat.agent.enabled設定為true即便是 Visual Studio Code Insiders 版本,預設 Agent Mode 也是沒有啟用的,你必須手動啟用這個選項,才可以看見 Copilot Edit 中的功能。chat.agent.maxRequests設定為50預設 Agent Mode 在讓 Agent 自動作業的時候,預設只有15次迭代,對於一些比較複雜的工作,可能會需要你不斷的確認是否繼續。建議可以調高到50即可。也建議不要調的更多,因為設定更高時,複雜工作一樣不會表現的更好。github.copilot.chat.codesearch.enabled設定為true(預覽功能) 這個選項用來啟用#codebase變數的「代理人」原始碼搜尋功能。 傳統 一般搜尋 主要是透過 關鍵字比對 ,搭配github.copilot.chat.search.semanticTextResults設定為true可以啟用搜尋時做 語意比對 ,但在 GitHub Copilot Chat 聊天時,如果要透過#codebase變數找檔案,之前就只能做一次性的比對。 當啟用了github.copilot.chat.codesearch.enabled設定後,就不會只搜尋一次,而是會多嘗試幾種不同的搜尋條件,幫你更好的找到需要的程式碼!👍github.copilot.chat.newWorkspaceCreation.enabled設定為true(實驗性功能) 這個選項用來啟用@workspace /new建立新專案的「代理人」功能。github.copilot.chat.agent.runTasks設定為true這個選項感覺跟 Agent Mode 相關,實則完全無關。其設定值預設也為true,所以理論上不用特別設定。 這個選項的用途,主要是讓你可以在 GitHub Copilot Chat 呼叫.vscode/tasks.json定義的 Task 來執行。chat.mcp.enabled設定為true啟用 GitHub Copilot 的 MCP (Model Context Protocol) 支援。chat.mcp.discovery.enabled設定為以下 JSON 內容,預設關閉其他 MCP Host 的伺服器註冊資訊:"chat.mcp.discovery.enabled": { "claude-desktop": false, "windsurf": false, "cursor-global": false, "cursor-workspace": false }mcp用來註冊 MCP 伺服器的啟動資訊:"mcp": { "servers": { } },telemetry.telemetryLevel設定為off設定此選項可以避免 Agent Mode 無法啟用的問題。請注意,在更改此設定後,您需要重新啟動 Visual Studio Code 以使更改生效。
- Accessibility (Voice)
accessibility.voice.speechLanguage設定為zh-TW設定語音輸入的語言為 繁體中文 。accessibility.voice.autoSynthesize設定為off在 Copilot 回應時自動合成語音,但有時候太吵了,建議關閉!XDaccessibility.voice.keywordActivation設定為chatInContext代表你在說Hey Code時會在 Copilot 聊天視窗互動。可設定off關閉此功能。accessibility.voice.speechTimeout設定為1200設定語音輸入後可停頓的時間為 1200 毫秒。 有些人講話比較慢,一句話講到一半會想很久,這時就要調高一點,不然只要停頓 1.2 秒就送出了!accessibility.voice.ignoreCodeBlocks設定為true(Insiders) 避免在合成語音的時候去讀程式碼區塊的內容
- Live Preview
livePreview.autoRefreshPreview設定為On Changes to Saved Files在使用 Live Preview 擴充套件的時候,這個選項的預設值為On All Changes in Editor,這意味著在 Copilot 生成程式碼的過程當中,會不斷地更新 Live Preview 網頁內容,預覽時可能會看到生成到一半的畫面,容易出現許多錯誤。若將選項值調整為On Changes to Saved Files就可以等到檔案儲存時才會更新預覽的網頁。
- GitHub Copilot - 一般設定
- 鍵盤設定
- 常用快速鍵 (內建)
- 開啟 Copilot Chat 視窗,可以按下
Ctrl+Alt+I - 開啟 Copilot Edit 視窗,可以按下
Ctrl+Shift+I - 若在 Copilot Edit 視窗,可以按下
Ctrl+.快速切換 Ask Mode 、 Edit Mode 與 Agent Mode - 若在 Copilot Chat 或 Copilot Edit 可以按下
Ctrl+/連結內容 (Attach Context) - 若在 Copilot Chat 或 Copilot Edit 可以按下
Ctrl+L清空現在的對話記錄 - 若在 Copilot 的代理模式可以按下
Ctrl+Enter讓終端機的命令自動執行 (不用碰滑鼠)
- 開啟 Copilot Chat 視窗,可以按下
- 語音對話 (Chat View)
- 按下
Ctrl+U開始語音對話 - 按下
Ctrl+U結束語音對話 - 長按
Ctrl+U可直接說話,放開快速鍵就可以送出提示
- 按下
- 語音指令 (Dictation)
- 按下
Alt+L開始語音輸入 - 按下
Alt+L或Escape結束語音輸入
- 按下
- 常用快速鍵 (內建)
由於 GitHub Copilot 的 Agent Mode 只能跟指定的 Shell 環境搭配,尤其是在 Windows 作業系統下,各位同學更應該注意!
在 Windows 作業系統,我們有三種 Shell 環境可以選擇:
- Command Prompt (命令提示字元) 這是每一台 Windows 都有內建的 Shell 環境。 ❌ 這個是 GitHub Copilot 的 Agent Mode 不支援的 Shell 環境,如果你目前選到這個的話,一定要改。
- Windows PowerShell 5.1
這是每一台 Windows 都有內建的 Shell 環境,啟動命令為
powershell.exe。 ✅ 這是 Visual Studio Code 預設的終端機,理論上不用調整就能用。 但是第一次使用前,建議執行以下命令,解除一些執行限制。請用「系統管理員」身份開啟 Windows PowerShell 並執行以下命令:Set-ExecutionPolicy RemoteSigned - PowerShell (舊名為 PowerShell Core)
這是微軟下一代 PowerShell 執行環境,支援 Windows, macOS, Linux 等作業系統,必須額外安裝才能使用,啟動的命令為
pwsh.exe。 ✅ 你可以手動調整 Visual Studio Code 讓終端機預設採用這個環境。 先按下F1並輸入Terminal搜尋,找到Terminal: Select Default Profile命令
然後選擇執行檔為 pwsh.exe的選項,如下圖示:
- Git Bash
這是在你安裝 Git for Windows 之後,預設就會有的 Shell 環境,啟動命令為
bash.exe。 ❌ 這個是 GitHub Copilot 的 Agent Mode 不支援的 Shell 環境,如果你目前選到這個的話,一定要改。
如果你使用 Windows 作業系統,我強烈建議採用 PowerShell 為你主要的 Shell 執行環境,問題會比較少!🔥
如果你使用 macOS 或 Linux 作業系統,選用 Bash 或 Zsh 應該不會有什麼問題,如果遇到無法讓 Agent 呼叫命令的情況,請到 Discord 頻道回報,或直接到 microsoft/vscode-copilot-release 這裡反應問題。
- GitHub Copilot 官網
- GitHub Copilot Plans
- GitHub Copilot 快速上手
- GitHub Copilot Extensions
- GitHub Copilot documentation
- GitHub Copilot in Visual Studio Code
- GitHub Copilot Issues (專門用來回報問題的地方)
歡迎貢獻
如果你有任何建議或是發現錯誤,歡迎隨時在 GitHub 上面開 Issue 提問,也歡迎大家幫忙發 Pull Request 讓這份文件變的更好!👍



