前言
最近豆包MarsCode AI 问答已上线新功能 #Workspace,支持用户在 #Workspace 后输入自然语言与代码仓库进行问答互动,问答级别从具体的代码上升到整个仓库,听起来很强大,接下来让我们深入探索这个新功能以及和各大平台的代码问答产品来综合对比一下吧。
使用指南
以VsCode为例,在插件市场搜索MarsCode,点击安装右侧就会出现MarsCode图标,点击后即可进入右侧界面,按顺序点击即可体验workspace功能。
使用体验
本次是对Workspace功能进行测试,测试问题会集中在项目整体的理解上,项目选用ant-design源码
1. 是否能够快速理解项目架构
测试问题: 详细解释一下该项目的整体和各个目录文件的功能以及项目启动运行流程
回答效果: 比较清晰明了✔️
2. 是否能够理解项目具体内容
我们以antd的switch组件为例, 测试他是否能够找到这个组件以及是否清楚他的属性
// 官网示例代码
import React from 'react';
import { Switch } from 'antd';
const App: React.FC = () => (
<>
<Switch size="small" loading />
</>
);
export default App;
测试问题: 这个项目中存在Switch组件吗?位置在哪?我想要实现加载中的loading效果应该如何传参?
回答效果: 和官网文档一致,回答很不错✔️
3. 是否能够按需生成代码
测试问题: 基于当前项目,我需要生成一个自定义form表单,第一行是左侧输入框,右侧按钮,第二行是左侧输入框右侧单选框,第三行是确定和取消按钮,请生成代码,并告诉我该代码应该写在什么位置和使用方法。
回答效果: 能够理解项目结构并引用已有组件完成自定义组件的封装并解释该组件的使用方法,效果不错✔️
4.是否能够修改当前已有功能
以antd的button组件为例,给定一个自定义的宽高按钮类型,让其生成代码
测试问题: 该项目button组件的size属性我想加一个类型,类型名称是custom,效果是宽40px,高30px,应该如何实现?
回答效果: 能够理解项目结构并对已有逻辑进行修改添加,效果不错✔️
总结
优点: 总体使用下来理解能力还是比较强,能够自主生成代码,对于接手新项目会有很大的帮助,还是比较给力的🎉🎉🎉
不足
不支持在文件选定区域处直接生成优化代码
Cursor: