VS Code 中的 GitHub Copilot 快速參考指南
Visual Studio Code 中的 GitHub Copilot 提供 AI 驅動的功能,可協助您更快速且更輕鬆地撰寫程式碼。本快速參考指南快速概略說明 Visual Studio Code 中 GitHub Copilot 的功能。
您可以透過聊天檢視、直接在編輯器中、從整合式終端機,以及透過 VS Code 使用者介面中 AI 驅動的增強功能,在 VS Code 中存取 GitHub Copilot。
如果您還沒有 Copilot 訂閱,您可以註冊Copilot 免費方案,免費使用 Copilot,並取得每月完成和聊天互動的限制。
團隊持續致力於改善 VS Code 中的 Copilot 並新增功能。某些功能仍為實驗性。請試用並在我們的問題中分享您的意見反應。
與 GitHub Copilot 聊天
使用自然語言與 GitHub Copilot 聊天,並取得程式碼撰寫工作的協助。例如,要求 Copilot 解釋程式碼區塊或程式設計概念。取得使用Copilot 聊天的詳細資訊。
動作 | 描述 |
---|---|
⌃⌘I (Windows、Linux Ctrl+Alt+I) | 開啟聊天檢視,並使用自然語言開始與 Copilot 進行聊天交談。 |
⇧⌘I (Windows Ctrl+Shift+I、Linux Ctrl+Shift+Alt+I) | 開啟 Copilot 編輯檢視,並開始跨多個檔案的程式碼編輯工作階段。 |
⇧⌥⌘L (Windows、Linux Ctrl+Shift+Alt+L) | 開啟 快速聊天,並向 Copilot 提出快速問題。 |
⌘I (Windows、Linux Ctrl+I) | 啟動內嵌聊天,以直接從編輯器傳送聊天要求給 Copilot。使用自然語言或使用 / 命令來給 Copilot 指示。 |
在聊天中輸入 @ 或選取 以檢視聊天參與者的清單,這些參與者是網域專家,可協助您處理特定領域。擴充功能也可以貢獻其他參與者。範例: @workspace 驗證是如何實作的? |
|
參與者偵測(實驗性) | Copilot 聊天也可以自動將您的問題路由至適當的參與者。取得更多資訊。 |
/ |
叫用斜線命令以提示常用動作,例如說明程式碼區塊、產生測試或文件。 |
/explain |
要求 Copilot 解釋程式碼區塊或程式設計概念。 |
在聊天檢視中選取此圖示,以存取您的聊天工作階段歷程記錄。 | |
使用語音 (語音聊天) 輸入聊天提示。聊天回應會大聲朗讀。 |
秘訣
- 使用
/
命令和@
參與者,以取得更精確且相關的回應。- 具體說明、保持簡單,並提出後續問題,以獲得最佳結果。
- 透過將檔案、符號或選取項目附加到您的聊天提示來提供內容。
程式碼編輯工作階段
使用 Copilot 編輯以開始程式碼編輯工作階段,您可以在其中快速反覆運算 AI 產生的程式碼編輯,這些編輯會直接套用至工作區中的多個檔案。
動作 | 描述 |
---|---|
⇧⌘I (Windows Ctrl+Shift+I、Linux Ctrl+Shift+Alt+I) | 開啟 Copilot 編輯檢視,並開始跨多個檔案的程式碼編輯工作階段。 |
開始新的編輯工作階段。 | |
編輯/代理程式模式 | 在 Copilot 編輯的編輯模式和代理程式模式 (預覽)之間切換。 |
新增檔案... |
附加檔案作為編輯內容。 |
接受 |
接受所有目前的編輯。 |
捨棄 |
捨棄所有目前的編輯。 |
在多檔案差異編輯器中檢視所有編輯。 | |
復原上次編輯。 | |
取消復原上次編輯。 | |
啟用/停用附加作用中編輯器作為內容。 |
秘訣
- 新增您想要取得編輯的所有檔案至您的提示。
- 具體且精確說明您想要 Copilot 編輯執行的變更。
- 如果您有較大的工作,請將其分解為較小的工作,並經常反覆運算。
從聊天產生程式碼
Copilot 可以產生程式碼區塊以回應您的聊天提示。快速將產生的程式碼套用至您的專案,或將其插入新檔案中。例如,要求 Copilot 最佳化您程式碼中的演算法。
動作 | 描述 |
---|---|
在作用中編輯器中智慧套用產生的程式碼區塊。 | |
將產生的程式碼區塊插入游標處。 | |
將產生的程式碼區塊複製到剪貼簿。 | |
將產生的程式碼區塊以 Shell 命令插入終端機中。 | |
插入到新檔案 |
將產生的程式碼區塊插入新檔案中。 |
秘訣
- 提供要使用的架構或程式庫的詳細資訊。
- 考慮建立自訂程式碼產生指示。
將內容附加到您的提示
當您傳送聊天提示給 Copilot 時,您可以附加內容以協助 Copilot 更了解您的問題。例如,將目前的編輯器選取項目、檔案或符號新增至您的聊天提示。取得關於使用 Copilot 的最佳做法的詳細資訊。
動作 | 描述 |
---|---|
附加 (⌘/ (Windows、Linux Ctrl+/)) | 開啟快速選取以選取聊天提示的相關內容。從不同的內容類型中選擇,例如工作區檔案、符號、目前的編輯器選取項目、終端機選取項目等等。 |
啟用/停用附加作用中編輯器作為內容。 | |
提示... (實驗性) |
將可重複使用的提示指示新增至您的要求。取得關於提示檔案的詳細資訊。 |
拖放檔案 | 將檔案或編輯器索引標籤拖放到聊天上,以將檔案附加為內容。 |
拖放資料夾 | 將資料夾拖放到聊天上,以將其中的檔案附加為內容。 |
拖放問題 | 從問題面板拖放項目以將其附加為內容。 |
最近的檔案(實驗性) | 自動將最近開啟和編輯的檔案包含在您的聊天提示中。取得更多資訊。 |
聊天變數
在您的聊天提示中使用聊天變數來參考與您的問題相關的內容。
聊天變數 | 描述 |
---|---|
#變更 |
原始檔控制變更的清單。 |
#程式碼庫 |
將相關的工作區內容新增為您提示的內容。 |
#編輯器 |
將作用中編輯器的可見內容新增為您提示的內容。 |
#檔案 |
開啟快速選取以從您的工作區選取檔案,並將其新增為您提示的內容。 |
#<檔案名稱> |
輸入 # ,後面接著檔案名稱,以取得工作區檔案的檔案名稱建議,並附加為內容。 |
#資料夾 |
輸入 #資料夾: ,後面接著資料夾名稱,以從您的工作區選取資料夾,並將其新增為您提示的內容。新增資料夾會將其中的所有檔案新增為內容。 |
#問題 |
從問題面板新增工作區問題和錯誤作為內容。在修正程式碼或偵錯時很有用。 |
#選取項目 |
將目前的編輯器選取項目新增為您提示的內容。 |
#符號 |
開啟快速選取以從您的工作區選取符號,並將其新增為您提示的內容。 |
#<符號> |
輸入 # ,後面接著符號名稱,以取得工作區檔案的符號建議,並附加為內容。 |
#終端機選取項目 |
將目前的終端機選取項目新增為您的聊天提示內容。 |
#終端機上次命令 |
將上次執行的終端機命令新增為您的聊天提示內容。 |
#測試失敗 |
新增測試失敗資訊作為內容。在執行和診斷測試時很有用。 |
#VSCodeAPI |
將 VS Code API 新增為您提示的內容,以詢問與 VS Code 擴充功能開發相關的問題。 |
編輯器中的 Copilot
當您在編輯器中撰寫程式碼時,您可以使用 Copilot 在您輸入時產生程式碼完成項目。叫用內嵌聊天以詢問問題並從 Copilot 取得協助,同時保持程式碼撰寫流程。例如,要求 Copilot 為函式或方法產生單元測試。取得關於程式碼完成和內嵌聊天的詳細資訊。
動作 | 描述 |
---|---|
程式碼完成 | 開始在編輯器中輸入,Copilot 會提供符合您的程式碼撰寫樣式並考量您現有程式碼的程式碼建議。 |
程式碼註解 | 透過在程式碼註解中撰寫指示,向 Copilot 提供程式碼完成提示。 範例: # 撰寫計算機類別,其中包含加法、減法和乘法的方法。使用靜態方法。 |
下一個編輯建議(預覽) | 使用 Copilot 下一個編輯建議預測您的下一個程式碼編輯。使用 github.copilot.nextEditSuggestions.enabled 設定啟用 Copilot NES。了解如何開始使用Copilot NES。 |
⌘I (Windows、Linux Ctrl+I) | 啟動內嵌聊天,以直接從編輯器傳送聊天要求給 Copilot。使用自然語言或使用 / 命令來給 Copilot 指示。 |
從編輯器提示(實驗性) | 直接在程式碼中開始輸入自然語言,Copilot 會偵測到您不是在撰寫程式碼而是在提示,並會自動為您的提示啟動內嵌聊天。 |
F2 | 在重新命名程式碼中的符號時取得 AI 驅動的建議。 |
秘訣
- 使用有意義的方法或函式名稱,以更快取得更好的程式碼完成。
- 選取程式碼區塊以設定您的內嵌聊天提示範圍,或透過附加檔案或符號來附加相關內容。
- 使用編輯器操作功能表選項,直接從編輯器存取常用的 Copilot 動作。
自訂 AI 程式碼產生
定義自訂指示,以協助 Copilot 產生程式碼或檢閱符合您團隊或專案的程式碼撰寫樣式、工具和開發人員工作流程的程式碼。
使用可重複使用的提示檔案,您可以在 Markdown 檔案 (*.prompt.md) 中指定常用的提示指示和相關內容,然後您可以在聊天提示中重複使用這些指示和內容。
動作 | 描述 |
---|---|
以檔案為基礎的指示 | 在您工作區的 .github/copilot-instructions.md 檔案中定義程式碼產生的共用指示。這些常用指示會補充您自己的個人程式碼產生指示。 |
程式碼檢閱指示(預覽) | 定義使用 Copilot 檢閱編輯器選取項目在設定中的指示,或從檔案匯入。您可以定義語言特定的指示。 |
程式碼產生指示(實驗性) | 定義使用 GitHub Copilot 產生程式碼在設定中的指示,或從檔案匯入。您可以定義語言特定的指示。 |
測試產生指示(實驗性) | 定義使用 GitHub Copilot 產生測試在設定中的指示,或從檔案匯入。您可以定義語言特定的指示。 |
提交訊息產生指示(實驗性) | 定義使用 GitHub Copilot 產生提交訊息在設定中的指示,或從檔案匯入。您可以定義語言特定的指示。 |
提取要求標題和描述產生指示(實驗性) | 定義使用 GitHub Copilot 產生提取要求標題和描述在設定中的指示,或從檔案匯入。您可以定義語言特定的指示。 |
可重複使用的提示檔案(預覽) | 在 Markdown 檔案中定義包含其他內容的可重複使用提示指示,並將其用於您的聊天提示。了解如何建立可重複使用的提示檔案。 |
秘訣
- 定義語言特定的指示,以取得更精確的每個語言產生程式碼。
- 將您的指示儲存在檔案中,以便輕鬆地與您的團隊和跨專案共用。
檢閱程式碼 (實驗性)
Copilot 可以快速檢閱程式碼區塊,或執行檢閱您工作區中未提交的變更。檢閱意見反應會顯示為編輯器中的註解,您可以在其中套用建議。
動作 | 描述 |
---|---|
檢閱和註解 (預覽) | 選取程式碼區塊,然後從編輯器操作功能表中選取 Copilot > 檢閱和註解 以進行快速檢閱。 |
Copilot 程式碼檢閱 | 在原始檔控制檢視中選取 Copilot 程式碼檢閱 按鈕,以更深入檢閱所有未提交的變更。加入等候名單。 |
產生測試
Copilot 可以為您程式碼庫中的函式和方法產生測試。取得關於聊天中斜線命令的詳細資訊。
動作 | 描述 |
---|---|
/tests |
為編輯器中的所有或僅選取的方法和函式產生測試。產生的測試會附加在現有的測試檔案中,或建立新的測試檔案。 |
/setupTests |
取得設定程式碼測試架構的協助。取得相關測試架構的建議、設定和組態步驟,以及 VS Code 測試擴充功能的建議。 |
/fixTestFailure |
詢問 Copilot 關於如何修正失敗測試的建議。 |
測試涵蓋率(實驗性) | 為尚未由測試涵蓋的函式和方法產生測試。取得更多資訊。 |
秘訣
- 提供要使用的測試架構或程式庫的詳細資訊。
產生文件
為您程式碼庫中的函式和方法產生程式碼文件。取得關於聊天中斜線命令的詳細資訊。
動作 | 描述 |
---|---|
/docs |
為編輯器中的所有或僅選取的方法和函式產生文件註解。 |
偵錯和修正問題
使用 Copilot 協助修正程式碼撰寫問題,並取得設定和啟動 VS Code 中偵錯工作階段的協助。
動作 | 描述 |
---|---|
/fix |
詢問 Copilot 關於如何修正程式碼區塊或如何解決程式碼中的任何編譯器或 Linting 錯誤的建議。例如,協助修正未解析的 Node.js 套件名稱。 |
/fixTestFailure |
詢問 Copilot 關於如何修正失敗測試的建議。 |
/startDebugging (實驗性) |
產生 launch.json 偵錯組態檔案,並從聊天檢視啟動偵錯工作階段。取得更多資訊。 |
copilot-debug 命令 |
協助您偵錯程式的終端機命令。在執行命令前面加上前置詞以啟動其偵錯工作階段 (例如,copilot-debug python foo.py )。取得更多資訊。 |
秘訣
- 提供關於您需要的修正類型之其他資訊,例如最佳化記憶體耗用量或效能。
- 注意編輯器中指示修正程式碼中問題建議的 Copilot 程式碼動作。
建構新專案
Copilot 可以協助您建立新專案,方法是產生專案結構的建構基架,或根據您的需求產生 Notebook。
動作 | 描述 |
---|---|
/new |
在聊天檢視中使用 /new 命令來建構新專案或新檔案的基架。使用自然語言來描述您需要的專案/檔案類型,並在建立之前預覽建構基架的內容。範例: /new Express 應用程式,使用 typescript 和 svelte |
/newNotebook |
在聊天檢視中使用 /newNotebook 命令,根據您的需求產生新的 Jupyter Notebook。使用自然語言來描述 Notebook 應包含的內容。範例: /newNotebook 取得人口普查資料並使用 Seaborn 預覽重要深入解析 。 |
原始檔控制和問題
Copilot 可以分析您提交和提取要求中的變更,並提供提交訊息和提取要求描述的建議。
動作 | 描述 |
---|---|
提交 | 為原始檔控制提交中的目前變更產生提交訊息。 |
提取要求 | 產生符合您提取要求中變更的提取要求標題和描述。 |
@github |
在聊天中使用 @github 參與者來詢問關於問題、提取要求和您存放庫中更多項目的問題。取得關於可用的 GitHub 技能的詳細資訊。範例: @github 指派給我的所有未完成 PR 是什麼? 、@github 顯示來自 @dancing-mona 的最近合併 pr |
搜尋
使用 Copilot 在搜尋檢視中取得更相關的搜尋結果。
動作 | 描述 |
---|---|
語意搜尋 | 在搜尋檢視中包含來自 Copilot 且語意相關的搜尋結果。 |
終端機
取得關於 Shell 命令的說明,以及如何在終端機中執行命令時解決錯誤。
動作 | 描述 |
---|---|
⌘I (Windows、Linux Ctrl+I) | 在終端機中啟動內嵌聊天,以使用自然語言快速取得和執行 Shell 命令。 範例: 這部機器上有多少個核心? |
使用 Copilot 修正 |
選取失敗 Shell 命令上的 圖示,並取得關於如何解決錯誤的建議。 |
使用 Copilot 說明 |
選取失敗 Shell 命令上的 圖示,並取得關於命令失敗原因的說明。 |
@terminal |
在聊天檢視中使用 @terminal 參與者來詢問關於整合式終端機或 Shell 命令的問題。範例: @terminal 列出此工作區中 5 個最大的檔案 |
@terminal /explain |
在聊天檢視中使用 /explain 命令來說明終端機中的某些項目。範例: @terminal /explain top shell 命令 |
Python 和 Notebook 支援
您可以使用 Copilot 聊天來協助您處理原生 Python REPL 和 Jupyter Notebook 中的 Python 程式設計工作。
動作 | 描述 |
---|---|
產生 ⌘I (Windows、Linux Ctrl+I) |
在 Notebook 中啟動內嵌聊天以產生程式碼區塊或 Markdown 區塊。 |
# |
在您的聊天提示中附加來自 Jupyter 核心的變數,以取得更相關的回應。 |
原生 REPL + ⌘I (Windows、Linux Ctrl+I) | 在原生 Python REPL 中啟動內嵌聊天並執行產生的命令。 |
VS Code 命令和 API
您可以使用 Copilot 取得關於 VS Code 功能、設定和 VS Code 擴充功能 API 的說明。取得關於聊天參與者的詳細資訊。
動作 | 描述 |
---|---|
@vscode |
使用 @vscode 聊天參與者以使用自然語言詢問關於 VS Code 的問題。範例: @vscode 如何啟用自動換行? |
@vscode /runCommand |
搭配 @vscode 聊天參與者使用 /runCommand 以執行 VS Code 命令。@vscode /runCommand 啟用開發人員模式 |
@vscode /search |
搭配 @vscode 聊天參與者使用 /search 以產生 VS Code 搜尋。範例: @vscode /search 沒有匯入的 Python 檔案 |
秘訣
- 如果您要詢問關於 VS Code 擴充功能 API 的問題,請使用
#vscodeAPI
聊天變數。