CnPack Forum


 
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-1 16:45  Profile | Site | Blog | P.M. 
CnWizards 常见问题解答

感谢大家几年来对 CnPack 的关注和支持!我们经常在论坛和邮件中看到热心的朋友们给我们的建议,同时也发现很多问题都是重复的。今天我整理了一下,把大家比较关心的一些问题列在这个帖子里,并不定期补充。

1.代码格式化工具的问题。
目前网上比较好的开源代码整理工具主要有 DelForEx 和 Jedi Code Formatter。前者历史悠久,使用也很广泛。后者则是基于语法分析的整理工具,由 Jedi 组开发。由于 DelForEx 本身存在不少缺陷,而 JCF 使用 MPL 协议不太方便整合,所以 CnPack 也有自己的 CnCodeFormatter 开发计划。该工具由 古月春秋 捉刀,目前已经有可运行的雏形了。但是由于代码整理涉及到一些比较复杂的算法和技术,特别是对条件编译的处理比较麻烦,加之负责该项目的成员精力有限,所以迟迟未对外发布,请大家耐心期待。

2.代码折叠功能。
Delphi2005 发布后,很多朋友提到了这个要求。代码折叠编辑技术本身并不复杂,但是由于代码编辑器作为 IDE 最重要的一个组成部分,涉及到后台和底层很多东西。要在现有的 IDE 代码编辑器中扩展折叠功能,需要做大量的测试和复杂的技术。如果用一个新的支持折叠的编辑器来取代现有的,又很难与代码提示、编译等现有功能整合。所以这个功能目前还只是可研阶段,请大家不要再提重复的建议。

3.用空格完成代码模板的功能。
很多用惯 CodeRush 的朋友,建议我们增加类似的功能。不过在 CnWizards 中,我们已经提供了代码输入助手这个特色功能,将不打算再增加使用空格来完成的代码模板了。两者各有所长,空格完成的好处是速度快,而代码助手虽然需要多敲几下键,但是可以不用记忆模板名称,而且可以自由选择列表项,避免误输入。这是使用习惯问题,请大家理解。

4.代码输入助手不能自动弹出的问题。
如果您使用的是未安装升级包的 Delphi2005,请安装最新的升级包。由于原始的 D2005 内部存在缺陷,会导致输入助手取不到必须的服务接口而无法正常工作。

另外,还有一种情况是如果您开启了某些输入法,在输入点号后,IDE 自己的自动完成将无法弹出,助手也不会出来。这是因为 IDE 自带的代码完成功能不支持这种情况,您可以在 IDE 编辑器设置中将 Code Completion 功能禁用掉,这样输入助手会自动取代它,并在您输入点号后弹出符号列表。

5.代码输入助手取到的符号不完全。
输入助手本身并不解析代码符号信息,而是通过 OTA 接口从 IDE 的自动完成功能中获取当前位置下的有效符号列表。IDE 本身在某些条件下无法列出所有有效符号,也会导致助手列出的符号不完全。当发现助手列出的符号中没有需要的项目时,请使用 Alt+Spc 键(IDE 默认是 Ctrl+Spc)弹出 IDE 自身的自动完成,如果这里面也没有需要的项目,则表明问题出在 IDE 本身。

6.代码重构功能。
这个功能也是很多朋友关心的。该功能已经在开发计划中了,请大家关注新更新信息。

附:关于论坛和邮件回复的问题
CnPack 项目主要是由开发组管理员和核心开发成员利用业余时间开发、维护的。特别是管理员,要负责绝大部分的开发和项目维护工作,所以没有多余的精力来回答与 CnPack 无关的问题,也请大家不要在 CnPack 论坛的非灌水区里讨论与 CnPack 无关的技术/非技术问题。

如果某些帖子或邮件回复迟了甚至遗漏,见谅!如果您发现有没有回复而对您来说比较重要的帖子或邮件,可以在论坛上发短消息,或者直接给我们发 QQ 消息等。

更新日期:2010.05.08




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-3 07:23  Profile | Blog | P.M. 
我个人的观点是:
1、“代码格式化工具”没有必要加入
2、“代码折叠功能”根本就没有多少实际的意义!
3、“代码结构高亮功能”有必要加上,但似乎应该使用多种颜色块或其他方式,而不要使用Castalia的连线方式。
4、“代码模板的功能”虽好,但与过多的记忆难以调和,应该想想别的思路
5、“代码重构功能”应该加上
-------------------------------------------------------------------------
最好能加上类似CodeRush的Marks功能,实在是方便啊!

