在 VS Code 中使用提问模式
Visual Studio Code 中的聊天功能允许你使用自然语言与大型语言模型 (LLM) 交互,以获得代码帮助。聊天的提问模式经过优化,可用于询问关于你的代码库、编码和一般技术概念的问题。提问模式特别有助于更好地理解你的代码库、集思广益,并获得编码任务的帮助。
先决条件
- 安装最新版本的 Visual Studio Code
- 访问 Copilot。Copilot 免费计划并获得每月补全和聊天交互的限制。
为什么要使用提问模式?
提问模式经过优化,可用于回答关于你的代码库、编码和一般技术概念的问题。你可以使用它来:
- 提出关于你的代码库的问题,例如“数据库连接字符串在哪里定义?”或“解释排序函数”。
- 集思广益,例如“如何提高我的应用程序的性能?”或“提供 3 种不同的方法来实现搜索功能”。
- 获得编码任务的帮助,例如“如何创建新的 React 组件?”或“如何实现工厂模式?”。
在提问模式中,响应可以包含代码块,你可以将其应用到你的代码库。这适用于单个文件中的较小编辑。然而,编辑模式和代理模式更适合跨多个文件进行较大更改或处理更复杂的编码任务。
使用提问模式
按照以下步骤在 VS Code 中开始使用提问模式:
-
打开聊天视图(⌃⌘I (Windows, Linux Ctrl+Alt+I)),并从聊天模式选择器中选择提问。

-
在聊天输入字段中键入你的问题,然后选择发送()以提交。
尝试以下一些示例问题以开始使用:
“什么是工厂设计模式?”“如何在 JavaScript 中使用 fetch API?”“如何创建新的 React 组件?”
-
通过使用添加上下文或 #-提及特定的工作区文件或预定义上下文项(如
#codebase)来为你的聊天提示添加上下文。通过添加上下文,你可以获得更相关的响应。例如,要询问特定于当前项目的问题,你可以使用
#codebase上下文项。在聊天输入字段中键入#以查看可用上下文项的列表。以下是一些使用上下文的示例提示:
“db 连接字符串在 #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解释所选代码的工作原理。在聊天输入字段中键入/以查看可用斜杠命令的列表。