CnPack Forum


« 2024-3-29  
SMTWTFS
 
     12
3456789
10111213141516
17181920212223
24252627282930
31      



Search Blog




Online Users: 3

0 members, 3 guests

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



25 Comments

有没有"示例代码工具",
可以包括"参考模型","示例代码","经验总结",其他等;

xingyongjian Rank: 1 2008-10-20 10:51

辛苦了,斑竹!

斑竹不容易啊,要求太多了,不好弄哦!

lb1979 Rank: 1 2011-1-10 12:00

w1ye1我也进来学习学习咯

mekealy Rank: 1 2011-4-19 12:56

能否增加个功能:
删除函数时,能否把声明和实现一起删除。

boylong Rank: 1 2011-7-7 12:33

还有修改函数时,也可以同步修改声明和实现的地方。
比如
procedure aaa(s: string);

procedure aaa(s: string);
begin
showmessage(s);
end;

如果我修改函数名aaa为bbb时,自动修改声明和实现,这样更加方便了。
我记得mmx插件就有这功能,不知道cnPack能否增加这样的功能。

boylong Rank: 1 2011-7-7 15:49



Post Comment


This blog was closed or you do not have permission to post comment.






All times are GMT++8, the time now is 2024-3-29 05:14

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

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