如果有时间,我将详述自己的观点。
Top
sunsjw
新警察
Rank: 1



UID 1101
Digest Posts 0
Credits 1
Posts 1
点点分 1
Reading Access 10
Registered 2005-9-28
Location 四川成都
Status Offline
Post at 2005-9-28 16:41  Profile | Site | Blog | P.M. 
当代码很多时,代码折叠绝对是一个非常不错的功能。
Top
yimanwk
新警察
Rank: 1



UID 1234
Digest Posts 0
Credits 3
Posts 3
点点分 3
Reading Access 10
Registered 2005-11-4
Status Offline
Post at 2005-11-4 22:08  Profile | Blog | P.M. 
.代码输入助手不能自动弹出的问题。
我用的Delphi7 但其仍然不能自动弹出,delphi自带的code completion 可以
Top
animator
新警察
Rank: 1



UID 1347
Digest Posts 0
Credits 28
Posts 17
点点分 28
Reading Access 10
Registered 2005-11-23
Status Offline
Post at 2005-11-24 00:17  Profile | Blog | P.M. 
二楼的前三点的观点,我完全反对!!
我觉得这三个功能太有用了,如果能做到,我是非常希望能加上去的。

当一个文件较大,结构复杂的时候,看得头晕目眩的时候,
代码折叠可以减轻你的关注负担,
代码结构高亮能够给你一个清晰明了的整体框架,
代码格式化可以让你从混乱的代码中解脱出来。
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6750
Posts 3551
点点分 6750
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2005-11-30 14:35  Profile | Blog | P.M. 
真是仁者见仁智者见智啊,
我们争取尽量满足尽可能多的用户的需求。
Top
lextm
灌水科科长
Rank: 3Rank: 3



Medal No.1  
UID 771
Digest Posts 1
Credits 115
Posts 77
点点分 115
Reading Access 10
Registered 2005-3-28
Location Shanghai
Status Offline
Post at 2006-2-15 15:51  Profile | Site | Blog | P.M.  | QQ
“代码格式化工具”有没有必要加入?

首先,现有的工具已经比较成熟,JCF支持现有全部的Delphi版本。

然后,C++和C#语言确实还需要一个格式化工具。

最后,没有格式化工具可以用Castalia 4的Tab和Alt+Tab快捷键,不是很麻烦。Castalia考虑在今后的版本里面内置格式化工具。GExperts已经这样做了。

我写的CBC2虽然可以初步的实现多语言格式化,但是仅仅支持BDS的各个版本,对于BCB6的用户爱莫能助。
Top
wujingping
新警察
Rank: 1



UID 2455
Digest Posts 0
Credits 1
Posts 1
点点分 1
Reading Access 10
Registered 2006-8-11
Status Offline
Post at 2006-8-11 17:04  Profile | Blog | P.M. 
可不可以加个小功能,每次编译自动增加小版本号

可不可以加个小功能,每次编译自动增加小版本号
Top
helpme5
新警察
Rank: 1



UID 1058
Digest Posts 0
Credits 30
Posts 16
点点分 30
Reading Access 10
Registered 2005-9-21
Status Offline
Post at 2006-8-13 20:48  Profile | Blog | P.M. 
8楼说的功能Delphi自身就有的。
Top
wiseinfo
灌水科科长
Rank: 3Rank: 3



UID 560
Digest Posts 0
Credits 159
Posts 80
点点分 159
Reading Access 10
Registered 2004-11-11
Status Offline
Post at 2006-8-15 15:11  Profile | Blog | P.M. 
代码折叠功能,代码结构高亮功能,我觉得既然这么难,就没有开发的必要了,毕竟现在DELPHI 2006已经有此功能,扔掉DELPHI7是迟早的事情,
Top
VictorWoo
灌水科科长
Rank: 3Rank: 3



Medal No.1  
UID 1975
Digest Posts 1
Credits 114
Posts 98
点点分 114
Reading Access 10
Registered 2006-3-11
Location 福建
Status Offline
Post at 2006-9-5 11:05  Profile | Site | Blog | P.M.  | QQ | ICQ Status
to 7楼:
JCF可以集成到delphi中么?谢谢
Top
lextm
灌水科科长
Rank: 3Rank: 3



Medal No.1  
UID 771
Digest Posts 1
Credits 115
Posts 77
点点分 115
Reading Access 10
Registered 2005-3-28
Location Shanghai
Status Offline
Post at 2006-9-6 15:06  Profile | Site | Blog | P.M.  | QQ
当然可以,
http://jedicodeformat.sourceforge.net/
下载的zip包里面有JCFIDE*.bpl,选择合适的版本安装就是了,和安装普通控件包一样的方法。
Top
VictorWoo
灌水科科长
Rank: 3Rank: 3



