1、今天开始继续完善NoteWith for Mac,并且持续试用ChatWith for Mac,积累下一个版本的优化点
2、参考之前ChatWith for Mac的经验,先让Cursor按照目前的功能模块梳理一下文件结构,另外笔记功能也看下有没有合适的三方库可以较好地支持富文本编辑,就像渲染AI回答内容的markdown-ui一样
3、目前应用包含的功能模块有AI对话、备忘录、待办事项、设置、搜索以及通用组件,架构上分成了Models数据模型、Services服务层、ViewModels视图模型、Views视图层,数据存储方式上,备忘录、AI对话都采用了Core Data,但TodoItems和TodoGroups以及AIConfigs仍然是用的UserDefaults
4、然后让Cursor根据目前的架构整理了一下文件夹,代码组织清晰了一些,接下来运行一下试试,看看都哪些功能需要调整
5、首先,目前的备忘录在打开时默认是预览模式,需要在详情里点一下然后切换到编辑模式,询问Cursor有没有比较好用的三方库,能让目前的备忘录模块实现类似苹果备忘录的富文本编辑功能,且不需要在预览和编辑模式间切换,Cursor给出了三个方案,方案一是RichTextKit,专为SwiftUI设计,支持实时富文本编辑(所见即所得),无需在编辑/预览模式间切换,且API简洁,易于集成,可以实现类似苹果备忘录的编辑体验;方案二是AttributedString+NSTextView,即对当前的方案进行优化,这个方案我是肯定不会用的,相当于又倒退了;方案三是ProseMirror via WKWebView,可以实现功能完整的富文本编辑器,支持表格、列表、链接等,但因为需要通过WebView嵌入,导致性能开销较大,且与SwiftUI的集成略复杂,体积也较大
6、综合看下来只有方案一最符合我的需求,下周再让Cursor集成RichTextKit,试试效果