c语言|代码太多不要怕,分享一个阅读代码的神器
大家好,我是程序员小哈。
又到了知识分享时间,今天我给大家分享一个阅读代码的神器,如果对你有所帮助的话,还请文末点赞支持一下哈。
今天给大家介绍一个查看代码的编辑器软件:Source Insight,简称SI,平常接手同事的代码或者网上下载的开源代码,不是很熟悉的情况下,使用这个软件来阅读代码,事半功倍,堪称神器。
SI简介 Source Insight是一款好用的代码阅读编辑工具,方便对程序代码的阅读和编辑。几乎支持所有的编程语言,可以自动显示有用的上下文信息。
SI以丰富的语言支持、便捷的功能、快速的源码导航、实时的上下文显示、独立的符号数据库等众多优点,深受广大程序员们的欢迎。
我们上一个网文刚刚分享了ESP8266官方SDK,今天我们就以它为例对Source Insight软件的使用加以介绍。
软件界面
文章图片
Symbol Window:可以快速定位某一个函数、变量、宏等定义
Project Window:显示各类工程目录、文件以及定义类型等等
Context Window:自动显示选中变量、函数、宏定义的具体实现
Relation Window:显示选中的某个函数(变量或宏)在整个过程中被引用的关系图
上面四个窗口是常用的几个窗口,在菜单栏上的View中,可以开启或关闭某个窗口。
创建项目
项目创建完毕,为了后面查找、关联更快,我们可以手动同步一下。点击 Project --> Synchronize Files… 。
文章图片
如果仍有不能识别的函数或者变量,可以手动 Project–>Rebuild Project 试试。
查看函数的调用关系 要想理解一个陌生的代码工程,一般都是想要了解函数在工程中哪里被调用了,这样方便理解代码工程结构和对该函数的实际用途加深理解。
首先要确保打开Relation Window窗口:View->Panels->Relation Window 。
文章图片
需要查看某个函数的调用情况,只需要双击某函数,稍等片刻即可。
下图以os_printf
函数的调用情况如下:
文章图片
常用技巧
- Ctrl+鼠标单击 跳转到定义,也可以用鼠标选中一个变量或函数,然后右键菜单中选择:Jump to Definition ,跳转到定义。在编辑区域单击或选中某个变量或方法,Context Window 也会自动显示其定义。
- Alt +, 后退; Alt+. 前进。
- Alt+Y ,修改 Screen Font 字体和字号可以修改代码的字体。
- 让Source Insight支持 .S 汇编文件
- Option—>File Type Options… 打开File Type Options界面在左侧的File Type列表里,选择’x86 Asm Source File’, 然后右侧 File filter那里会有 .asm; .inc 只要在这后面加上 ; .s ; .S 。
文章图片
- File Type Options界面,File Type列表里选择C Source File ,然后在右侧的File filter 那里,输入 .S 。 点击Close按钮。此时可以看到S文件,已经有高亮显示了。
- 如果代码中某个函数或变量找不到,显示为黑色,可以在“项目(Project)”–>
“同步文件”(Synchronize Files),然后“项目(Project)”–>“Rebuild Project” 试试。
- 显示行号
文章图片
总结 通过上面的演示,我们可以看到,Source Insight软件的强大之处,有了它,阅读代码的效率大大提高。
上面介绍的只是Source Insight软件的基本功能,我们还可以对软件的背景颜色、代码格式、快捷键、主题、编码等进行设置,还有更高级的宏功能,各位可以公众号后台回复关键字:SourceInsight,获取文中Source Insight软件,自己边用边熟悉,相信你会爱上它的。
欢迎关注 小伙伴们可以在下方长按二维码,加我微信[chengxuyuanxiaoha]进技术交流群,与更多同道中人一起成长。
文章图片
如果想了解小哈哥的知识星球,可以点击“阅读原文”查看球友的福利,我们可以一起交流、一起玩耍。
【c语言|代码太多不要怕,分享一个阅读代码的神器】知识星球简介链接:
https://mp.weixin.qq.com/s/LIZlGiqExmSVohLgkUbkoA
声明:此软件仅供学习使用,请支持正版。
推荐阅读
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- CVE-2020-16898|CVE-2020-16898 TCP/IP远程代码执行漏洞
- 【生信技能树】R语言练习题|【生信技能树】R语言练习题 - 中级
- 一起来学习C语言的字符串转换函数
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- C语言浮点函数中的modf和fmod详解
- C语言中的时间函数clock()和time()你都了解吗
- 不废话,代码实践带你掌握|不废话,代码实践带你掌握 强缓存、协商缓存!
- 工具|后天就是七夕节,你准备好了吗(送上几个七夕代码,展示你技能的时候到了!)
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场