Medal No.1  
UID 1975
Digest Posts 1
Credits 114
Posts 98
点点分 114
Reading Access 10
Registered 2006-3-11
Location 福建
Status Offline
Post at 2006-9-7 16:01  Profile | Site | Blog | P.M.  | QQ | ICQ Status
能否指点一下
我安装JcfIde7.bpl,提示找不到某些文件。
http://jedicodeformat.sourceforge.net/ 中部的安装提示装了JCL,还是不够
又装了JVCL http://prdownloads.sourceforge.n ... zip?use_mirror=nchc
安装的过程有个很眩的gui。装完以后delphi中安了5大排控件-_|| 应该是我错装了控件包。那么JCL的design-time是哪个,怎么装?

另,这个工具为何做的这么复杂呢?有点望而却步了。DelForEx那种安装模式不是很简洁么?
再另,默认安装完jcfGui.exe去找JCF2Settings.cfg,而安装目录下是JCFSettings.cfg,少了个2,提示找不到文件,望修正。

谢谢
Top
lilor
新警察
Rank: 1



UID 2566
Digest Posts 0
Credits 1
Posts 1
点点分 1
Reading Access 10
Registered 2006-9-14
Status Offline
Post at 2006-9-14 10:36  Profile | Blog | P.M. 
强烈反对2楼的前3条观点;

我用Delphi7,只使用DelforEx的整理代码和Castalia的结构高亮,但我仍寄希望于cnpack能够尽早实现这两个非常有用的功能
Top
VictorWoo
灌水科科长
Rank: 3Rank: 3



Medal No.1  
UID 1975
Digest Posts 1
Credits 114
Posts 98
点点分 114
Reading Access 10
Registered 2006-3-11
Location 福建
Status Offline
Post at 2006-9-15 12:44  Profile | Site | Blog | P.M.  | QQ | ICQ Status
Castalia的结构高亮的确拖慢了Delphi的速度,特别是不小心浏览到Windows等单元的时候。而且IDE关闭的时候经常报异常。
Castalia还有个对象/方法组合框,很好用。
Top
水中央
新警察
Rank: 1



UID 3652
Digest Posts 0
Credits 2
Posts 2
点点分 2
Reading Access 10
Registered 2006-12-10
Status Offline
Post at 2006-12-27 19:44  Profile | Blog | P.M. 
强烈要求加入代码格式化功能

我永远支持你们
Top
jeanedli
新警察
Rank: 1



UID 10142
Digest Posts 0
Credits 1
Posts 1
点点分 1
Reading Access 10
Registered 2007-4-10
Status Offline
Post at 2007-4-16 10:22  Profile | Blog | P.M. 
首先感谢这里的团队提供了非常好的增强工具。
小弟我是因为找 1.代码格式化工具 2.代码折叠功能。搜到这了。结果是看到了其他非常强大的功能,固然欣喜,但就人个希望来说是真的非常非常希望能有这两点。看到LZ此贴的邮后更新日期是“更新日期:2005.09.01日”,据今已经有近两年了,想问问,这两个功能你们最后决定是否要加的?谢谢!
Top
kendling (小冬)
高级版主
Rank: 8Rank: 8
MyvNet


Medal No.1  
UID 703
Digest Posts 5
Credits 978
Posts 580
点点分 978
Reading Access 101
Registered 2005-2-18
Location 广东
Status Offline
Post at 2007-4-16 16:24  Profile | Site | Blog | P.M.  | QQ | Yahoo!
D7下增加代码折叠功能是不可能了。




小冬
http://MyvNet.com
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6750
Posts 3551
点点分 6750
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2007-10-4 20:09  Profile | Blog | P.M. 
代码格式化倒是有点可能,但只支持Delphi 7 的Pascal语法,不支持新的.NET语法。
Top
hbxfwjww (流星无语)
普通灌水员
Rank: 2



UID 14409
Digest Posts 0
Credits 87
Posts 36
点点分 87
Reading Access 10
Registered 2007-5-18
Status Offline
Post at 2008-8-15 01:07  Profile | Blog | P.M.  | QQ
支持一下.
现在Castalia的功能CnPack已经有了,就等代码格式化这个了,其它的都已经不是问题了...




我就是我!
Top
 




All times are GMT++8, the time now is 2024-3-28 22:50

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

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