上周突然萌生了一个想法:我们需要的可以不是一个三维可视化的前处理软件,而可以是一个功能强大的文本编辑器。这样一来可以克服可视化前处理开发周期长、工作量大、扩展性差的缺点,二来使用时其实可以很方便的,并且非常有自己的特色。
花了一些考察调研这个想法,初步的需求包括:
-正常编辑,支持中英文,支持各种常见编码格式;
-语法高亮
-代码块收缩
-查询、替换
-块注释
-按键定义
-补全、关键词提示
-帮助词典
-动态显示模型错误
-与后处理交互
-转到定义
-*动态模型条目树
其中前面是现在编辑器(如UtraEdit)有的功能,而后面是在它们之上很难实现的功能。
调研了一下,发现开源的程序包挺丰富,C++里有QScintilla,C#里有QScintillaNET、AvalonEdit等等。然后又是一番抉择,不好选。
首先是语言的选择,C#无疑开发会比较容易,工作量和难度都小一些,但是现在后处理是C++、Qt,以后要交互的话,都使用C++会更方便一些。另外,C#的Ribbon界面之前使用过DotNETRibbon,是收费的。现在我们已经买了QTitanRibbon.C++,所以C++也会好一点。但是查了一下QScintilla的资料,发现资料挺好的,担心是不是比较小众。当然,话说真正有需求使用一个类似这样的包的,其实真是非常少非常少的。
另外QScintilla的License是GPL的,商业的话需要购买商业的许可,对于将来,这也是一笔开销。
暂时先这样,等过一阵子再详细策划。