在 VS Code 中使用“詢問”模式
Visual Studio Code 中的聊天功能允許您使用自然語言與大語言模型 (LLM) 互動,以獲取程式碼方面的幫助。聊天的 “詢問”模式 專為詢問有關您的程式碼庫、程式設計和常規技術概念的問題而最佳化。“詢問”模式對於更好地理解程式碼庫、進行頭腦風暴和獲取編碼任務幫助特別有用。
先決條件
- 安裝最新版本的 Visual Studio Code
- 訪問 Copilot。Copilot 免費計劃並獲得每月補全和聊天互動的限制。
為什麼要使用“詢問”模式?
“詢問”模式專為回答有關您的程式碼庫、程式設計和常規技術概念的問題而最佳化。您可以用它來:
- 提出關於程式碼庫的問題,例如“資料庫連線字串在哪裡定義的?”或“解釋一下那個排序函式”。
- 進行頭腦風暴,例如“我如何提高應用程式的效能?”或“提供3種不同的方式來實現搜尋功能”。
- 獲取編碼任務的幫助,例如“我如何建立一個新的 React 元件?”或“我如何實現工廠模式?”。
在“詢問”模式下,回覆可以包含程式碼塊,您可以將這些程式碼塊應用到您的程式碼庫中。這對於單個檔案內的小規模編輯非常有效。但是,對於涉及多個檔案的較大更改或更復雜的編碼任務,“編輯”模式和“代理”模式更為適用。
使用“詢問”模式
按照以下步驟開始在 VS Code 中使用“詢問”模式:
-
開啟“聊天”檢視 (⌃⌘I (Windows、Linux 為 Ctrl+Alt+I)) 並從聊天模式選擇器中選擇“詢問”。
直接在 VS Code 穩定版或Insiders 版中開啟“詢問”模式。
-
在聊天輸入框中輸入您的問題,然後選擇“傳送” () 來提交。
嘗試以下示例問題以開始使用:
“什麼是工廠設計模式?”
“如何在 JavaScript 中使用 fetch API?”
“我如何建立一個新的 React 元件?”
-
透過使用“新增上下文”或 #-提及 特定的工作區檔案或預定義上下文項(如
#codebase
)來為您的聊天提示新增上下文。透過新增上下文,您可以獲得更相關的回覆。例如,要詢問特定於您當前專案的問題,您可以使用
#codebase
上下文項。在聊天輸入框中輸入#
以檢視可用上下文項的列表。以下是一些使用上下文的示例提示:
“#codebase 中的資料庫連線字串在哪裡定義的?”
“#calculator.test.js 使用了哪個測試框架?”
“總結一下 #changes 中的變更”
瞭解更多關於為聊天提示新增上下文的資訊。
-
請注意,根據您的問題,回覆可能包含不同型別的富內容,例如程式碼塊、終端命令、連結以及對程式碼中符號的引用。
瞭解如何應用程式碼塊到您的程式碼庫,或直接在整合終端中執行終端命令。
從聊天中應用程式碼塊
當您的聊天回覆包含程式碼塊時,您可以將它們分別應用到工作區中的相應檔案。VS Code 會執行智慧應用,並將更改插入到檔案中的正確位置。
要將程式碼塊應用到您的程式碼庫,請將滑鼠懸停在程式碼塊上,然後選擇“在編輯器中應用”按鈕。VS Code 會嘗試將建議的更改應用到您現有的程式碼中。
或者,您也可以複製程式碼或將其插入到當前游標位置。將滑鼠懸停在程式碼塊上,然後選擇相應的操作。
根據語言擴充套件的不同,聊天回覆中的程式碼塊可能支援智慧感知(IntelliSense),類似於編輯器中的體驗。
如果程式碼塊包含 shell 命令,您可以使用“插入到終端” (⌃⌥Enter (Windows、Linux 為 Ctrl+Alt+Enter)) 操作直接在整合終端中執行它。
使用“聊天:下一個程式碼塊” (⌥⌘PageDown (Windows、Linux 為 Ctrl+Alt+PageDown)) 和“聊天:上一個程式碼塊” (⌥⌘PageUp (Windows、Linux 為 Ctrl+Alt+PageUp)) 命令在程式碼塊之間導航。
快速聊天
使用“快速聊天”來快速提問,而無需在側邊欄啟動一個完整的聊天會話。“快速聊天”是一種輕量級的聊天體驗,它會開啟一個“快速選擇”框讓您提問。
要開啟“快速聊天”,請從標題欄的“聊天”選單中選擇“開啟快速聊天”,或使用鍵盤快捷鍵 ⇧⌥⌘L (Windows、Linux 為 Ctrl+Shift+Alt+L)。
您可以在“快速聊天”中提問,如果您想繼續對話,可以使用“在聊天檢視中開啟”按鈕將其提升為完整的聊天會話。
特殊關鍵字
在您的提示中,您可以使用特殊關鍵字來獲得更相關的回覆:
-
#-提及:用於為您的聊天提示新增上下文。例如,
#codebase
指的是整個程式碼庫,或#<檔案 | 資料夾 | 符號>
指的是工作區中的特定檔案、資料夾或符號。在聊天輸入框中輸入#
檢視上下文項列表。瞭解更多關於為聊天提示新增上下文的資訊。 -
@-提及:用於引用聊天參與者,這可以幫助回答有關特定主題的問題,例如與資料庫互動。在聊天輸入框中輸入
@
檢視可用參與者的列表。您可以選擇內建參與者如@terminal
,或由擴充套件提供的參與者。 -
斜槓命令:提供常用指令的快捷方式,例如
/fix
用於為問題提出修復建議,或/explain
用於解釋所選程式碼的工作原理。在聊天輸入框中輸入/
檢視可用斜槓命令的列表。