CnPack Forum » CnPack IDE 专家包(CnWizards) » 征集输入助手改进意见


2005-6-2 22:21 zjy
征集输入助手改进意见

作为CnWizards中使用最频繁、得票最多的工具,代码输入助手还有不少可以改进的地方。

已经计划在下一版本中增加的功能有:
1、增加编译指示字的支持(已实现)。
2、增加输入模板支持,即使用单词来输入代码块。原来的版本已经支持读取Delphi自己的代码模板,新版本将支持用户自定义模板,并允许在模板中定义宏,如定义 tryo 为:
%ObjName% = %ClassName%
try
  |
finally
  %ObjName%.Free;
end;
使用时象代码编辑器专家一样弹出窗口,由用户输入其中的两个宏变量。
3、增加注释模板支持,可以输入 JavaDoc 或 MS XML 风格的注释。
4、在列表窗口旁边增加一列小按钮,以方便添加新符号或打开设置窗口等(按钮显示已实现)。

大家有什么好的想法,欢迎在此提出!

2005-6-8 13:54 ccceee
迅速添加当前过程变量.

2005-6-10 14:39 firstrose
对于匈牙利命名法的支持

不要老是自动把输入的关键字处理成小写。至少让我们可以选择吧

2005-6-11 14:36 zjy
关键字小写是 delphi 和代码规范,大家可以试试,在代码区用 Ctrl+Spc 弹出的 IDE 自动完成列表里也是小写的。如果确实有需要的话,可以考虑在输入助手中增加关键字大小写选项。

2005-6-11 14:37 zjy
迅速添加当前过程变量的功能,可以见这个任务单:
[url]http://www.cnpack.org:8008/cnpack/tktview?tn=13[/url],1

对于匈牙利命名法的支持,不太好具体实现。如果您有好的想法,欢迎回帖。

2005-6-11 21:55 firstrose
啊,sorry,让你误会了。

其实应该是pascal命名法。就是单词首字母大写。
这是以前borland的一套东西。
比如

Begin
End;

偶是从tp5那个时候过来的……

2005-7-5 22:50 zjy
关键字大小写转换已实现

请下载最新的开发版测试:
[url]http://www.cnpack.org/downbuilds.php[/url]

2005-7-7 17:06 jAmEs_
C++ Builder是否还没有这个?我找不到。

2005-7-8 00:37 wiseinfo
[url]http://bbs.cnpack.org/viewthread.php?tid=390&fpage=1[/url]
希望 CnPack 增加 Castalia 的这个功能

在IDE列表显示过程函数,

2005-7-8 00:38 wiseinfo
在编辑当前过程的任何位置输入VAR I:INTEGER 再按空格,就可以增加一个变量 到当前过程,

2005-7-9 18:09 savetime
能否增加 %ParamList% 变量

我最近在使用 DelphiCodeToDoc,[url]http://www.01cn.net/cgi-bin/topic_show.cgi?id=2516[/url]
其中 @param 的语法,CnPack 代码输入助手中暂时没有看到。
我希望有这样一项变量:%ParamList% ,生成的代码如下:
  @param p1  (注:仅参数名称,不带数据类型)
  @param p2
  @param p3
  ...

例子如下:
{*------------------------------------------------------------------------------
  Configure the User output and Debug output to inform about the status
  The TDOCProject class is very separated from the external user interface.
  But in order to inform about the state of the project, it needs to know where
  to display informations. This could be a visual control, or a file or whatever
  containing a TStrings reference to work.
  @param dmUser Where User messages will be written
  @param dmDebug Where Debug messages will be written
  @return TRUE if succesfull, FALSE otherwise
  @throws IExcept Unterminated string !!!
  @see WriteMessage
-------------------------------------------------------------------------------}
function TDOCProject.SetMessages(const dmUser, dmDebug: TStrings): Boolean;

2005-7-9 18:16 savetime
%ProjectName% 在 package 项目中显示 Unknown Name 的问题

