Board logo

Subject: 结构高亮实在是太爽了!不过想请教管理员一个问题 [Print This Page]

Author: firstrose    Time: 2008-1-10 20:08     Subject: 结构高亮实在是太爽了!不过想请教管理员一个问题

我用delphi5,赞扬的话就先省略了。

用的时候发现一些疑问

1、“当前过程或函数”和“当前最外层块”似乎区别不大,唯一的区别就在光标落到函数变量区时的表现。是不是这样?

2、

下面一段代码:

          If s='.xls' Then
            Begin//高亮2
              //按照Excel方式处理
              succ:=False;
              If ExtractStreamFromExcel(PWideChar(FileName),ms) Then//行1
                Begin//高亮1
                  succ:=RipSWF(ms,ChangeFileExt(od.Files,'.swf'));
                End;
            End;//End of Excel Processing


选择“当前最内层块”

光标落在RipSWF上时,高亮范围是“高亮1”对应的begin/end
光标落在“高亮1”处的begin上时,高亮范围是“高亮2”对应的begin/end
光标落在“行1”处的if上时,高亮范围是“高亮2”对应的begin/end
光标落在“行1”处的if后时,高亮范围是“行1”那一行

这是不是bug?

[ 本帖最后由 firstrose 于 2008-1-11 08:12 编辑 ]
Author: Passion    Time: 2008-1-10 21:32

1. 对于光标在函数内部时,这两个选项区别是不大,差别就在函数局部量声明处。不过,当前最外层块的概念广一点,还包括外部单独的class record声明等的高亮。
2. if与then我们也处理成了一个单独的块,所以会出现只高亮 if then的情况。另外 begin 和end本身我们没有将其太严格地作为块分割点,因此光标在begin上时也可能高亮更外一层的begin end。部分显示的规则可能没处理得这么严格。




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