CnPack Forum


 
Subject: “语法结构高亮”和“代码折叠”应该一起开发
Sword-Light
新警察
Rank: 1


UID 1015
Digest Posts 0
Credits 12
Posts 12
点点分 12
Reading Access 10
Registered 2005-9-1
Status Offline
Post at 2005-9-5 16:23  Profile | Blog | P.M. 
“语法结构高亮”和“代码折叠”应该一起开发

“语法结构高亮”和“代码折叠”应该一起开发,这样可以避免日后的冲突或考虑不到的地方。
今天看到http://www.econtrol.ru/,有一个EControl Syntax Editor很不错。我总觉得某段
代码块折叠要比整个函数的折叠更有用。
Top
zjy
管理员
Rank: 9Rank: 9Rank: 9



UID 2
Digest Posts 6
Credits 2385
Posts 1543
点点分 2385
Reading Access 102
Registered 2002-12-16
Location China
Status Offline
Post at 2005-9-5 17:31  Profile | Site | Blog | P.M. 
代码折叠基本上不打算开发了,见这个帖子:
http://bbs.cnpack.org/viewthread.php?tid=776&fpage=1




Zhou JingYu
CnPack Administrator
http://www.cnpack.org/
Top
Sword-Light
新警察
Rank: 1


UID 1015
Digest Posts 0
Credits 12
Posts 12
点点分 12
Reading Access 10
Registered 2005-9-1
Status Offline
Post at 2005-9-5 18:05  Profile | Blog | P.M. 
555555555555555555555555555555 :-(

呵呵,我就是那个帖子中第一个发言的人,刚开始也觉得代码折叠没什么用,可仔细想了一下,觉得还
是很有用的。我想可能是与其他功能(如:语法高亮结构,高亮括号,输入助手等)的代码分析工作产生
冲突,这一方面说明开发工作的复杂性,另一方面也说明CnWizards在开发时,各个部分协调不够。

其实,看到中国人能开发出象CnWizards这么优秀的软件,我是很高兴的。但我觉得开发组应该停下来
总结一下,理顺一下。我个人认为,CnWizards要做精,而不要贪大求全,别人有的功能且做得很不错
的功能,我们就没有必要再去做,比如:代码格式化工具,人家DelForEx 和 Jedi Code Formatter做
得那么出色,且免费,我们有必要去做吗?难道我们要做一个集所有功能于一身的专家吗?再有一些
利用率不高的功能就没有必要做,将现有的功能精益求精,这才是正道。

一家之言,仅供参考。如有言重之处,见谅。
Top
zjy
管理员
Rank: 9Rank: 9Rank: 9



UID 2
Digest Posts 6
Credits 2385
Posts 1543
点点分 2385
Reading Access 102
Registered 2002-12-16
Location China
Status Offline
Post at 2005-9-5 19:40  Profile | Site | Blog | P.M. 
不好意思,我没看仔细:)

事实上 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/
Top
fdltc
普通灌水员
Rank: 2



UID 957
Digest Posts 0
Credits 76
Posts 38
点点分 76
Reading Access 10
Registered 2005-7-21
Status Offline
Post at 2005-9-7 00:58  Profile | Blog | P.M. 
我觉得代码折叠没有什么用处,需要的人完全可以使用2005。
在eclipse中提供了该功能,我也是将代码完全展开的。需要看一个类的结构,完全可以使用类浏览器之类的工具。
Top
MSTAR
普通灌水员
Rank: 2



UID 897
Digest Posts 0
Credits 98
Posts 58
点点分 98
Reading Access 10
Registered 2005-6-11
Location 海南
Status Offline
Post at 2005-9-13 15:49  Profile | Site | Blog | P.M.  | QQ
佩服

管理员的要求可真高
Top
秋伊水
新警察
Rank: 1



UID 1037
Digest Posts 0
Credits 6
Posts 6
点点分 6
Reading Access 10
Registered 2005-9-14
Status Offline
Post at 2005-9-14 08:29  Profile | Blog | P.M. 
代码折叠如果实现很麻烦我也支持管理员,争取把其他更好的功能做好!
Top
 




All times are GMT++8, the time now is 2024-4-24 05:56

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.011448 second(s), 8 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP