zjy
管理员
UID 2
Digest Posts
6
Credits 2385
Posts 1543
点点分 2385
Reading Access 102
Registered 2002-12-16 Location China
Status Offline
|
|
不好意思,我没看仔细:)
事实上 CnWizards 在功能开发上是有一个原则的:如果开放源码或自由的项目已经有成熟的功能,我们就不再做了,比如 GExpert 已提供的功能基本上不重复开发。而商业软件的功能,确实有用的就开发。另外,我们也提供了很多其它工具所不具备的特色功能,如最近加入的引用单元清理工具。
我想大家都不希望在 IDE 中安装一大堆的工具,所以 CnWizards 就是希望将大部分有用的功能都集成到一块,以方便使用。
代码格式化是一个特例,DelForEx 作为开发最早使用最多的工具,实在存在很多不足之处。JCF 的设计和实现都很不错,但是在容错和用户化方面还不够。我们曾经考虑过直接整合 JCF,后来担心协议兼容问题放弃了。CnCodeFormatter 在组内是作为独立的子项目由专人开发的,很大一部分原因是出于开发者对语法解析算法的个人兴趣,半成品已经有一年多没更新了。而主要开发人员也没有把时间花在这上面。
CnWizards 到现在已经开发有近三年了,早期的很多设计和实现已经显得陈旧,组内一直有计划对整个框架进行一次大的重构升级。同时,在具体实现代码的局部重构也是持续进行的。正如您提到的,代码解析是一个底层的功能模块,事实上我们正在做这一部分公共模块的开发。基于这个解析器,以后的版本还会增加代码重构、下拉类和方法列表等功能。
高亮括号并没有用到代码解析器,因为这个功能实时性要求高,也没有必要解析整个代码,现在是借助 IDE 自己的高亮信息加字符查找来实现的。输入助手和过程列表等工具不需要复杂的语法分析,只用到了国外第三方的一个快速词法分析器,不过代码都比较简单,也比较独立。当然,以后还会移植为使用公共的语法分析器。
代码折叠功能,除非特别有空,我们肯定是不会开发的了。因为这个功能的关键技术并不在折叠编辑器上面,而在与现有编辑器的整合上,我不想成天跟踪 IDE 的汇编代码去研究其内部实现,那是一件极痛苦的事。而原则上,新版本 IDE 中提供的功能,特别是大块的功能,我们都不做,否则 Borland 也会骂我们的:)
最后再说一下,大家一直到现在看到的 CnWizards 版本号都是 0.X,这意味着在我们眼中,这个工具还在开发积累阶段。等到 1.0 的时候,我们将会提供给大家一个完整地、和谐的、成熟的产品。
|
Zhou JingYu
CnPack Administrator
http://www.cnpack.org/
|
|
|