使用SourceInsight的三大理由,最后一点是关键!
工作后不久,就听组长说鱼鹰的前任同事使用SourceInsight编写代码,而使用KEIL编译。鱼鹰无法理解,为什么KEIL明明可以编辑代码,为什么还要另一个工具软件呢?
直到初步尝试后才发现看代码确实挺方便的,但这点好处说实话很多工具都具备,还不足以让鱼鹰专门为它写一章(前段时间鱼鹰写了一篇《介绍几款好用的工具 | 嵌入式必备》,其中就介绍了它),直到最近,鱼鹰才发现了这个软件的强大之处,所以鱼鹰才忍不住想写一写,分享给各位道友,而最近又有几个也忍不住想写的点:
《还是没忍住,聊聊无锁队列吧》
《KEIL 下如何准确测量代码执行时间?》
记得关注鱼鹰哦!
现在继续说回SI吧,这个网上评价很高,如果要问哪一款软件的代码编辑最强大,这个众说纷纭,但是要问哪款软件看代码最爽,无疑是SI了。
那么凭什么?
现在鱼鹰就说说使用这款软件的三大理由:
一
创建工程简单至极!
我们知道,当我们使用KEIL的时候,如果想看代码,只能用KEIL打开工程,才能找到你想要的代码。同理,IAR亦是如此。
有一天,常用KEIL的你,为了一个功能,从网上下载了一份参考代码,但是不好意思,这个参考代码是使用 IAR 建立的工程。为了看这份代码,查看函数之间的调用关系,变量声明的位置,你不得不安装一个IAR,然后编译(可能还需要PJ才能正常使用),当你折腾完之后,你研究代码的兴趣应该耗完了吧!
那么是否有简单的方法,跳过IAR,直接看源码呢?有的,那就是SI。
这篇笔记不是基础教程,就不教你如何新建一个SI工程了,不然篇幅太长,重点就没了。
总之,使用SI查看代码只需要两步,第一,新建工程,第二,同步,这个同步会将函数调用等信息都检索出来,方便查看代码,就像KEIL的这个功能:
而且同步速度也是很快的。
特别注意的一点就是,每次修改完代码之后如果要查看代码都得同步一下(可能有自动同步功能,但目前鱼鹰没用),否则有些代码信息可能不能及时反映,还有新建工程时不要有中文路径,切记!
对了,KEIL和SI是可以同时打开同一个工程的,如果你有双屏(这个程序员必备吧,哈哈),那感觉很爽!
只是刚开始使用SI时,因为字体大小不一,可能会不太习惯,但是看着看着就习惯了。如果实在不习惯,这个也是可以设置的,具体上网搜就是了。
二
这个优势在鱼鹰的一篇笔记中介绍过了,就是在查看函数定义的时候特别方便。鱼鹰现在用上次的参考代码直接新建一个SI工程看看效果好了。
可看到当你的光标指向一个函数时,有一个窗口自动就会把这个函数的实现展示出来,这样就不需要像KEIL一样按F12才能跳转查看了,特别方便。
还有一个功能,你可以使用高亮功能使某一个函数名或变量名高亮:
当你光标选中一个名词,右击即可出现一个菜单栏,选择Highligth Word选项,这个也有一个快捷键,也可以重新设置快捷键,随你喜好了(这个功能是对整个工程代码而言的)。
这个功能有个替代功能,就是直接选择一个名词后,它会自动把本文件相同的名词进行高亮,就不需要自己手动设置高亮了。
怎么设置呢?选择【File Type Options…】然后再弹出菜单进行选择即可。
三
最重要的一点来了,也是为啥选择SI查看代码最重要的理由。
使用KEIL时,如果我们需要查看一个函数在哪里被调用了,常规做法就是全工程进行搜索,但是有时候刚好你搜索的函数名在工程有很多地方是有同名的,那么你不得不停下来判断你找到的函数是不是你需要的,这样一来,不仅可能出现人为判断错误,还严重影响了工作效率,特别是当你需要在这个函数的前后加入一些代码时,更是让人修改起来头大。
如果有一个代码查看工具,可以把所有的函数、结构体成员、变量调用情况都清晰的展示出来,那该多好!
有的,就是SI。
现在看看如何查看size这个结构体成员变量的调用情况的?
看到没有,右边窗口把所有关于size调用的地方都显示出来了,因为它是实时根据光标内容更新的,所以为了防止查看其它代码的时候被更新了,可以通过锁定开关达到锁定的效果,如果你突然想看别的成员变量,那么重新使用旁边的刷新按钮即可刷新啦,简单方便。
到此重点结束,现在说说关于SI的其他点。
我们看代码时可以看到有些代码颜色各异,但都是彩色的,这是因为SI已经能够识别这些代码,但有些SI识别不了的,可能就黑色了(这种情况下无法查看调用)。
比如鱼鹰增加一个返回指针的函数指针,可以看到这个变量是黑色的,说明SI无法识别这个变量。
但是你用typedef重新声明后再加入到结构体里就能识别了,看,它变色了!
而当函数参数不一样,而函数名一样时,它会很智能的选择正确的那一个函数
这种智能有时也会带来一点麻烦,比如你要修改一个现有函数,本来一个参数的,修改成两个参数,有的时候修改了一半,有些函数改了,有些函数没改,那么当你查看有两个参数的函数的调用情况时,就会发现你全部都修改了,但实际情况是还有一半没有修改过来呢!
所以这个特性需要引起注意。
好了,更多关于SI的使用方法就自己去发现吧,总之用了它你绝不会后悔就是了,鱼鹰也特别希望各位道友能用上这款神器。
版权声明:
作者: freeclashnode
链接: https://www.freeclashnode.com/news/article-532.htm
来源: FreeClashNode
文章版权归作者所有,未经允许请勿转载。
热门文章
- 10月9日|19M/S,Clash/V2ray/SSR/Shadowrocket免费节点订阅链接每天更新
- 10月10日|21.9M/S,V2ray/Clash/SSR/Shadowrocket免费节点订阅链接每天更新
- 10月11日|22.7M/S,Shadowrocket/Clash/V2ray/SSR免费节点订阅链接每天更新
- 9月15日|20.4M/S,Shadowrocket/V2ray/SSR/Clash免费节点订阅链接每天更新
- 10月1日|23M/S,Shadowrocket/Clash/SSR/V2ray免费节点订阅链接每天更新
- 10月8日|18.9M/S,Clash/SSR/V2ray/Shadowrocket免费节点订阅链接每天更新
- 10月5日|22.5M/S,Clash/V2ray/SSR/Shadowrocket免费节点订阅链接每天更新
- 10月7日|21.5M/S,V2ray/Clash/Shadowrocket/SSR免费节点订阅链接每天更新
- 10月6日|19.5M/S,Shadowrocket/Clash/SSR/V2ray免费节点订阅链接每天更新
- 10月2日|22.9M/S,V2ray/Shadowrocket/Clash/SSR免费节点订阅链接每天更新
最新文章
- 10月12日|20.2M/S,Shadowrocket/V2ray/SSR/Clash免费节点订阅链接每天更新
- 10月11日|22.7M/S,Shadowrocket/Clash/V2ray/SSR免费节点订阅链接每天更新
- 10月10日|21.9M/S,V2ray/Clash/SSR/Shadowrocket免费节点订阅链接每天更新
- 10月9日|19M/S,Clash/V2ray/SSR/Shadowrocket免费节点订阅链接每天更新
- 10月8日|18.9M/S,Clash/SSR/V2ray/Shadowrocket免费节点订阅链接每天更新
- 10月7日|21.5M/S,V2ray/Clash/Shadowrocket/SSR免费节点订阅链接每天更新
- 10月6日|19.5M/S,Shadowrocket/Clash/SSR/V2ray免费节点订阅链接每天更新
- 10月5日|22.5M/S,Clash/V2ray/SSR/Shadowrocket免费节点订阅链接每天更新
- 10月4日|22M/S,Clash/V2ray/SSR/Shadowrocket免费节点订阅链接每天更新
- 10月3日|20.9M/S,SSR/V2ray/Clash/Shadowrocket免费节点订阅链接每天更新