codecamp

Meituan CatPaw Ask 模式

概览

Ask 模式是 Meituan CatPaw 侧边栏聊天功能中的智能问答模式,专为代码探索与理解而精心设计。该模式采用"只读"工作方式,确保不会对您的代码库进行任何自动修改,让您可以安心地提问、深入探索代码逻辑,并与 AI 助手协作制定最佳解决方案。

在 Ask 模式中所有生成的代码,都可以通过的采纳机制灵活应用到您的项目中。

使用场景

Ask 模式能够帮助您在以下场景中提升开发效率:

  • 代码理解:快速理解陌生代码库的架构设计和业务逻辑,降低上手成本。
  • 问题诊断:精准定位代码中的潜在问题,获得专业的修复建议和最佳实践。
  • 方案规划:在实施重大重构或功能开发前,与 AI 助手协作制定详细的技术方案。
  • 学习探索:通过互动问答的方式,深入学习新的编程技术、设计模式和行业最佳实践。

代码采纳机制

在侧边栏使用 Ask 模式进行对话时,生成的代码需要手动 Apply 到相应文件中(前提是模型已经正确获取到对应的文件路径,即代码块上侧展示完整文件名称而非文件类型)。待 Apply 完成后,您可以选择是否采纳这些修改。

操作提示当模型未获取到正确的文件路径时,您可以手动点击代码块右上方的 "Apply" 按钮,自行选择目标文件路径。

Apply 到文件

点击代码块右上角的 Apply 按钮,即可将 AI 助手提供的代码建议直接应用到您的项目文件中。

接受与拒绝修改

在有代码块已 Apply 至文件后,您可以查看修改的 diff 内容,系统提供三种灵活的方式来接受或拒绝修改(将下述所有 Accept 替换为 Reject 即可拒绝相应修改):

  • 全部采纳:点击输入框上方 apply list 中的 Accept all 按钮,即可一次性采纳所有文件中的代码修改。
  • 按文件采纳:有多种方式可以按文件采纳代码修改。①点击代码文件编辑区页面下侧悬浮 bar 中的 Accept File 按钮;②点击侧边栏对应文件最后一次修改的代码块(前序修改的代码块会有 × 号标记);③点击输入框上方 apply list 中对应文件右侧的 Accept 按钮,即可采纳当前文件中的所有代码修改。
  • 分段采纳:修改的每部分都可以单独采纳。鼠标选中代码文件编辑区内需要采纳的 diff 点,点击 Accept 按钮将其精准采纳到目标文件中。

小贴士您可以根据实际需求,灵活组合使用不同粒度的采纳和拒绝操作,确保最终的代码修改完全符合您的预期。

其他操作

  • 复制代码

将当前生成的代码块复制到剪贴板。

  • 插入到文件

将修改后的代码(完整的文件内容)插入到代码文件编辑区的当前光标处。此功能仅在光标位于代码编辑区时才会显示。

  • 重新应用修改

点击代码块 右上角的 ReApply 按钮,可以重新应用该修改。此功能主要用于撤回等误操作后的恢复场景。

个性化配置

对话窗口配置

  • 唤起快捷键:自定义唤起该模式(Agent 模式)的快捷键,让功能调用更加便捷。(使用方式:在聊天窗口中点击左下角的模式切换按钮,使用提前设置好的唤起快捷键即可快速切换到该模式)

高级配置选项

可前往 设置-chat 中查看完整的配置说明


Meituan CatPaw 侧边栏对话功能介绍
Meituan CatPaw Agent 模式
温馨提示
下载编程狮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; }