这个Post只是预告一下“吊胃口V”可能发布的内容,是一个预告。
首先发扬一下吊胃口的精神,给大家看看目前NfaGen的工作成果:
上面这个图是NfaGen2的雏形,上面的代码着色是程序自动完成的。不过目前着色也没有完全昨晚,比如定义后面部分的字符就没有进行着色。目前NfaGen2的语法分析用的正则表达式基本上已经稳定下来了,一般来说错误已经很少了,但是还有一些已知的错误存在,也有一些不足的地方需要调整。这个正则表达式的长度目前已经达到了惊人的5,009个字符了,估计还要继续增加一点。
那么我准备在“吊胃口V”里面给大家说些什么呢?就讲讲我是怎么进行这个着色工作的。其时不要小看这个着色步骤,如果你用RichTextBox就会发现有各种各样的问题:
1、要对某部分的颜色字体进行改变,就需要设置SelectionStart、SelectionLength,然后修改SelectionColor、SelectionFont。但是在此过程当中,你会发现编辑框会闪烁——你选中的部分会变蓝然后再变回来。
2、如果你打算使用一个RichTextBox作为后台着色的工具,那么你会发现如果文本内容太多,也会出现闪烁——首先闪现最开始部分的内容,然后再显示你正在编辑的部分。
3、你还会发现,如果你输入的速度太快了,就可能出现错误,比如你输入"asdf",结果却显示"asfd",并且光标停留在f和d之间,或者出现其他类型的错误(尤其是你打算用多线程的话)
4、你打算怎么进行代码分析着色呢?把文本框里面的所有内容都重新分析并着色一遍?如果是这样的话,你会发现内容多到一定程度的时候就会非常的迟钝了。假如你采取只分析最近修改的那一两行的办法,那么如果你Paste一段文字进去的话,你打算怎么处理呢?
大家觉得“吊胃口V”说这个内容OK不OK啊?我希望在正式发布“吊胃口V”之前先把大部分的Bug修正了,并且能够完全着色。好,不多说了,继续改Bug,早改完早发布。
分类:
.NET 技术内幕
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器