大家好,我是程序员小哈。

又到了知识分享时间,今天我给大家分享一个阅读代码的神器,如果对你有所帮助的话,还请文末点赞支持一下哈。

今天给大家介绍一个查看代码的编辑器软件: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函数的调用情况如下:

常用技巧

  1. Ctrl+鼠标单击 跳转到定义,也可以用鼠标选中一个变量或函数,然后右键菜单中选择:Jump to Definition ,跳转到定义。在编辑区域单击或选中某个变量或方法,Context Window 也会自动显示其定义。

  2. Alt +, 后退; Alt+. 前进。

  3. Alt+Y ,修改 Screen Font 字体和字号可以修改代码的字体。

  4. 让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文件,已经有高亮显示了。
  1. 如果代码中某个函数或变量找不到,显示为黑色,可以在“项目(Project)”–>
    “同步文件”(Synchronize Files),然后“项目(Project)”–>“Rebuild Project” 试试。

  2. 显示行号

总结

通过上面的演示,我们可以看到,Source Insight软件的强大之处,有了它,阅读代码的效率大大提高。

上面介绍的只是Source Insight软件的基本功能,我们还可以对软件的背景颜色、代码格式、快捷键、主题、编码等进行设置,还有更高级的宏功能,各位可以公众号后台回复关键字:SourceInsight,获取文中Source Insight软件,自己边用边熟悉,相信你会爱上它的。

欢迎关注

小伙伴们可以在下方长按二维码,加我微信[chengxuyuanxiaoha]进技术交流群,与更多同道中人一起成长。

如果想了解小哈哥的知识星球,可以点击“阅读原文”查看球友的福利,我们可以一起交流、一起玩耍。

知识星球简介链接:
https://mp.weixin.qq.com/s/LIZlGiqExmSVohLgkUbkoA

声明:此软件仅供学习使用,请支持正版。

代码太多不要怕,分享一个阅读代码的神器相关推荐

  1. android 后台截屏代码,Android实现截图和分享功能的代码

    先给大家展示下效果图吧 直接上代码: xml的布局: android:id="@+id/btn_jp" android:layout_marginTop="10dip&q ...

  2. 32寸曲面屏显示器撸代码太爽了,送一个!

    作为一个程序员,其实要求并不高,如果有一个大大的显示器,对于我们程序员来的说敲代码都爽了~ 为了感谢一直支持我的小可爱们,我联合了计算机领域 十位高质量号主一起送大家 AOC CQ32寸 曲面屏 显示 ...

  3. 太牛了!分享一个Github上都没有的“网约车”项目!!!

    推荐一个不错的网约车项目!!! 掌握它,可以直接写到简历里... 啥也不说了,上图... 项目介绍 该项目是一款标准且已上线的"网约车"应用.符合我国交通部对网约车监管的技术要求. ...

  4. 分享一个统计代码块耗时的小工具

    相信很多人都遇到这样一个问题? 加班加点,上线了一个功能,但接口的响应时间有点长? 如何定位排查? 普通研发人员一般会采用下面方式,在很多位置点埋入开始时间戳.结束时间戳,相减便得到耗时.代码如下: ...

  5. 分享一个在线代码测试

    代码在线编辑,代码在线运行,在线写代码工具代码在线编辑,代码在线运行,在线写代码工具,代码在线测试,这工具是为了测试工小段代码执行结果而诞生的.https://www.dooccn.com

  6. 写代码太累,找一款低代码开发平台吧

    现代社会变化太快,一个好想法,如果不尽快落地,很快就会被其他公司抢先了或者错过了行情.软件行业尤其如此,因为传统开发程序的方法耗时长.成本高,还没等你开发出来,要么其他公司做出了类似产品,要么因长时间 ...

  7. php运行socket服务器,PHP_php简单socket服务器客户端代码实例,本篇文章分享一个简单的socket - phpStudy...

    php简单socket服务器客户端代码实例 本篇文章分享一个简单的socket示例,用php.实现一个接收输入字符串,处理并返回这个字符串到客户端的TCP服务. 产生一个 socket 服务端 /*文 ...

  8. 分享一个碧蓝航线立绘的提取与合成方案

    碧蓝航线立绘 立绘提取 立绘解包 图片合成 python代码 GUI页面 立绘提取 首先找到碧蓝航线立绘所在的位置. 立绘在sdcard0/Android/data/com.bilibili.azur ...

  9. 阅读代码的一些心得体会

    据说,作为一个优秀的程序员,他是在阅读/调试/删除--代码.目前,就阅读代码而言,我写一下我目前的一些心得体会吧.(高手绕道) 2017/3/29 16:56 此时,我正弄音视频流媒体直播传输的一个东 ...

最新文章

  1. 机电传动控制课程第一周学习笔记
  2. GridControl详解(十)BandedGridView
  3. (65)如何根据句柄从二级、三级结构句柄表中找到内核对象
  4. url,html,javascript中的转义字符
  5. 富文本NSMutableAttributedString用法大全
  6. Django REST framework介绍
  7. WebFlux响应式编程基础之 4 reactive stream 响应式流
  8. 案例篇-HBase 实战之 MOB 使用指南
  9. 已解决——pycharm在同目录下import,pycharm会提示错误,但是可以运行
  10. 热点聚焦:企业上ERP之前是否需要先进行流程梳理?
  11. 综合评价方法之秩和比法(RSR)
  12. Oracle的diag文件可以删除,oracle11g rac diag/tnslsnr/pgis2/listener/alert 中的文件能删除吗...
  13. 面试前的准备和注意事项(非常详细)
  14. 网站+云服务器+价格表,网站+云服务器+价格表
  15. 微信公众号吸粉软件助你快速增加粉丝数和文章阅读量!
  16. 2021年12月电子学会图形化四级编程题解析含答案:棕熊大战
  17. IPS、VA、TN屏构造和优缺点对比
  18. 线程、进程、多线程、多进程 和 多任务 小结
  19. 华为最新5G V2X高级使用案例曝光,未来交通是这样的!
  20. Oulipo-欧力波(KMP字符串匹配问题)

热门文章

  1. 怎么在电脑上打开epub格式电子书
  2. 前端-JS基础之常用内置对象
  3. 警告:不能读取 AppletViewer 的属性文件
  4. Linux克隆Mac地址一样,详解Linux系统中网卡MAC地址克隆方法
  5. COOX培训材料 — SCADA(2.Slider_R)
  6. 在Windows环境下使用与Linux/Unix操作相关的C/C++头文件的方法(以TDM-GCC和CLion为例)
  7. solidworks pdm虚拟服务器,SOLIDWORKS PDM 2018
  8. 汇编学习笔记——2.10 CS和IP
  9. 巧用千寻位置GNSS软件|点测量采集技巧
  10. 罗技x56c语言编程,【罗技X56评测】模拟飞行好伙伴,X56在x-plane中的应用