2005-9-1 16:45
zjy
CnWizards 常见问题解答
感谢大家几年来对 CnPack 的关注和支持!我们经常在论坛和邮件中看到热心的朋友们给我们的建议,同时也发现很多问题都是重复的。今天我整理了一下,把大家比较关心的一些问题列在这个帖子里,并不定期补充。
[b]1.代码格式化工具的问题。[/b]
目前网上比较好的开源代码整理工具主要有 DelForEx 和 Jedi Code Formatter。前者历史悠久,使用也很广泛。后者则是基于语法分析的整理工具,由 Jedi 组开发。由于 DelForEx 本身存在不少缺陷,而 JCF 使用 MPL 协议不太方便整合,所以 CnPack 也有自己的 CnCodeFormatter 开发计划。该工具由 古月春秋 捉刀,目前已经有可运行的雏形了。但是由于代码整理涉及到一些比较复杂的算法和技术,特别是对条件编译的处理比较麻烦,加之负责该项目的成员精力有限,所以迟迟未对外发布,请大家耐心期待。
[b]2.代码折叠功能。[/b]
Delphi2005 发布后,很多朋友提到了这个要求。代码折叠编辑技术本身并不复杂,但是由于代码编辑器作为 IDE 最重要的一个组成部分,涉及到后台和底层很多东西。要在现有的 IDE 代码编辑器中扩展折叠功能,需要做大量的测试和复杂的技术。如果用一个新的支持折叠的编辑器来取代现有的,又很难与代码提示、编译等现有功能整合。所以这个功能目前还只是可研阶段,请大家不要再提重复的建议。
[b]3.用空格完成代码模板的功能。[/b]
很多用惯 CodeRush 的朋友,建议我们增加类似的功能。不过在 CnWizards 中,我们已经提供了代码输入助手这个特色功能,将不打算再增加使用空格来完成的代码模板了。两者各有所长,空格完成的好处是速度快,而代码助手虽然需要多敲几下键,但是可以不用记忆模板名称,而且可以自由选择列表项,避免误输入。这是使用习惯问题,请大家理解。
[b]4.代码输入助手不能自动弹出的问题。[/b]
如果您使用的是未安装升级包的 Delphi2005,请安装最新的升级包。由于原始的 D2005 内部存在缺陷,会导致输入助手取不到必须的服务接口而无法正常工作。
另外,还有一种情况是如果您开启了某些输入法,在输入点号后,IDE 自己的自动完成将无法弹出,助手也不会出来。这是因为 IDE 自带的代码完成功能不支持这种情况,您可以在 IDE 编辑器设置中将 Code Completion 功能禁用掉,这样输入助手会自动取代它,并在您输入点号后弹出符号列表。
[b]5.代码输入助手取到的符号不完全。
[/b]输入助手本身并不解析代码符号信息,而是通过 OTA 接口从 IDE 的自动完成功能中获取当前位置下的有效符号列表。IDE 本身在某些条件下无法列出所有有效符号,也会导致助手列出的符号不完全。当发现助手列出的符号中没有需要的项目时,请使用 Alt+Spc 键(IDE 默认是 Ctrl+Spc)弹出 IDE 自身的自动完成,如果这里面也没有需要的项目,则表明问题出在 IDE 本身。
[b]6.代码重构功能。[/b]
这个功能也是很多朋友关心的。该功能已经在开发计划中了,请大家关注新更新信息。
[b]附:关于论坛和邮件回复的问题[/b]
CnPack 项目主要是由开发组管理员和核心开发成员利用业余时间开发、维护的。特别是管理员,要负责绝大部分的开发和项目维护工作,所以没有多余的精力来回答与 CnPack 无关的问题,也请大家不要在 CnPack 论坛的非灌水区里讨论与 CnPack 无关的技术/非技术问题。
如果某些帖子或邮件回复迟了甚至遗漏,见谅!如果您发现有没有回复而对您来说比较重要的帖子或邮件,可以在论坛上发短消息,或者直接给我们发 QQ 消息等。
更新日期:2010.05.08
2005-9-3 07:23
Sword-Light
我个人的观点是:
1、“代码格式化工具”没有必要加入
2、“代码折叠功能”根本就没有多少实际的意义!
3、“代码结构高亮功能”有必要加上,但似乎应该使用多种颜色块或其他方式,而不要使用Castalia的连线方式。
4、“代码模板的功能”虽好,但与过多的记忆难以调和,应该想想别的思路
5、“代码重构功能”应该加上
-------------------------------------------------------------------------
最好能加上类似CodeRush的Marks功能,实在是方便啊!
如果有时间,我将详述自己的观点。
2005-9-28 16:41
sunsjw
当代码很多时,代码折叠绝对是一个非常不错的功能。
2005-11-4 22:08
yimanwk
.代码输入助手不能自动弹出的问题。
我用的Delphi7 但其仍然不能自动弹出,delphi自带的code completion 可以
2005-11-24 00:17
animator
二楼的前三点的观点,我完全反对!!
我觉得这三个功能太有用了,如果能做到,我是非常希望能加上去的。
当一个文件较大,结构复杂的时候,看得头晕目眩的时候,
代码折叠可以减轻你的关注负担,
代码结构高亮能够给你一个清晰明了的整体框架,
代码格式化可以让你从混乱的代码中解脱出来。
2005-11-30 14:35
Passion
真是仁者见仁智者见智啊,
我们争取尽量满足尽可能多的用户的需求。
2006-2-15 15:51
lextm
“代码格式化工具”有没有必要加入?
首先,现有的工具已经比较成熟,JCF支持现有全部的Delphi版本。
然后,C++和C#语言确实还需要一个格式化工具。
最后,没有格式化工具可以用Castalia 4的Tab和Alt+Tab快捷键,不是很麻烦。Castalia考虑在今后的版本里面内置格式化工具。GExperts已经这样做了。
我写的CBC2虽然可以初步的实现多语言格式化,但是仅仅支持BDS的各个版本,对于BCB6的用户爱莫能助。
2006-8-11 17:04
wujingping
可不可以加个小功能,每次编译自动增加小版本号
可不可以加个小功能,每次编译自动增加小版本号
2006-8-13 20:48
helpme5
8楼说的功能Delphi自身就有的。
2006-8-15 15:11
wiseinfo
代码折叠功能,代码结构高亮功能,我觉得既然这么难,就没有开发的必要了,毕竟现在DELPHI 2006已经有此功能,扔掉DELPHI7是迟早的事情,
2006-9-5 11:05
VictorWoo
to 7楼:
JCF可以集成到delphi中么?谢谢
2006-9-6 15:06
lextm
当然可以,
[url]http://jedicodeformat.sourceforge.net/[/url]
下载的zip包里面有JCFIDE*.bpl,选择合适的版本安装就是了,和安装普通控件包一样的方法。
2006-9-7 16:01
VictorWoo
能否指点一下
我安装JcfIde7.bpl,提示找不到某些文件。
按[url]http://jedicodeformat.sourceforge.net/[/url] 中部的安装提示装了JCL,还是不够
又装了JVCL [url]http://prdownloads.sourceforge.net/jvcl/JVCL320CompleteJCL197-Build2172.zip?use_mirror=nchc[/url]
安装的过程有个很眩的gui。装完以后delphi中安了5大排控件-_|| 应该是我错装了控件包。那么JCL的design-time是哪个,怎么装?
另,这个工具为何做的这么复杂呢?有点望而却步了。DelForEx那种安装模式不是很简洁么?
再另,默认安装完jcfGui.exe去找JCF2Settings.cfg,而安装目录下是JCFSettings.cfg,少了个2,提示找不到文件,望修正。
谢谢
2006-9-14 10:36
lilor
强烈反对2楼的前3条观点;
我用Delphi7,只使用DelforEx的整理代码和Castalia的结构高亮,但我仍寄希望于cnpack能够尽早实现这两个非常有用的功能
2006-9-15 12:44
VictorWoo
Castalia的结构高亮的确拖慢了Delphi的速度,特别是不小心浏览到Windows等单元的时候。而且IDE关闭的时候经常报异常。
Castalia还有个对象/方法组合框,很好用。
2006-12-27 19:44
水中央
强烈要求加入代码格式化功能
我永远支持你们
2007-4-16 10:22
jeanedli
首先感谢这里的团队提供了非常好的增强工具。:victory:
小弟我是因为找 1.代码格式化工具 2.代码折叠功能。搜到这了。结果是看到了其他非常强大的功能,固然欣喜,但就人个希望来说是真的非常非常希望能有这两点。看到LZ此贴的邮后更新日期是“更新日期:2005.09.01日”,据今已经有近两年了,想问问,这两个功能你们最后决定是否要加的?谢谢!
2007-4-16 16:24
kendling
D7下增加代码折叠功能是不可能了。
2007-10-4 20:09
Passion
代码格式化倒是有点可能,但只支持Delphi 7 的Pascal语法,不支持新的.NET语法。
2008-8-15 01:07
hbxfwjww
支持一下.
现在Castalia的功能CnPack已经有了,就等代码格式化这个了,其它的都已经不是问题了...
2008-10-8 12:41
yxsky
为什么在windows2008+Delphi7安装CnWizards后编译不了
CnWizards版本0.8.8.430,新建项目是可以通过的。我原来的项目的些大。程序Complie过后Link时就死在那里了。但没有安装CnWizards_0.8.8.430就没有问题。Link时内存占用达到了200M多就死在那里了。
2008-10-20 10:51
xingyongjian
有没有"示例代码工具",
可以包括"参考模型","示例代码","经验总结",其他等;
2011-1-10 12:00
lb1979
辛苦了,斑竹!
斑竹不容易啊,要求太多了,不好弄哦!
2011-4-19 12:56
mekealy
w1ye1我也进来学习学习咯
2011-7-7 12:33
boylong
能否增加个功能:
删除函数时,能否把声明和实现一起删除。
2011-7-7 15:49
boylong
还有修改函数时,也可以同步修改声明和实现的地方。
比如
procedure aaa(s: string);
procedure aaa(s: string);
begin
showmessage(s);
end;
如果我修改函数名aaa为bbb时,自动修改声明和实现,这样更加方便了。
我记得mmx插件就有这功能,不知道cnPack能否增加这样的功能。
页:
[1]
Powered by Discuz! Archiver 5.0.0
© 2001-2006 Comsenz Inc.