上周突然萌生了一个想法:我们需要的可以不是一个三维可视化的前处理软件,而可以是一个功能强大的文本编辑器。这样一来可以克服可视化前处理开发周期长、工作量大、扩展性差的缺点,二来使用时其实可以很方便的,并且非常有自己的特色。

花了一些考察调研这个想法,初步的需求包括:

     -正常编辑,支持中英文,支持各种常见编码格式; 
     -语法高亮 
     -代码块收缩 
     -查询、替换 
     -块注释 
     -按键定义 

  
     -补全、关键词提示
     -帮助词典 
     -动态显示模型错误 
     -与后处理交互 
     -转到定义 
     -*动态模型条目树 
  
其中前面是现在编辑器(如UtraEdit)有的功能,而后面是在它们之上很难实现的功能。 
调研了一下,发现开源的程序包挺丰富,C++里有QScintilla,C#里有QScintillaNET、AvalonEdit等等。然后又是一番抉择,不好选。

首先是语言的选择,C#无疑开发会比较容易,工作量和难度都小一些,但是现在后处理是C++、Qt,以后要交互的话,都使用C++会更方便一些。另外,C#的Ribbon界面之前使用过DotNETRibbon,是收费的。现在我们已经买了QTitanRibbon.C++,所以C++也会好一点。但是查了一下QScintilla的资料,发现资料挺好的,担心是不是比较小众。当然,话说真正有需求使用一个类似这样的包的,其实真是非常少非常少的。

另外QScintilla的License是GPL的,商业的话需要购买商业的许可,对于将来,这也是一笔开销。

暂时先这样,等过一阵子再详细策划。