codecamp

Meituan CatPaw Inline Chat 功能介绍

Inline Chat 和侧边栏对话的差异

通过 Inline Chat 功能,您可以在编写代码的过程中随时在编辑区域内直接调用 AI 助手获得帮助。这个功能特别适合您在编写特定代码段时遇到问题,需要快速获得 AI 支持的场景(即您已经明确定位到需要咨询或修改的代码位置)。

相比侧边栏对话,Inline Chat 更适合处理相对简单直接的任务。需要注意的是,与侧边栏对话可以持续追问不同,Inline Chat 采用一次性问答模式,如果对结果不满意,您需要重新编辑问题后再次生成答案。

唤起方式

您可以通过以下两种方式启动 Inline Chat:

  1. 在编辑器中选中目标代码块,右侧会显示悬浮操作面板,点击 Edit 即可进入 Inline Chat 对话框。
  2. 使用快捷键 Command + I 直接唤起 Inline Chat 对话框。


快速问答

当我们可能需要快速了解某段代码的功能或获取一些简单的信息,但又不想立即生成或修改代码。这就是快速回答功能的用武之地。

在 Inline Chat 对话框中输入您的问题并添加相关上下文信息后,点击 快速问答 后 CatPaw 会根据当前选择的上下文回答你的问题。您可以选择复制回答内容(以 Markdown 格式保存)。

如需进一步讨论,可点击下方的 转到 Chat 按钮,将当前对话内容保存到侧边栏对话的历史记录中。当需要修改文件时,您可以在侧边栏中进行 ApplyAccept 操作。

生成代码

在 Inline Chat 对话框中描述您的修改需求并添加相关上下文信息后,点击 生成代码 后 AI 就可以开始任务。系统会展示所有代码修改的 diff 详情,您可以针对每个 diff 点进行 AcceptReject 操作,也可以直接选择 接受拒绝 来统一处理所有修改点。

如果对生成的代码结果不满意,您可以修改问题描述后点击"重新生成"按钮进行重试。

上下文操作

Inline Chat 同样支持 Codebase 索引和所有 @Symbols 功能,帮助 AI 更好地理解您的项目上下文。详细使用方法请参考上下文部分

使用场景

增加新功能

当您需要在特定位置添加新代码时,只需将光标定位到目标位置,按下 Cmd + I 快捷键,Meituan CatPaw 就会根据您在对话框中的描述生成相应的新代码。这种方式特别适合在指定位置快速添加新功能模块。

代码修改

如果您需要修改现有代码,可以先选中目标代码段,然后执行 Cmd + I 操作。Meituan CatPaw 会根据您的具体需求对选中的代码进行智能修改。您可以利用这个功能进行代码风格调整、重构优化、性能提升、缺陷修复等各种代码改进操作。


Meituan CatPaw 快捷方式
Meituan CatPaw 上下文概览
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Meituan CatPaw 代码补全

Meituan CatPaw Inline Chat

Meituan CatPaw 项目预览调试与页面元素编辑

Meituan CatPaw 用户反馈

关闭

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; }