又想到一个问题,在 package 项目中,使用以下语法,%ProjectName% 会显示 Unknown Name

  %Unit% for %ProjectName%

2005-7-10 06:06 hunjei
建议增加代码排版功能。可以将无序的或者杂乱的代码按照用户的设定(书写习惯)进行自动排版。比如转换大小写、代码行缩进、长代码折行等功能。

2005-7-10 11:15 firstrose
[quote]Originally posted by [i]yygw[/i] at 2005-7-5 22:50:
请下载最新的开发版测试:
[url]http://www.cnpack.org/downbuilds.php[/url] [/quote]
找到了。

很顺手!!!:P

2005-7-11 09:26 zjy
to savetime:
最新版本增加对 JavaDoc 的支持,@param 也是支持的,不过这类 @XXX 的符号只有在注释里输入才有效。参数列表现在是在代码内单独处理的,我不太想在宏中把参数列表的格式定死,我在考虑用复杂些的宏定义或者干脆用脚本来支持这一类模板。

%ProjectName% 在 package 项目中的问题可能是 Bug,我查查。

2005-7-12 11:00 auos
我在BCB5上用的输入助手,当project比较大的时候,显示自动完成还是很慢,大概需要4~5秒才可以出现提示栏,是不是输入助手的每次呼出的时候都要重新搜索一次啊?能不能在项目打开的时候,就将所有需要输入的东西先保存起来,下次用的时候直接打开就可以了,或者定时对工程里面的变量之类的东西更新一次,这样效率可能高一点。

2005-7-12 11:02 zjy
CnWizards 的代码输入助手还不支持 BCB 啊,不知 auos 用的是哪个工具呢??

2005-7-12 14:09 firstrose
我加一条:

当输入助手设置为首字母大写的时候,如果使用了代码模板
(比如,输入proc,然后选择procedure declaration)
插入的代码还是小写的。

我个人觉得,CNW的代码可能还不是很合理。如果是在插入前,对要插入的代码
做统一的大小写处理就不会有这个问题。

2005-7-12 15:19 zjy
这个不太好处理

现在的实现是由关键字类型的符号项来进行处理,procedure declaration 这个是 IDE 自带的代码模板,如果不怕麻烦可以自己在 IDE 的设置中改改这些模板。要是由助手在输出时对关键字进行替换,会比较麻烦,也会使代码变得复杂。要么就是在代码输出时增加一个过滤器,允许用户自己去进行修改。

我们有打算在后继版本中为 CnWizards 增加脚本支持,这样就可以自己去定制了。

2005-7-12 19:28 firstrose
[quote]Originally posted by [i]yygw[/i] at 2005-7-12 15:19:
现在的实现是由关键字类型的符号项来进行处理,procedure declaration 这个是 IDE 自带的代码模板,如果不怕麻烦可以自己在 IDE 的设置中改改这些模板。要是由助手在输出时对关键字进行替换,会比较麻烦,也会使 ... [/quote]

抱歉,我不知道那是IDE自带的模版

不过我的原意和你说的过滤器差不多。

2005-7-12 22:25 auos
我在BCB5上面装的CnWizards,输入助手也是可以用的。在空白的地方按alt+space也可以出来,只不过速度很慢,4~5秒,而且我现在的project里面还不算太多东西。当然比BCB原来的快。
我在装了CnWizards 以后发现慢,然后就装的suorce insight,将我的另外的一个project全部载入,在suorce insight中就很快了,输入一个字母以后,就自动出现提示,时间不超过1秒,好像suorce insight在载入的时候按照事先定的语言规则对程序进行了分析,也有后台自动更新的设置。所以速度很快。我的同事做其他嵌入软件的时候,就是用suorce insight编辑,再切换回来进行编译的。
CnWizards输入助手是不是也在project载入的时候对程序进行分析的呢?然后保存到一个地方,如果然后实时对代码区监测,如果有定义变量或者函数就自动加入。

