現已釋出!閱讀關於 11 月新增功能和修復的內容。

VS Code 中的 GitHub Copilot 速查表

Visual Studio Code 中的 GitHub Copilot 提供 AI 驅動的功能,可幫助您更快、更輕鬆地編寫程式碼。本速查表提供了 Visual Studio Code 中 GitHub Copilot 功能的快速概述。

提示

如果你還沒有 Copilot 訂閱,可以透過註冊 Copilot 免費計劃 免費使用 Copilot,並獲得每月限量的補全和聊天互動次數。

基本鍵盤快捷鍵

  • ⌃⌘I (Windows、Linux Ctrl+Alt+I) - 開啟聊天檢視
  • ⌘I (Windows、Linux Ctrl+I) - 在聊天檢視中輸入語音聊天提示
  • ⌘N (Windows、Linux Ctrl+N) - 在聊天檢視中開始新的聊天會話
  • ⇧⌘I (Windows Ctrl+Shift+I、Linux Ctrl+Shift+Alt+I) - 在聊天檢視中切換到使用代理
  • ⌘I (Windows、Linux Ctrl+I) - 在編輯器或終端中啟動內聯聊天
  • ⌘I (Windows、Linux Ctrl+I) (長按) - 啟動內聯語音聊天
  • Tab - 接受內聯建議或導航到下一個編輯建議
  • Escape - 隱藏內聯建議

