參加你附近的 ,瞭解 VS Code 中的 AI 輔助開發。

在 VS Code 中使用“詢問”模式

Visual Studio Code 中的聊天功能允許您使用自然語言與大語言模型 (LLM) 互動,以獲取程式碼方面的幫助。聊天的 “詢問”模式 專為詢問有關您的程式碼庫、程式設計和常規技術概念的問題而最佳化。“詢問”模式對於更好地理解程式碼庫、進行頭腦風暴和獲取編碼任務幫助特別有用。

先決條件

為什麼要使用“詢問”模式?

“詢問”模式專為回答有關您的程式碼庫、程式設計和常規技術概念的問題而最佳化。您可以用它來:

  • 提出關於程式碼庫的問題,例如“資料庫連線字串在哪裡定義的?”或“解釋一下那個排序函式”。
  • 進行頭腦風暴,例如“我如何提高應用程式的效能?”或“提供3種不同的方式來實現搜尋功能”。
  • 獲取編碼任務的幫助,例如“我如何建立一個新的 React 元件?”或“我如何實現工廠模式?”。

在“詢問”模式下,回覆可以包含程式碼塊,您可以將這些程式碼塊應用到您的程式碼庫中。這對於單個檔案內的小規模編輯非常有效。但是,對於涉及多個檔案的較大更改或更復雜的編碼任務,“編輯”模式“代理”模式更為適用。

使用“詢問”模式

按照以下步驟開始在 VS Code 中使用“詢問”模式:

  1. 開啟“聊天”檢視 (⌃⌘I (Windows、Linux 為 Ctrl+Alt+I)) 並從聊天模式選擇器中選擇“詢問”

    Screenshot showing the Chat view, showing the mode dropdown with "Ask" selected.

    直接在 VS Code 穩定版Insiders 版中開啟“詢問”模式。

  2. 在聊天輸入框中輸入您的問題,然後選擇“傳送” () 來提交。

    嘗試以下示例問題以開始使用:

    • “什麼是工廠設計模式?”
    • “如何在 JavaScript 中使用 fetch API?”
    • “我如何建立一個新的 React 元件?”
  3. 透過使用“新增上下文”或 #-提及 特定的工作區檔案或預定義上下文項(如 #codebase)來為您的聊天提示新增上下文。

    透過新增上下文,您可以獲得更相關的回覆。例如,要詢問特定於您當前專案的問題,您可以使用 #codebase 上下文項。在聊天輸入框中輸入 # 以檢視可用上下文項的列表。

    以下是一些使用上下文的示例提示:

    • “#codebase 中的資料庫連線字串在哪裡定義的?”
    • “#calculator.test.js 使用了哪個測試框架?”
    • “總結一下 #changes 中的變更”

    瞭解更多關於為聊天提示新增上下文的資訊。

  4. 請注意,根據您的問題,回覆可能包含不同型別的富內容,例如程式碼塊、終端命令、連結以及對程式碼中符號的引用。

    瞭解如何應用程式碼塊到您的程式碼庫,或直接在整合終端中執行終端命令。

從聊天中應用程式碼塊

當您的聊天回覆包含程式碼塊時,您可以將它們分別應用到工作區中的相應檔案。VS Code 會執行智慧應用,並將更改插入到檔案中的正確位置。

要將程式碼塊應用到您的程式碼庫,請將滑鼠懸停在程式碼塊上,然後選擇“在編輯器中應用”按鈕。VS Code 會嘗試將建議的更改應用到您現有的程式碼中。

Screenshot of a chat code block response, highlighting the actions to apply changes.

或者,您也可以複製程式碼或將其插入到當前游標位置。將滑鼠懸停在程式碼塊上,然後選擇相應的操作。

根據語言擴充套件的不同,聊天回覆中的程式碼塊可能支援智慧感知(IntelliSense),類似於編輯器中的體驗。

如果程式碼塊包含 shell 命令,您可以使用“插入到終端” (⌃⌥Enter (Windows、Linux 為 Ctrl+Alt+Enter)) 操作直接在整合終端中執行它。

Chat code block to list files with Insert into Terminal option visible

提示

使用“聊天:下一個程式碼塊” (⌥⌘PageDown (Windows、Linux 為 Ctrl+Alt+PageDown)) 和“聊天:上一個程式碼塊” (⌥⌘PageUp (Windows、Linux 為 Ctrl+Alt+PageUp)) 命令在程式碼塊之間導航。

快速聊天

使用“快速聊天”來快速提問,而無需在側邊欄啟動一個完整的聊天會話。“快速聊天”是一種輕量級的聊天體驗,它會開啟一個“快速選擇”框讓您提問。

要開啟“快速聊天”,請從標題欄的“聊天”選單中選擇“開啟快速聊天”,或使用鍵盤快捷鍵 ⇧⌥⌘L (Windows、Linux 為 Ctrl+Shift+Alt+L)

您可以在“快速聊天”中提問,如果您想繼續對話,可以使用“在聊天檢視中開啟”按鈕將其提升為完整的聊天會話。

特殊關鍵字

在您的提示中,您可以使用特殊關鍵字來獲得更相關的回覆:

  • #-提及:用於為您的聊天提示新增上下文。例如,#codebase 指的是整個程式碼庫,或 #<檔案 | 資料夾 | 符號> 指的是工作區中的特定檔案、資料夾或符號。在聊天輸入框中輸入 # 檢視上下文項列表。瞭解更多關於為聊天提示新增上下文的資訊。

  • @-提及:用於引用聊天參與者,這可以幫助回答有關特定主題的問題,例如與資料庫互動。在聊天輸入框中輸入 @ 檢視可用參與者的列表。您可以選擇內建參與者如 @terminal,或由擴充套件提供的參與者

  • 斜槓命令:提供常用指令的快捷方式,例如 /fix 用於為問題提出修復建議,或 /explain 用於解釋所選程式碼的工作原理。在聊天輸入框中輸入 / 檢視可用斜槓命令的列表。