今天我在BCB5上面用CnWizards的时候也出现了一些问题,不知道是 不是我的设置的问题,用窗口管理器打开工程的窗口时,代码不能自动出现在编辑曲,用窗口--代码切换也不行
另外,用窗口管理器以后,(好像我关闭了其中的一个功能,好像是窗口设置左边的浮动栏去掉了)程序的代码区处于一直在顶部,新开的窗口就一直在背后,要将代码区移开才看得到,
还有的时候界面设置和应用比较麻烦,也许是做的和BCB风格不同,我装上以后,感觉很奇怪说不上什么感觉。发了半天愣。好像整体的风格和原来的有些不同。可能需要一定的磨合时间。能不能做得更简洁点,不用破坏原来的整体感。

说了半天可能词不达意。我真的很佩服你们,也衷心感谢你们提供的软件,希望以后我编程能力有进步以后也可以加入你们,一起开发属于中国人自己的软件!

[[i] Last edited by auos on 2005-7-12 at 22:33 [/i]]

2005-7-13 17:12 zjy
CnWizards 的输入助手现在还不支持 BCB,您提到的 Alt+Spc 调出来的是 BCB 自己的 Code Complation 功能:)Source Insight 确实是个好东西,不过这一类工具都需要有自己的语法分析器加符号数据库才能实现,开发工具量不小,CnWizards 暂时还没有这个开发计划。

输入助手在 Delphi 中是调用 IDE 的后台编译器来取得符号列表的,跟 IDE 自己的代码提示和自动完成用的同一种方法,速度很快。在此基础上,助手还通过其它的符号提供者增加了更丰富的内容。

后面那部分关于错误的描述没太看明白,请问“窗口管理器”指的是什么?能否抓张图来看看?

因为 CnWizards 中的所有功能都是由各个独立的子插件完成的,所以在使用时整体感不强,以后我们会慢慢改进。多谢建议!

2005-7-16 21:30 zzzl
代码助手在进行列表时,有时时间需要很长,希望能按ESC取消


2005-7-17 13:51 zjy
通常在打开工程第一次调用助手时,可能会有一段时间等待,这是因为助手调用 IDE 的后台编译器取得列表,IDE 在进行初始化编译。类似于您在 IDE 中第一次把鼠标移到一个标识符上,会等待一段时间一样。这个没办法解决。

另外,在 uses 区输入单元名,如果工程很大,助手查找单元列表可能也会较慢。不过也只是第一次慢。

如果在平常使用时也会有长时间等待的话,就不正常了。不知道您指的是哪种情况?

2005-7-20 12:23 oupj
强烈建议输入法助手支持 ModelMaker

2009-4-2 17:34 cxjzxf
希望能支持BCB就好了.

2009-6-2 08:57 cpplyy
希望有一个选项,始终弹出的IDE本身的列表

2009-6-2 10:47 Passion
楼上,关闭代码输入助手就行了。

2009-6-11 09:12 cpplyy
[quote]Originally posted by [i]Passion[/i] at 2009-6-2 10:47
楼上,关闭代码输入助手就行了。 [/quote]

LiuXiao 我的意思是希望有输入助手,但弹出的是IDE默认的列表.如果关闭代码输入助手,需要按Ctrl+Space才能弹出啊

2009-6-11 17:59 rarnu
虽然是很古老的帖子了,不过让我看到了我还是想说一下自己的看法

1. 在程序内有WebBrowser或EmbeddedWB控件时,助手会失效,这个问题无论如何也希望能修正
2. D2010下,Auto invoke功能能不能改成默认选第一个?
3. 我希望有一个只包含代码助手的CW

2009-7-10 13:47 nxhujiee
我想只安装一个代码输入助手而不想安装CNPACK,可不可以出一个.bpl

页: [1]
查看完整版本: 征集输入助手改进意见


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.