訪問 VS Code 中的 AI

  • 使用自然語言開始聊天對話

    • 聊天檢視(⌃⌘I (Windows、Linux Ctrl+Alt+I)):在輔助側邊欄中保持持續的聊天對話
    • 編輯器或終端中的內聯聊天(⌘I (Windows、Linux Ctrl+I)):在編碼流程中提問
    • 快速聊天(⇧⌥⌘L (Windows、Linux Ctrl+Shift+Alt+L)):無需離開當前任務即可快速提問
  • 編輯器中的 AI(編輯器

    • 內聯建議:在鍵入時獲取建議,按 Tab 接受建議
    • 編輯上下文選單操作:訪問常見的 AI 操作,例如解釋或修復程式碼、生成測試或審查文字選擇
    • 程式碼操作:獲取編輯器程式碼操作(燈泡)以修復 linting 和編譯器錯誤
  • VS Code 中的任務特定 智慧操作

    • 生成提交訊息和拉取請求標題及描述
    • 修復測試錯誤
    • 語義檔案搜尋建議

VS Code 中的聊天體驗

開始自然語言聊天對話,以獲取編碼任務的幫助。例如,請求解釋一段程式碼或一個程式設計概念、重構一段程式碼或實現一個新功能。有關使用 Copilot Chat 的更多資訊。

操作 描述
⌃⌘I(Windows、Linux Ctrl+Alt+I 在輔助側邊欄中開啟 聊天檢視
⌘I(Windows、Linux Ctrl+I 啟動 內聯聊天 以在編輯器或終端中開啟聊天。
⇧⌥⌘L(Windows、Linux Ctrl+Shift+Alt+L 開啟 快速聊天,而不會中斷您的工作流程。
⌘N (Windows、Linux Ctrl+N) 在聊天檢視中開始新的聊天會話。
在聊天檢視中切換不同的 代理
⌥⌘. (Windows、Linux Ctrl+Alt+.) 顯示模型選擇器以 選擇不同的 AI 模型 進行聊天。
新增上下文... 將不同型別的 上下文附加到您的聊天提示
/-命令 使用 斜槓命令 來執行常見任務或呼叫 可重用的聊天提示
#-提及 引用常用工具或聊天變數以在提示中 提供上下文
@-提及 引用 聊天參與者 來處理特定領域的請求。
編輯( 編輯之前的聊天提示 並撤銷更改。
歷史記錄( 訪問您的聊天會話歷史記錄。
語音( 透過語音(語音聊天)輸入聊天提示。聊天響應將被讀出。
KaTeX 在聊天響應中渲染數學方程。透過 chat.math.enabled 啟用。右鍵單擊數學表示式以複製源表示式。

提示

  • 使用 #-提及將更多上下文新增到您的聊天提示中。
  • 使用 / 命令和 @ 參與者以獲得更精確和相關的答案。
  • 具體、簡潔,並提出後續問題以獲得最佳結果。
  • 選擇適合您需求的代理:提問、編輯、代理或建立自定義代理。

為提示新增上下文

透過 為聊天提示新增上下文 來獲得更相關的響應。從不同型別的上下文(例如檔案、符號、編輯器選擇、原始碼管理提交、測試失敗等)中進行選擇。

操作 描述
新增上下文 開啟快速選擇器以選擇與您的聊天提示相關的上下文。從不同型別的上下文(例如工作區檔案、符號、當前編輯器選擇、終端選擇等)中進行選擇。
拖放檔案 將檔案從“資源管理器”或“搜尋”檢視拖放到聊天檢視,或將編輯器選項卡拖放到聊天檢視。
拖放資料夾 將資料夾拖放到聊天檢視,以附加其中的檔案。
拖放問題 將專案從“問題”面板拖放到聊天檢視。
#<檔案|資料夾|符號> 鍵入 #,然後鍵入檔名、資料夾名或符號名,將其新增為聊天上下文。
#-提及 鍵入 #,然後鍵入 聊天工具,以新增特定型別的上下文或工具。

聊天工具

在聊天中使用 工具 來處理使用者請求時完成專門任務。這些任務的示例包括列出目錄中的檔案、編輯工作區中的檔案、執行終端命令、獲取終端輸出等。

VS Code 提供內建工具,您還可以透過 MCP 伺服器擴充套件 來擴充套件聊天功能。瞭解有關 工具型別 的更多資訊。

下表列出了 VS Code 內建工具

聊天變數/工具 描述
#changes 原始碼管理更改列表。
#codebase 在當前工作區中執行程式碼搜尋,以自動查詢與聊天提示相關的上下文。
#createAndRunTask 在工作區中建立並執行新的 任務
#createDirectory 在工作區中建立新目錄。
#createFile 在工作區中建立新檔案。
#edit (工具集) 啟用在工作區中進行修改。
#editFiles 對工作區中的檔案應用編輯。
#editNotebook 編輯 Notebook。
#extensions 搜尋並詢問有關 VS Code 擴充套件的問題。例如,“如何開始使用 Python #extensions?”
#fetch 從給定的網頁獲取內容。例如,“總結 #fetch code.visualstudio.com/updates。”
#fileSearch 使用 glob 模式在工作區中搜索檔案並返回其路徑。
#getNotebookSummary 獲取 Notebook 單元格列表及其詳細資訊。
#getProjectSetupInfo 提供有關腳手架不同型別專案的說明和配置。
#getTaskOutput 獲取執行工作區中 任務 的輸出。
#getTerminalOutput 獲取執行工作區中終端命令的輸出。
#githubRepo 在 GitHub 倉庫中執行程式碼搜尋。例如,“全域性程式碼片段是什麼 #githubRepo microsoft/vscode。”
#installExtension 安裝 VS Code 擴充套件。
#listDirectory 列出工作區中目錄的檔案。
#new 腳手架一個新的 VS Code 工作區,預配置除錯和執行配置。
#newJupyterNotebook 根據描述腳手架一個新的 Jupyter Notebook。
#newWorkspace 建立新工作區。
#openSimpleBrowser 開啟內建的簡單瀏覽器並預覽本地部署的 Web 應用程式。
#problems 將工作區問題和“問題”面板中的問題作為上下文新增。在修復程式碼或除錯時很有用。
#readFile 讀取工作區中檔案的內容。
#readNotebookCellOutput 讀取 Notebook 單元格執行的輸出。
#runCell 執行 Notebook 單元格。
#runCommands (工具集) 啟用在終端中執行命令並讀取輸出。
#runInTerminal 在整合終端中執行 shell 命令。
#runNotebooks (工具集) 啟用執行 Notebook 單元格。
#runTask 執行工作區中的現有 任務
#runTasks (工具集) 啟用在工作區中執行 任務 並讀取輸出。
#runSubagent 在隔離的 子代理上下文 中執行任務。有助於改進主代理執行緒的上下文管理。
#runTests 在工作區中執行 單元測試
#runVscodeCommand 執行 VS Code 命令。例如,“啟用禪模式 #runVscodeCommand。”
#search (工具集) 啟用在當前工作區中搜索檔案。
#searchResults 獲取搜尋檢視中的搜尋結果。
#selection 獲取當前編輯器選擇(僅當選擇了文字時可用)。
#terminalLastCommand 獲取最後執行的終端命令及其輸出。
#terminalSelection 獲取當前終端選擇。
#testFailure 獲取單元測試失敗資訊。在執行和診斷 測試 時很有用。
#textSearch 在檔案中查詢文字。
#todos 透過待辦事項列表跟蹤聊天請求的實現和進度。
#usages “查詢所有引用”、“查詢實現”和“轉到定義”的組合。
#VSCodeAPI 詢問有關 VS Code 功能和擴充套件開發的問題。

斜槓命令

斜槓命令是聊天中特定功能的快捷方式。您可以使用它們快速執行操作,例如修復問題、生成測試或解釋程式碼。

斜槓命令 描述
/doc 從編輯器內聯聊天生成程式碼文件註釋。
/explain 解釋程式碼塊、檔案或程式設計概念。
/fix 請求修復程式碼塊或解決編譯器或 linting 錯誤。
/tests 為編輯器中的所有方法和函式或僅選定的方法和函式生成測試。
/setupTests 獲取設定程式碼測試框架的幫助。獲取相關測試框架的建議、設定和配置步驟以及 VS Code 測試擴充套件的建議。
/clear 在聊天檢視中開始新的聊天會話。
/new 腳手架一個新的 VS Code 工作區或檔案。使用自然語言描述您需要的專案/檔案的型別,並在建立之前預覽腳手架內容。
/newNotebook 根據您的要求腳手架一個新的 Jupyter Notebook。使用自然語言描述 Notebook 應包含的內容。
/search 為搜尋檢視生成搜尋查詢。使用自然語言描述您要搜尋的內容。
/startDebugging 生成一個 launch.json 除錯配置檔案,並從聊天檢視啟動除錯會話。
/<prompt name> 在聊天中執行 可重用提示

聊天參與者

使用聊天參與者來處理聊天中的特定領域請求。聊天參與者以 @ 作為字首,可用於詢問特定主題的問題。VS Code 提供內建聊天參與者,例如 @github@terminal@vscode,擴充套件程式也可以提供其他參與者。

聊天參與者 描述
@github 使用 @github 參與者來詢問有關 GitHub 倉庫、問題、拉取請求等方面的問題。有關 可用 GitHub 技能 的更多資訊。
示例:@github 我有哪些分配到的未關閉 PR?@github 顯示 @dancing-mona 最近合併的 PR
@terminal 使用 @terminal 參與者來詢問有關整合終端或 shell 命令的問題。
示例:@terminal 列出此工作區中 5 個最大的檔案
@vscode 使用 @vscode 參與者來詢問有關 VS Code 功能、設定和 VS Code 擴充套件 API 的問題。
示例:@vscode 如何啟用自動換行?
@workspace 使用 @workspace 參與者來詢問有關當前工作區的問題。
示例:@workspace 身份驗證是如何實現的?

使用代理

在使用 代理 時,您可以使用自然語言指定一個高階任務,並讓 AI 自主地推理請求、規劃所需工作並對程式碼庫應用更改。代理使用程式碼編輯和工具呼叫的組合來完成您指定的任務。在處理您的請求時,它會監視編輯和工具的結果,並迭代解決出現的任何問題。

操作 描述
⇧⌘I (Windows Ctrl+Shift+I、Linux Ctrl+Shift+Alt+I) 在聊天檢視中切換到使用代理
工具( 配置使用代理時可用的工具。從內建工具、MCP 伺服器和擴充套件提供的工具中進行選擇。
自動批准工具(實驗性) 在使用代理時啟用 所有工具的自動批准chat.tools.autoApprove)。
自動批准終端命令(實驗性) 在使用代理時啟用 終端命令的自動批准chat.tools.terminal.autoApprove)。
MCP 配置 MCP 伺服器 以擴充套件代理功能和工具。

提示

  • 新增額外的工具以使用代理擴充套件其功能。
  • 配置自定義代理以定義代理應如何執行,例如實現只讀規劃模式。
  • 定義自定義指令以指導代理如何生成和構建程式碼。

規劃

使用 VS Code 聊天中的 規劃代理 在複雜的編碼任務開始之前建立詳細的實現計劃。將批准的計劃移交給實現代理以開始編碼。

操作 描述
計劃 Agent 在聊天檢視中的代理下拉選單中選擇 **規劃** 代理,以建立複雜編碼任務的詳細實現計劃。
待辦事項列表(實驗性) 在工具選擇器中啟用 todos 工具,以透過待辦事項列表跟蹤複雜任務的進度。

自定義聊天體驗

自定義您的聊天體驗,以生成與您的編碼風格、工具和開發人員工作流程相匹配的響應。在 VS Code 中有幾種方法可以自定義您的聊天體驗:

  • 自定義指令:為諸如生成程式碼、執行程式碼審查或生成提交訊息等任務定義通用指南或規則。自定義指令描述 AI 應在何種條件下執行(任務*如何*完成)。

  • 可重用提示檔案:為常見任務(如生成程式碼或執行程式碼審查)定義可重用的提示。提示檔案是獨立的提示,您可以直接在聊天中執行。它們描述了要執行的任務(*什麼*應該完成)。

  • 自定義代理:定義聊天如何執行、可以使用哪些工具以及它如何與程式碼庫互動。每個聊天提示都在代理的邊界內執行,而無需為每個請求配置工具和指令。

提示

  • 定義特定語言的指令,以獲得更準確的每種語言生成程式碼。
  • 將指令儲存在您的工作區中,以便與團隊輕鬆共享。
  • 為常見任務定義可重用的提示檔案,以節省時間並幫助團隊成員快速上手。

編輯器 AI 功能

在編輯器中編碼時,您可以使用 Copilot 在鍵入時生成內聯建議。呼叫內聯聊天以提問並從 Copilot 獲取幫助,同時保持編碼流暢。例如,請求 Copilot 為函式或方法生成單元測試。有關 內聯建議內聯聊天 的更多資訊。

操作 描述
行內建議 開始在編輯器中鍵入,並獲取與您的編碼風格匹配並考慮您現有程式碼的 內聯建議
程式碼註釋 透過在程式碼註釋中編寫說明來提供內聯建議提示。
示例:# 編寫一個帶有 add、subtract 和 multiply 方法的計算器類。使用靜態方法。
⌘I(Windows、Linux Ctrl+I 啟動編輯器內聯聊天,直接從編輯器傳送聊天請求。使用自然語言並引用聊天變數和斜槓命令來提供上下文。
F2 在重新命名程式碼中的符號時獲取 AI 驅動的建議。
上下文選單操作 使用編輯器上下文選單訪問常見的 AI 操作,例如解釋程式碼、生成測試、審查程式碼等。右鍵單擊編輯器以開啟上下文選單,然後選擇“生成程式碼”。
程式碼操作(燈泡) 選擇編輯器中的程式碼操作(燈泡)以修復程式碼中的 linting 或編譯器錯誤。

提示

  • 使用有意義的方法或函式名稱,以便更快地獲得更好的內聯建議。
  • 選擇一個程式碼塊來限定您的內聯聊天提示的範圍,或透過附加檔案或符號來附加相關上下文。
  • 使用編輯器上下文選單選項直接從編輯器訪問常見的 AI 驅動操作。

原始碼管理和問題

使用 AI 分析提交和拉取請求中的更改,併為提交訊息和拉取請求描述提供建議。

操作 描述
#changes 將當前原始碼管理更改作為上下文新增到您的聊天提示中。
提交作為上下文 將原始碼管理歷史記錄中的提交作為上下文新增到您的聊天提示中。
提交訊息 為原始碼管理提交中的當前更改生成提交訊息。
合併衝突(實驗性) 獲取有關使用 AI 解決 Git 合併衝突 的幫助。
拉取請求描述 生成與拉取請求中的更改相對應的拉取請求標題和描述。
@github 在聊天中使用 @github 參與者來詢問有關您的儲存庫中的問題、拉取請求等方面的資訊。有關 可用 GitHub 技能 的更多資訊。
示例:@github 我有哪些分配到的未關閉 PR?@github 顯示 @dancing-mona 最近合併的 pr

程式碼審查(實驗性)

使用 AI 對程式碼塊進行快速審查,或對工作區中的未提交更改進行審查。審查反饋將顯示為編輯器中的註釋,您可以在其中應用建議。

操作 描述
審查選擇(預覽) 選擇一個程式碼塊,然後從編輯器上下文選單中選擇“生成程式碼”>“審查”以進行快速審查。
程式碼審查 在原始碼管理檢視中選擇“程式碼審查”按鈕,以對所有未提交的更改進行更深入的審查。

搜尋和設定

在搜尋檢視中獲取語義相關的搜尋結果,或幫助搜尋設定編輯器中的設定。

操作 描述
設定搜尋 在設定編輯器中包含語義搜尋結果(workbench.settings.showAISearchToggle)。
語義搜尋(預覽) 在搜尋檢視中包含語義搜尋結果(search.searchView.semanticSearchBehavior)。

生成測試

VS Code 可以使用聊天中的斜槓命令為程式碼庫中的函式和方法生成測試。斜槓命令是聊天中常用任務的簡寫表示法。鍵入 / 後跟命令名稱即可使用斜槓命令。

操作 描述
/tests 為編輯器中的所有方法和函式或僅選定的方法和函式生成測試。生成的測試將追加到現有的測試檔案中,或者建立一個新的測試檔案。
/setupTests 獲取設定程式碼測試框架的幫助。獲取相關測試框架的建議、設定和配置步驟以及 VS Code 測試擴充套件的建議。
/fixTestFailure 請求 Copilot 提供有關如何修復失敗測試的建議。
測試覆蓋率(實驗性) 為尚未被測試覆蓋的函式和方法生成測試。 獲取更多資訊

提示

  • 提供有關要使用的測試框架或庫的詳細資訊。

除錯和修復問題

使用 Copilot 幫助修復編碼問題,並獲取有關配置和啟動 VS Code 除錯會話的幫助。

操作 描述
/fix 請求 Copilot 提供有關如何修復程式碼塊的建議,或如何解決程式碼中的任何編譯器或 linting 錯誤。例如,幫助修復未解析的 Node.js 包名。
/fixTestFailure 請求 Copilot 提供有關如何修復失敗測試的建議。
/startDebugging(實驗性) 生成一個 launch.json 除錯配置檔案,並從聊天檢視 啟動除錯會話
copilot-debug 命令 用於幫助您 除錯程式 的終端命令。在執行命令前加上字首以啟動該命令的除錯會話(例如,copilot-debug python foo.py)。

提示

  • 提供有關所需修復的型別的附加資訊,例如最佳化記憶體消耗或效能。
  • 在編輯器中觀察 Copilot 程式碼操作,這些操作指示了修復程式碼中問題的建議。

生成新專案

Copilot 可以透過生成專案結構的腳手架來幫助您建立新專案,或者根據您的要求生成 Notebook。

操作 描述
代理 使用 代理 並使用自然語言提示來建立新專案或檔案。例如,建立一個 Svelte Web 應用程式來跟蹤我的任務
/new 在聊天檢視中使用 /new 命令來腳手架新專案或新檔案。使用自然語言描述您需要的專案/檔案的型別,並在建立之前預覽腳手架內容。
示例:/new 使用 typescript 和 svelte 的 Express 應用
/newNotebook 在聊天檢視中使用 /newNotebook 命令根據您的要求生成新的 Jupyter Notebook。使用自然語言描述 Notebook 應包含的內容。
示例:/newNotebook 獲取人口普查資料並用 Seaborn 預覽關鍵見解

終端

獲取有關 shell 命令以及在終端中執行命令時如何解決錯誤的幫助。

操作 描述
⌘I(Windows、Linux Ctrl+I 啟動終端內聯聊天,以使用自然語言詢問有關 shell 命令和終端的問題。
示例:這臺機器有多少個核心?
@terminal 在聊天檢視中使用 @terminal 參與者來詢問有關整合終端或 shell 命令的問題。
示例:@terminal 列出此工作區中 5 個最大的檔案
@terminal /explain 在聊天檢視中使用 /explain 命令來解釋終端中的內容。
示例:@terminal /explain top shell 命令

Python 和 Notebook 支援

您可以使用聊天來幫助您完成 Python 程式設計任務,包括在原生 Python REPL 和 Jupyter Notebook 中。

操作 描述
生成
⌘I(Windows、Linux Ctrl+I
在 Notebook 中啟動內聯聊天以生成程式碼塊或 Markdown 塊。
# 將 Jupyter 核心中的變數附加到您的聊天提示中,以獲得更相關的響應。
原生 REPL + ⌘I (Windows、Linux Ctrl+I) 在原生 Python REPL 中啟動內聯聊天並執行生成的命令。
⌃⌘I(Windows、Linux Ctrl+Alt+I 開啟 **聊天檢視** 並使用代理進行 Notebook 編輯。
/newNotebook 在聊天檢視中使用 /newNotebook 命令根據您的要求生成新的 Jupyter Notebook。使用自然語言描述 Notebook 應包含的內容。
示例:/newNotebook 獲取人口普查資料並用 Seaborn 預覽關鍵見解

後續步驟

© . This site is unofficial and not affiliated with Microsoft.