DevLog:2025年9月9日

1、继续昨天的修改,昨天为了实现对表格较好的渲染效果,拆分出了UnifiedMarkdownView,用于渲染普通文本,表格和代码块都已有专用的文件来渲染,但UnifiedMarkdownView使用了简单的Text组件,丢失了Markdown渲染效果,还是需要换成NSTextView,以实现良好的Markdown渲染效果、文字选择、右键菜单等功能
2、为了实现除表格和代码块之外的文本内容的渲染效果,Cursor创建了新的文件MarkdownTextView,至此明确了组件的职责,MarkdownTextView专门渲染普通文本,TableView专门渲染表格内容,CodeBlockView专门渲染代码块内容,UnifiedMarkdownView统一协调各个组件
3、接下来又是漫长的添加调试信息、定位问题的过程,在此过程中出现了应用卡死、文本不显示等问题,一直没能实现用NSTextView来渲染AI问答的文本内容,目前还是用的Text,可以正常显示文本、选择并复制文本,但没能搞定用AttributedString来解析Markdown,暂时搁置
4、先修改表格的样式,发现目前的表格第二行显示了一堆分隔符,而非正常的表格内容,而且Cursor给表格增加了最大高度限制和滚动功能,我也用不到,让Cursor修改下,Cursor创建了MarkdownTableCell组件来渲染表格单元格,但导致了应用卡死,在恢复到简单的Text组件后暂时不会卡死了,但表格里还是混合了Markdown语法标记,尤其是加粗标记
5、先保存粗体处理试试看,目前测试过的两个表格,都是粗体字比较常见,没想到只想使用这一个功能,也会导致应用卡死,只能先撤销了这一步修改,接下来准备试试Cursor建议的第三方Markdown库,比如SwiftUI-Markdown或MarkdownUI,如果可以的话,应该可以搞定AI对话中的文本、表格,以及备忘录的Markdown渲染