我正在参加「豆包MarsCode初体验」征文活动# 豆包MarsCode体验官-{玩转AI}开启智能编程之旅,拿手机大奖
背景
Excel是大部分没有信息化的公司通用的数据处理手段。但并不是所有的人对excel都是非常熟悉的。 这些同学主要会遇到三类问题:
- Excel的一些操作问题,如公式怎么写
- 跨表处理太复杂,即使是写公式也很繁琐。
- 一些数据批处理问题,比如加上统一后缀之类的。
曾经解决这些问题,需要使用python做脚本来处理,相对来说也比较复杂。 但是现在有了AI,AI也非常善于处理这些结构化的数据场景。使用AI,用户不需要对编程和Excel公式有所了解, 只需要告诉AI,你想做什么事情即可。
设计图和功能
系统UI设计如下:
功能主要分为两个:
-
Excel问答
使用AI来解决一些Excel常见的问题,比如如何将EXCEl 导出为csv格式这种操作相关的问题。
-
Excel数据处理
将Excel数据导入到系统中,选中数据进行处理。这些操作分为三类。
a. 选中区域数据进行操作,如简单的将A列和B列的数据相加,相加的结果放到C列。
b. 当前页数据操作,如筛选出当前页面符合条件的数据
c. 跨页数据操作,如将A表和B表合并,姓名相同的数据合并成一行。
技术选型
我采取了社区现在最新的一些工具:
UI组件:NextUI,由next社区维护的React组件,审美非常的Mordern,动画效果也很好。缺点是组件不够完善,但已符合我们使用。
编译工具: Rsbuild。 这是去年最明星的项目了。
CSS : tailwindcss。NextUi也是基于tailwindcss的,非常好用。
Excel组件: Univer。 前身是广受好评的**Luckysheet** ,univer基于Canvas实现的高性能Office三件套工具,Excel表格是其中之一,是试验中的项目,可能不够稳定,但是已经很好用了。更新和ISSUE响应非常快。
IDE: 本文的主角了,使用了MarsCode的云IDE。
AI模型: 鉴于使用的用户大概率访问不到GPT-4,因此选用了国内比较好用的模型,字节跳动的方舟大模型和阿里的灵积大模型。其中方舟包含了十几个模型,每个模型都会赠送一个400万的token,非常适合个人用户使用。
MarsCode IDE使用
工程模板
MarsCodeIDE的模式跟Sandbox很像,但是内置了很多模板,主流的语言都有,遗憾的是没有Electron模板。 但是想想Electron可能也无法进行调试,这可能是云IDE的一大缺陷,无法调用宿主环境。
主界面
主界面的操作逻辑跟VSC没有太大区别,只是侧边栏放在了右边。可以看到有git,插件商店,底部状态栏。
这里我觉得作为云IDE,一个比本地IDE好做的地方,是可以根据模板类型,内置一些插件的安装,以及保持每个项目 独立的插件配置可能更好一点。
从插件内容上看,很多插件是没有的,比如主题,icon相关的都搜不到。
底部状态栏的内容也比较少,像node版本,插件状态这种项目信息都没展示。
编程体验
MarsCode的IDE使用的是monaca,和vscode的底层是一样的,大概率是使用了vscode的web版本。 实际使用体验可圈可点,好的是速度很快,相比SandBox这些产品,其安装依赖,demo运行的速度都很快。内置的功能模版也比较好用。 但是在开发的流畅性确实要差一点,在使用过程中遇到包括但不仅限于以下的一些问题:
-
插件经常无法唤起,比如tailwindcss插件。当然tailwindcss插件在本地的时候也会有无法唤起的时候,但是在MarsCode上这个几率明显偏高。
-
无法与本地文件互通,这就导致我想把一些本地图片放进项目或者想把项目中的文件拿下来,就无法实现。
-
热更新会导致编辑失焦,开发体验非常不流畅
-
文本编辑是没有编辑态的。在vsc中,只有编辑态被保存之后,才会触发热更新,但是MarsCode则是每写一个字母就会触发一下,结合问题3,编程体验就非常痛苦了。
我个人对云IDE是一个不太乐观的态度,个人使用的场景也仅限于在某些场景下进行少量的代码修改,比如在平板上,或者修改服务器代码时,以及在部分场景下去复现问题的demo时会用的上,还是无法作为主要编程场景使用。希望MarsCode会快速进化,打破我这种认知。
AI编程助手
编程助手是非常好用的功能,主要作用在帮忙写代码,写单测上。
使用TS时,使用编程助手帮忙生成TS的类型,非常省时省力。
如果你需要看一些依赖库的代码时,它可以帮你读代码。这个功能很好用,如果能够搭配AI的工作流,生成调用关系图,那么对于源码阅读来说就是超级利器了。
在开发过程中,对于Excel导出导入的实现思路,以及如何写逻辑,都很大程度上依赖了MarsCode助手。可以说,在使用新技术栈上,AI助手发挥的作用,怎么夸都不为过。
用户体验上的问题是,补全的代码经常会缺少必要的闭合符,在复杂的代码中,调闭合符的成本比较高,希望可以改进
产品效果展示
Excel 问答
Excel数据处理
源码
本项目有一个Electron版本的,源码地址: github.com/congxiaobai…