Board logo

Subject: 代码自动完成是不是有这个bug,怎么解决 [Print This Page]

Author: chenshaizi    Time: 2005-9-9 12:32     Subject: 代码自动完成是不是有这个bug,怎么解决

代码自动完成是不是有这个bug,怎么解决;
我是在定义变量时发现的,
var
  hi:intger;
当输入字符时,出现代码提示,但有bug;
如我想输入 "hi",当我输入 "hi"时代码提示弹出了,我按"."却出现"high",怎么解决,也就是此时按任意字符都会把代码提示的第一条补完
Author: zjy    Time: 2005-9-9 14:41

这个不是Bug,是助手本身的设计,可以设置的。

如果在列表中没有自己需要的项目,有以下的方法:
1.按 ESC 或 Ctrl 键取消列表,适合于偶尔出现的情况。
2.点击列表右边最上面的按钮,将当前符号加到自定义符号中,这样下次再输入时列表中就会有了。
3.助手默认使用回车、空格及括号等字符来自动完成提示。如果您不希望在按某些符号时自动完成,可以点击列表右边中间的按钮,在输出设置中进行配置。详见帮助中的说明。

在您提到的例子中,在 hi 后面直接输入 : 号,就不会自动完成了,因为这个符号不在默认的输出符号列表中。

另外,点号 . 是特殊的符号,一般只有在后面连接对象属性方法或结构成员时才用到,在助手中也是会用来完成当前项的。
Author: chenshaizi    Time: 2005-9-12 08:30

下面的例子:
for i=0 to 20 do
    sl[i 输入到此会出现以i打头的列表且列表第一项为if,此时你按]会出现 sl[if]的情况,原本想要的是sl[i].
Author: zjy    Time: 2005-9-12 09:33

助手默认设置下是在连续输入两个有效字符后,才会弹出列表。上面的例子,在输入 i 时只有一个连续的有效字符,应该是不会弹出列表的,不知您是在怎样的设置下出现该问题的呢?
Author: chenshaizi    Time: 2005-9-12 09:46

我是设置了一个字符有效的
Author: zjy    Time: 2005-9-12 11:53

OH,如果是这样的话,就不太好处理了。输入助手要做到完全智能地根据当前位置过滤列表内容,不太容易。

象您设置成一个字符这样的情况,可以按照前面的帖子中提到的第三种方法,把那些用来输出当前项的符号都去掉,只允许回车键完成输出。
Author: chenshaizi    Time: 2005-9-12 13:23

谢谢




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0