codecamp

TRAE 侧边对话(Chat 模式):AI驱动的编程助手,提升开发效率

侧边对话(Chat 模式)

编码过程中,你可以随时在侧边对话框中与 AI 助手对话,包括回答编码问题、讲解代码仓库、生成代码片段、修复错误等。

打开侧边对话框

进入 TRAE IDE 后,一般已默认打开侧边对话框。若非如此,你可以使用快捷键(macOS:Command + U;Windows:Ctrl + U)将其打开。

启用对话模式

更多功能

TRAE IDE 提供一系列可以在对话中使用的功能,助力你更高效地开发项目。

自定义模型

TRAE 预置了一系列业内表现比较出色的模型,你可以直接切换不同的模型进行使用。此外,TRAE 还支持通过 API 密钥(API Key)接入自定义模型,从而满足个性化的需求。详情参考《模型》。

智能体

智能体是你面向不同开发场景的编程助手。除内置的智能体外,你还可以创建自定义智能体,通过灵活配置提示词和工具集,使其更高效地帮你完成复杂任务。详情参考《智能体(agent)》。

上下文

AI 助手可以理解当前项目中的上下文,包括代码、文件、文件夹和整个工作空间,从而更精确地协助你完成开发需求。详情参考《上下文》。

生成并处理代码变更

Chat 模式下,根据你的需求,AI 助手会自动创建新文件或编辑已有文件并自动保存生成的代码。你可以接受或拒绝变更,包括:

💡提示
若你选择接受代码变更,AI 助手会新建文件或将代码变更应用于已有的文件。应用的代码会以 Diff 的形式展示。

处理多文件内的所有代码变更:点击输入框上方待审查文件列表中的 全部接受全部拒绝 按钮,批量接受或拒绝当前项目中的所有代码变更。

处理单文件内的所有代码变更:在编辑器内打开文件,点击上方提示条中的 接受 按钮(快捷键:macOS 为 Command + Enter;Windows 为 Ctrl + Enter)或 拒绝 按钮(快捷键:macOS 为 Command + Backspace;Windows 为 Ctrl + Backspace),批量接受或拒绝当前文件内的所有代码变更。

处理单处代码变更:点击编辑器内某个代码变更右上角的 ^Y 按钮(快捷键:macOS 为 Control + Y;Windows 为 Alt + Y)或 ^N 按钮(快捷键:macOS 为 Control + N;Windows 为 Alt + N),接受或拒绝该变更。

此外,对于对话中生成的代码块,你可以进行以下处理:

编号 说明
1 点击 复制 按钮,复制代码块中的全部内容。
2 在编辑器内的文件中,点击目标区域,然后点击 插入到光标处 按钮,将代码块中的内容插入到文件内的光标处。
3 点击 添加到新文件 按钮,新建一个文件,并将代码块中的内容添加至该文件。
4 若为代码变更,则可以点击 应用 按钮,将变更后的代码应用至相应的文件。 提示:不支持应用和当前工作空间项目无关的代码。

生成并运行命令

对话过程中,根据你的需求,AI 助手会提供可一键运行的 Shell 命令。

你可以按需进行以下操作:

编号 说明
1 点击 复制 按钮,复制该命令。
2 点击 添加到终端 按钮,将命令添加至未被占用的终端。
3 点击 运行 按钮,在未被占用的终端中运行该命令。

回退版本

你可以将项目回退至指定会话轮次发起前的版本。

💡提示

- 回退操作不可撤销。

- 仅支持回退至最近 10 轮会话内的版本。

  1. 找到目标对话气泡。
  2. 点击左侧的 回退 按钮。

    对话框中展示本次回退会影响的文件。

  3. 点击文件名。
    编辑器内会打开该文件,显示即将发生的变更。

  4. 确认本次回退的影响范围。
  5. 若本次回退符合预期,点击 确定
    AI 助手开始回退项目。

管理历史对话

点击 AI 对话窗口右上角的 历史会话 按钮,查看并管理你与 AI 助手的所有对话。

  • 若你需要查看某轮历史对话,点击该对话,你会跳转至该对话的位置。
  • 若需要删除某轮对话,可以将鼠标悬浮至该对话,然后点击右侧的 删除 图标。对话被删除后无法恢复。
TRAE IDE CUE:智能编程工具助你高效开发
TRAE 行内对话:用 AI 助手提升编码效率,无缝融入开发流程
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }