打印

source insight 如何识别@near

[复制链接]
869|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
king3306|  楼主 | 2016-7-5 08:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
例如在使用SI查看代码时,定义的变量 @near uint16 test;
在代码其他处jump to definition 时显示symbol not found
我去掉@ 可以找到定义的变量处,,假如不想更改代码,怎么让SI识别@near呢?
我试过将@near整个作为关键字也不行,大家有好的办法吗

相关帖子

沙发
king3306|  楼主 | 2016-7-5 17:51 | 只看该作者
都没有用过吗

使用特权

评论回复
板凳
jimsboy| | 2016-7-10 10:55 | 只看该作者
都没有找到答案。
最后去学习了一下正则表达式。现在可以凑合着用了。但变量名可能有限制,可能不是所有的都能认。不要定义那引些奇奇怪怪的变量名还都是可以用的。
另外,好像也不支持一行多写变量。比如@near char aaa,bbb,ccc;这种写法。只能一行一个变量。

方法:
点Document options 。在左下方有parsing区域。有一个language按钮,点它。出来一个框Perferences。这时应该是选在C语言上。在右边有keywords....
点它,添加我我们需要的关键字 @near  @tiny @far。添加之后,点它,看一下它在右边框里的着色规则是不是keyword,我这边默认就是这个,所以不需要动。

添加完着色规则之后,再添加语法解析。
我们平时定义一个变量 ushort aaa;现在要变成@near ushort aaa;这种格式了。所以你必须添加一个规则。能让SI准确地逮捉到aaa为变量。
添加的方法:在option  ->preference里边。找到language卡,双击C language。里边有custom parsing选项卡,勾上use regular expressions for parsing 然后点添加,添加两个变量表达式
表达式的内容
\w*@near\s+.+\s\([A-Za-z_][A-Za-z0-9_]+\)\s*[;=\[].*$
下面选择Variable 这样,系统就知道被这个表达式匹配到的内容就是一个变量。
你可以照这个再写@far @tiny



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

38

帖子

2

粉丝