使用SourceInsight的三大理由,最后一点是关键!

使用SourceInsight的三大理由,最后一点是关键!现在继续说回SI吧,这个网上评价很高,如果要问哪一款软件的代码编辑最强大,这个众说纷纭,但是要问哪款软件看代码最爽,无疑是SI了。

大家好,欢迎来到IT知识分享网。

工作后不久,就听组长说鱼鹰的前任同事使用SourceInsight编写代码,而使用KEIL编译。鱼鹰无法理解,为什么KEIL明明可以编辑代码,为什么还要另一个工具软件呢?

直到初步尝试后才发现看代码确实挺方便的,但这点好处说实话很多工具都具备,还不足以让鱼鹰专门为它写一章(前段时间鱼鹰写了一篇《介绍几款好用的工具 | 嵌入式必备》,其中就介绍了它),直到最近,鱼鹰才发现了这个软件的强大之处,所以鱼鹰才忍不住想写一写,分享给各位道友,而最近又有几个也忍不住想写的点:

《还是没忍住,聊聊无锁队列吧》

《KEIL 下如何准确测量代码执行时间?》

记得关注鱼鹰哦!

现在继续说回SI吧,这个网上评价很高,如果要问哪一款软件的代码编辑最强大,这个众说纷纭,但是要问哪款软件看代码最爽,无疑是SI了。

那么凭什么?

现在鱼鹰就说说使用这款软件的三大理由:

创建工程简单至极!

我们知道,当我们使用KEIL的时候,如果想看代码,只能用KEIL打开工程,才能找到你想要的代码。同理,IAR亦是如此。

有一天,常用KEIL的你,为了一个功能,从网上下载了一份参考代码,但是不好意思,这个参考代码是使用 IAR 建立的工程。为了看这份代码,查看函数之间的调用关系,变量声明的位置,你不得不安装一个IAR,然后编译(可能还需要PJ才能正常使用),当你折腾完之后,你研究代码的兴趣应该耗完了吧!

那么是否有简单的方法,跳过IAR,直接看源码呢?有的,那就是SI。

这篇笔记不是基础教程,就不教你如何新建一个SI工程了,不然篇幅太长,重点就没了。

总之,使用SI查看代码只需要两步,第一,新建工程,第二,同步,这个同步会将函数调用等信息都检索出来,方便查看代码,就像KEIL的这个功能:

使用SourceInsight的三大理由,最后一点是关键!

而且同步速度也是很快的。

特别注意的一点就是,每次修改完代码之后如果要查看代码都得同步一下(可能有自动同步功能,但目前鱼鹰没用),否则有些代码信息可能不能及时反映,还有新建工程时不要有中文路径,切记!

对了,KEIL和SI是可以同时打开同一个工程的,如果你有双屏(这个程序员必备吧,哈哈),那感觉很爽!

只是刚开始使用SI时,因为字体大小不一,可能会不太习惯,但是看着看着就习惯了。如果实在不习惯,这个也是可以设置的,具体上网搜就是了。

这个优势在鱼鹰的一篇笔记中介绍过了,就是在查看函数定义的时候特别方便。鱼鹰现在用上次的参考代码直接新建一个SI工程看看效果好了。

使用SourceInsight的三大理由,最后一点是关键!

可看到当你的光标指向一个函数时,有一个窗口自动就会把这个函数的实现展示出来,这样就不需要像KEIL一样按F12才能跳转查看了,特别方便。

还有一个功能,你可以使用高亮功能使某一个函数名或变量名高亮:

使用SourceInsight的三大理由,最后一点是关键!

当你光标选中一个名词,右击即可出现一个菜单栏,选择Highligth Word选项,这个也有一个快捷键,也可以重新设置快捷键,随你喜好了(这个功能是对整个工程代码而言的)。

使用SourceInsight的三大理由,最后一点是关键!

这个功能有个替代功能,就是直接选择一个名词后,它会自动把本文件相同的名词进行高亮,就不需要自己手动设置高亮了。

使用SourceInsight的三大理由,最后一点是关键!

怎么设置呢?选择【File Type Options…】然后再弹出菜单进行选择即可。

使用SourceInsight的三大理由,最后一点是关键!

使用SourceInsight的三大理由,最后一点是关键!

最重要的一点来了,也是为啥选择SI查看代码最重要的理由。

使用KEIL时,如果我们需要查看一个函数在哪里被调用了,常规做法就是全工程进行搜索,但是有时候刚好你搜索的函数名在工程有很多地方是有同名的,那么你不得不停下来判断你找到的函数是不是你需要的,这样一来,不仅可能出现人为判断错误,还严重影响了工作效率,特别是当你需要在这个函数的前后加入一些代码时,更是让人修改起来头大。

如果有一个代码查看工具,可以把所有的函数、结构体成员、变量调用情况都清晰的展示出来,那该多好!

有的,就是SI。

现在看看如何查看size这个结构体成员变量的调用情况的?

使用SourceInsight的三大理由,最后一点是关键!

看到没有,右边窗口把所有关于size调用的地方都显示出来了,因为它是实时根据光标内容更新的,所以为了防止查看其它代码的时候被更新了,可以通过锁定开关达到锁定的效果,如果你突然想看别的成员变量,那么重新使用旁边的刷新按钮即可刷新啦,简单方便。

到此重点结束,现在说说关于SI的其他点。

我们看代码时可以看到有些代码颜色各异,但都是彩色的,这是因为SI已经能够识别这些代码,但有些SI识别不了的,可能就黑色了(这种情况下无法查看调用)。

比如鱼鹰增加一个返回指针的函数指针,可以看到这个变量是黑色的,说明SI无法识别这个变量。

使用SourceInsight的三大理由,最后一点是关键!

但是你用typedef重新声明后再加入到结构体里就能识别了,看,它变色了!

使用SourceInsight的三大理由,最后一点是关键!

而当函数参数不一样,而函数名一样时,它会很智能的选择正确的那一个函数

使用SourceInsight的三大理由,最后一点是关键!

这种智能有时也会带来一点麻烦,比如你要修改一个现有函数,本来一个参数的,修改成两个参数,有的时候修改了一半,有些函数改了,有些函数没改,那么当你查看有两个参数的函数的调用情况时,就会发现你全部都修改了,但实际情况是还有一半没有修改过来呢!

所以这个特性需要引起注意。

好了,更多关于SI的使用方法就自己去发现吧,总之用了它你绝不会后悔就是了,鱼鹰也特别希望各位道友能用上这款神器。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/51365.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信