在 VS Code 中利用聊天功能
在 Visual Studio Code 中利用聊天功能,通过天然语言提问关于代码库的问题,或在整个项目中进行编辑。聊天功能可以在分歧模式下运行,针对您的用例进行优化,从提问到进行多文件编辑或启动自立编码工作流。
当您需要执行以下操作时,可能会想在 VS Code 中利用聊天功能:
- 理解代码 - “解释一下这个身份验证中间件是如何工作的”
- 调试问题 - “为什么我在此循环中遇到空援用?”
- 获庖代码建议 - “向我展示如何在 Python 中实现二叉搜刮树”
- 优化機能 - “帮我提高此数据库查询的效力”
- 学习最好实践 - “在异步函数中处理错误的推荐方式是什么?”
- 获取 VS Code 技能 - “若何自定义键盘快捷键?”
先决条件
- 安装最新版本的
- 访问 。 并获得每個月补全和聊天交互的限制。
在 VS Code 中访问聊天功能
您可以在 VS Code 中以不同體式格局利用天然语言聊天,每种體式格局都针对特定的用例和任务进行了优化。
| 体验 | 用例 | 用户体验 |
|---|---|---|
| 聊天视图 ⌃⌘I (Windows、Linux 为 Ctrl+Alt+I) |
在侧边的专用视图中进行持续的多轮聊天对话。在分歧的 之间切换,以提出问题、跨文件编辑代码或启动自主编码工作流。 | |
| 内联聊天 ⌘I (Windows、Linux 为 Ctrl+I) |
直接从编辑器(编辑器内联聊天)或集成终端(终端内联聊天)启动聊天对话,以在原地获取建议。 | |
| 快速聊天 ⇧⌥⌘L (Windows、Linux 为 Ctrl+Shift+Alt+L) |
快速提问一个问题,然后回到您正在做的事情中。 |
通过相应的键盘快捷键或 VS Code 标题栏中的 Copilot 菜单访问每种聊天体验。
选择聊天模式
聊天模式是预定义的設置裝備擺設,用于为特定任务(如提问、编辑代码或执行自立编码任务)自定义 VS Code 中的聊天功能。VS Code 附带三种内置聊天模式:提问 (Ask)、编辑 (Edit) 和代理 (Agent)。您还可以为特定场景定义本身的聊天模式,例如规划新功能或研究实现方案。
要切换聊天模式,请打开聊天视图(⌃⌘I (Windows、Linux 为 Ctrl+Alt+I)),然后从聊天模式下拉列表中选择所需的模式。
了解更多关于 。
更改语言模子
VS Code 提供多种内置语言模子供您选择。某些模子针对快速编码任务进行了优化,而其他模子则更适合较慢的规划和推理任务。利用聊天输入字段中的模子选择器来更改 Copilot 用于生成响应的模子。
您还可以从其他模子提供商处添加模子(预览版)并在聊天中利用它们。获取有关如何 的更多详细信息。
可用模子的列表可能会根据您的 Copilot 订阅而有所分歧,并可能随时间变化。有关 的更多信息,请参阅 GitHub Copilot 文档。
提交聊天提醒
在聊天输入框中输入自然语言提醒,以在 VS Code 中发出聊天请求。根据聊天模式,您可以询问有关代码库的问题、获代替码建议或在项目中的多个文件之间进行代码编辑,并调用专门的對象。
聊天响应可能包括丰富内容的组合,例如 Markdown 文本、代码块、按钮、文件树等。
通过 设置(预览版)启用在聊天响应中襯著数学方程式。
添加聊天上下文
在聊天视图中使用“添加上下文”按钮或输入 #-提及来为您的聊天提示添加上下文。例如,输入 #codebase 进行完全的代码库搜索,或输入 #<文件 |="" 文件夹="" |="" 符号=""> 来援用工作区中的特定文件、文件夹或符号。在聊天输入字段中输入 # 以查看上下文项列表。
如果您已安装供給工具的 MCP 服务器或扩展,您也能夠通过在聊天提醒中 #-說起这些東西来直接引用它们。例如:
summarize #fetch code.visualstudio.com/updates:利用fetch内置工具检索网页内容what is terminal suggest #githubRepo microsoft/code:利用githubRepo内置對象在 GitHub 仓库中执行代码搜索。
您还可以通过输入 # 后跟對象名称来直接在提示中援用代理模式工具。您可以在所有聊天模式(提问、编辑和署理模式)中执行此操作。例如,使用 #fetch 工具将网页内容添加为聊天提示的上下文,或使用 #githubRepo 在 GitHub 仓库中执行代码搜刮。
获取有关 的更多详细信息。
提醒示例
询问一般技术主题“什么是链表?”“排名前 10 的流行 Web 框架”
“解释一下 #codebase 中的身份验证是如何工作的”“数据库连接字符串在哪里設置裝備擺設? #codebase”“如何构建这个 #codebase?”“#getUser 在哪里被利用了? #usages”
“创建一个关于页面并将其包括在导航栏中 #codebase”“为更新地址信息添加一个新的 API 路由 #codebase”“添加一个登录按钮,并根据 #styles.css 进行样式设计”
“修复 #problems 中的问题”“修复失败的测试 #testFailure”
“若何在 React 18 中利用 'useState' hook? #fetch https://18.reactjs.ac.cn/reference/react/useState#usage”“构建一个用于获取地址信息的 API 端点,利用来自 #githubRepo contoso/api-templates 的模板”
有关更多提醒示例,请参阅 GitHub 文档中的 。
在聊天输入字段中输入 /help 以获取有关 Copilot 和若何与聊天交互的帮助。
视觉
您可以将图像从 Web 浏览器拖放到聊天视图中,以将其添加为上下文。
聊天记录
当您在一次聊天会话中迭代并发送多个聊天提醒时,VS Code 会利用聊天提醒和响应的历史记录作为您当前聊天提示的上下文。这意味着您可以提出后续问题或澄清您之前的问题,而无需重复上下文。例如,您可以问“这个与...有什么分歧?”、“现在添加一个测试用例”、“更详细地解释一下”等等。
您可以随时使用聊天视图中的“新聊天”(+)按钮(⌘N (Windows、Linux 为 Ctrl+N))创建一个新的聊天会话。若是您想切换到不同的话题并避免之前的上下文和历史记录,这会很有效。
要查看聊天会话的历史记录,请选择聊天视图中的“显示聊天...”按钮,或通过號令面板中的“聊天: 显示聊天...”敕令。选择一个历史记录条目以在聊天视图中打开该聊天会话并继续对话。
您可以使用命令面板中的“聊天: 导出聊天...”號令,将聊天会话的所有提醒和响应导出到一个 JSON 文件中。
编辑之前的聊天请求(实验性)
编辑聊天请求的功能自 VS Code 1.102 版本起可用,今朝是一项实验性功能。
您可以在当前聊天会话中编辑之前的聊天请求。若是您想优化提醒或更正错误,这会很有用。编辑聊天请求相当于撤销该请求,然后用编辑后的提醒提交一个新的请求。
当您编辑之前的聊天请求时,将执行以下步骤:
- 被编辑的请求以及所有后续的请乞降响应都将从对话历史中移除。
- 由这些请求所做的任何编辑都将恢复到请求前的状态。
- 被编辑的请求将被添加到对话历史中,并提交给语言模子以获得新的响应。
您可使用 设置来設置裝備擺設编辑之前的聊天请求:
inline:在聊天视图中选择请求,使其可就地编辑。利用 Escape 退出编辑模式。hover:将鼠标悬停在聊天请求上,然后选择编辑图标(铅笔)以使其可當場编辑。使用 Escape 退出编辑模式。input:将鼠标悬停在聊天请求上,然后选择编辑图标(铅笔)以在聊天输入字段中编辑该请求。none:禁用在聊天视图中编辑聊天请求。
利用检查点撤销聊天请求(预览版)
检查点功能自 VS Code 1.103 版本起可用,目前处于预览阶段。
聊天检查点供應了一种将工作区状态恢复到先前时间点的方法,当聊天交互导致跨多个文件的更改时特別有用。
启用检查点后,VS Code 会在聊天交互的关键点自动创建文件快照,允许您在聊天请求所做的更改不符合预期或想尝试分歧方式时,返回到一个已知的精良状态。
要启用检查点,请設置裝備擺設 设置。
恢复检查点
当您恢复一个检查点时,VS Code 会将工作区恢复到该检查点时的状态。这意味着在该检查点之后对文件所做的所有更改都将被撤销。
要将您的工作区恢复到先前的检查点:
-
在聊天视图中,导航到聊天会话中先前的聊天请求。
-
将鼠标悬停在聊天请求上,然后选择“恢复检查点”。
-
确认您要恢复检查点并撤销该时间点之后所做的任何文件更改。
请注意,聊天请求将从对话历史中移除,并且工作区文件将恢复到检查点时的状态。
恢复后重做
恢复到先前的检查点后,您可以重做被撤销的更改。如果您不當心恢复到了一个检查点,这可能会很有效。
要在恢复检查点后重做更改,请在聊天视图中选择“重做”。
查看检查点中的文件更改
为了帮助您了解每个聊天请求的影响,并更輕易地决定要恢复到哪个检查点,请启用 设置。这会显示在每个聊天请求结束时被修改的文件列表,和每个文件中添加和删除的行数。
在编辑器标签页或单独窗口中打开聊天
您可以将聊天会话作为单独的编辑器标签页,乃至是一个单独的浮动窗口打开。此功能使您可以同时打开多个聊天会话。
在聊天视图中,选择右上角的 ... 图标,然后选择“在编辑器中打开聊天”或“在新窗口中打开聊天”。以下截图显示了在浮动窗口中运行的聊天视图:
默认情况下,聊天会话以紧凑模式打开,该模式会隐藏标题栏和其他 UI 元素。选择浮动窗口标题栏中的紧凑模式图标,可在紧凑模式和通俗模式之间切换。
或者,启用“始终置顶”模式,以始终将聊天视图保持在其他窗口的顶部。
了解更多关于 VS Code 中的 。
利用语音交互
借助 VS Code 中的语音節制功能(由 扩展供給),您可使用语音发起聊天对话:
- 利用您的声音来口述您的聊天提示
- 使用“Hey Code”语音命令与 Copilot Chat 开始语音会话
- 通过利用“按住说话”模式来加快聊天的语音输入
了解更多关于若何在 。
聊天调试视图
聊天调试视图是一个专用视图,您可以在其中查看 AI 请乞降响应的详细信息。对于每个聊天请求,您可以看到系统提醒、用户提醒以及发送给语言模子的上下文的详细信息。您可以查看语言模子的详细响应,以及作为聊天请求一部分调用的工具的响应。
要打开聊天调试视图,请从敕令面板(⇧⌘P (Windows、Linux 为 Ctrl+Shift+P))运行“Developer: Show Chat Debug View”饬令。
从敕令行启动聊天
您可以通过在 VS Code CLI 中利用 chat 子命令,直接从命令行启动聊天会话。这使您可以在当前工作目录中打开一个聊天会话,并附带您供給的提醒。
例如,以下號令会为当前目录打开聊天,并提问“查找并修复所有未指定类型的变量”:
code chat Find and fix all untyped variables
chat 子饬令具有以下命令行选项:
-m,--mode:用于聊天会话的聊天模式。可用选项:ask、edit、agent或自定义模式的标识符。默认为agent。-a,--add-file:将文件添加为聊天会话的上下文。--maximize:最大化聊天会话视图。-r,--reuse-window:利用最后一个活动窗口进行聊天会话。-n,--new-window:为聊天会话打开一个空窗口。
chat 子饬令还撐持通过在饬令末尾传递 - 来从 stdin 管道输入。例如:
python app.py | code chat why does it fail -
隐私与透明度
为了给私有仓库启用更多的工作区搜刮功能,我们需要额外的权限。如果我们检测到還沒有获得这些权限,我们会在启动时请求。一旦授與,我们将平安地存储会话以备将来利用。
在 認識更多关于安全性、隐私和透明度的信息。
常见问题
我该如何选择分歧的聊天模式?
不同的聊天模式针对不同的用例进行了优化:
-
利用编辑器内联聊天直接在活动编辑器中提问或进行编辑。这对于进行代码更改或提出仅限于当前文件的问题非常有效。
-
利用提问模式来询问关于您的代码库或技术概念的问题。响应可能包括代码建议,您可以手动、逐个地应用到您的代码库中。更改不会自动应用到您的代码库。
-
-
其他资源
您可以在 中阅读更多关于 和若何在 VS Code 中利用它的信息。
或者查看 YouTube 上的 ,您可以在那里找到更多入门内容和针对特定编程语言的视频,学习若何将 Copilot 与 、 、 、 、 等结合利用。
后续步骤
- 通过入门级的 开始学习。
本篇文章引用自此: https://vscode.js.cn/docs/copilot/chat/copilot-chat
美女直播不囉嗦/最優質美女直播24小時上線中/影音視訊交友聊天麻豆/更多互動等您加入體驗!
美女直播限時看色情視訊入會送50點。最聽話。最辣。最開放。最火紅。服務: memeshow、免費視訊、美女影片、偷窺。
MEMESHOW現在入會免費試看 — 限制火辣級辣妹、曖昧輔導級正妹、清純普遍級 妹妹,你想聊天的類型應有盡有,立即入會。
撫慰你的心靈,滿足你的慾望,各式互動讓你興奮,追求快感,刺激無限。癡漢。聊天室。免費聊天室。辣妹聊天。
服務:美女演出、直播視訊、1v1獨播。
LINE 聊禀賦類必看講授!手機和電腦都合用!色情聊天
UThome提供完整的即時影音聊天服務環境,您不需編寫任何的程式碼,不需豐富的相關服務經驗,您唯一要做的事
《寶島西米樂》 楊子儀跪地頂罪 逼哭尹昭德 男男背後式環抱 意外飄...麻豆
