Sourceinsight(以下简称SI)是良许使用过的最好用,最顺手,最强大的编辑器,没有之一!它几乎支持所有的语言,包括:C,C++,ASM,HTML等等,能够自动创建并维护它自己高性能的符号数据库,包括函数、method、全局变量、结构、类和工程源文件里定义的其它类型的符号,对于大工程的源码阅读非常方便。

但是,作为Linux程序员,我们的代码一般放在Linux电脑里。Linux里也有一些好用的代码查看工具,比如sublime,以及著名的Vim。SI什么都好,但就是没有Linux版。如果我们一定要用前文介绍过的共享文件夹来实现。

01 安装SI

公众号内回复SI,免费获取下载链接。安装过程也很简单,一路下一步即可。

02 界面介绍

软件打开之后,界面如下图所示。

介绍几个比较陌生的:

2.1 工具栏最右侧的那个 「全工程搜索」 按钮。

这个名称不是官方的,是我起的。它的作用是在全工程所有文件,而不仅是当前文件里,搜索所有匹配的代码行。

利用倒数第三个框里的两个图标可以上下切换找到的匹配代码。

2.2 工具栏里倒数第二个红框里的两个深蓝色的左右箭头的图标。

这两个图标不是撤销与重做,它们的作用在如下场景:

我们在一个函数上跳转到它的定义,再在定义里又跳转到另一个变量的定义,如此一层跳一层,如何回到刚开始的位置?

这里就可以使用向左的那个箭头了,点一下往上跳一层,直到最初始的位置,而向右的箭头就是顺着你查看的方向去跳了。这对于代码的查看非常方便!

2.3 左下角的 「Context」 窗口,是快速预览区。

当你把鼠标放在函数、变量、宏等上面两秒,它就将它们的定义显示在此窗口里。

2.4 右下角的 「Relation」 窗口,是函数、变量引用关联区。

把鼠标放在函数、变量上两秒,它就会以树形形式显示此函数、变量被引用、调用的情况,通过点击可以快速跳到被引用、调用的地方。

03 快速建立工程

3.1 点击 「Project」 --> 「New project…」,弹出 「New Project」 窗口。

上面一栏输入的是项目名称,本文以开源项目 「tinyhttpd」 为例,故相应输入此名字。

下面一栏输入项目数据文件保存位置,默认是在 「我的文档」 下面。

填写完毕之后点击「OK」,弹出的对话框选择「是」。

3.2 在 「New Project Settings」 里直接点击「OK」。

3.3 现在来添加项目源文件。

我们的代码已经放在虚拟机共享文件夹share里,所以直接在最上面的输入框里输入虚拟机+共享文件夹即可,然后再点击一下回车,接着再点击项目文件夹 「Tinyhttpd-0.1.0」,最后再在右侧点击 「Add All」,即可完成源代码的添加。

3.4 在上一步中,会出现如下对话框:

一般我们会将此对勾打上,因为如果我们的工程比较庞大,代码结构比较复杂,打上此勾会帮我们也添加此目录下的子目录,以及子目录的子目录,就会把所有需要的文件全部添加进去。

3.5 工程建立之后,就可以双击想要查看的文件来查看代码了。

04 常用操作

4.1 代码同步

工程刚建立完成之后,一般代码还未同步,表现为有些变量颜色为黑色。这时可以通过 「Project」 --> 「synchronize files…」来同步代码。

4.2 查看函数、变量、宏的定义

有三种方法:

① 选中该变量,右键,选择 「Jump to Definition」,即可跳到定义;

② 按住ctrl,再用鼠标左键点击一下变量;

③ 光标放在变量处两秒,在 「Context」 窗口里显示定义。

4.3 查找引用

选择一个变量或方法后右键 「Lookup References…」 就可以进行查找。

4.4 查找调用

这个是针对方法的,选中方法名,然后右键 「Jump to Caller」 ,如果只有一次调用,则直接跳转,如果多次调用,则显示一个列表框,选择一项就会跳转过去。

05 小结

本文介绍了SI的安装、界面、常用操作,都是比较基本的内容。但这些内容又是非常常用的,所以先拿出来讲。SI的功能非常强大,当然不仅限于本文所讲内容,比如它还可以安装各种各样的插件,这将更高级的功能留在后面继续更新,请继续关注!

---------------

我是良许,世界500强外企 Linux 开发工程师,专业生产 Linux 干货。欢迎关注我的公众号「良许Linux」,回复「1024」获取最新最全的技术资料,回复「入群」进入高手如云技术交流群。

Linux环境搭建 | 代码阅读神器——Sourceinsight相关推荐

  1. linux vim ctags,Linux环境上代码阅读与编写的利器-vim+ctags+cscope

    Linux环境下代码阅读与编写的利器----vim+ctags+cscope 所谓工欲善其事,必先利其器. 从事Linux程序开发,特别是Linux驱动程序的开发,不管是通过windows下虚拟一个L ...

  2. sourceinsight 的好处_代码阅读神器——Sourceinsight

    Sourceinsight(以下简称SI)是良许使用过的最好用,最顺手,最强大的编辑器,没有之一!它几乎支持所有的语言,包括:C,C++,ASM,HTML等等,能够自动创建并维护它自己高性能的符号数据 ...

  3. 泰凌微ble mesh蓝牙模组天猫精灵学习之旅 ① 小白也痴迷,如何在 Linux环境搭建编译烧录 安信可TB02,点亮一盏LED灯;

    本<泰凌微ble mesh蓝牙模组天猫精灵学习之旅>系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.小 ...

  4. Ubuntu 美化和常用环境搭建 -- Linux 环境搭建(下)

    NVIDIA显卡驱动安装 通过"附加驱动"安装驱动 通过PPA安装最新驱动 美化和扩展插件 GNOME 扩展推荐(针对 GNOME 桌面) 主题推荐(GNOME 和 Unity 桌 ...

  5. linux git服务器搭建端口号是多少,Linux 环境 搭建Git 服务器,并且修改SSH端口使用...

    1.环境配置说明 服务器 CentOS 7 + git(git version 1.8.3.1) 客户端 Windows10 + SourceTree 2.安装 Git 服务器端安装: sudo yu ...

  6. C语言工程代码查看神器 SourceInsight

    C语言工程代码查看神器 SourceInsight 安装 默认安装即可 链接:https://pan.baidu.com/s/14CD9RK3yXJ7e43Lf3hxe4A 提取码:12lw 安装完毕 ...

  7. Linux(一)-- Linux环境搭建

    Linux环境搭建 一.虚拟机安装 1.下载地址 https://my.vmware.com/web/vmware/info/slug/desktop_end_user_computing/vmwar ...

  8. ED1 SoC Linux环境搭建

    ED1 SoC Linux环境搭建 刚学习这块开发板,感觉挺复杂的,就想记录一下学习过程. 今天主要是把linux运行环境搭建出来了. 1. 驱动的安装.没安装之前使用usb线将计算机与板子上的uar ...

  9. 最强代码阅读器sourceInsight工具

    最强代码阅读器sourceInsight工具介绍 为什么说它是最强代码阅读器sourceInsight工具呢,因为它能使大量的代码产生联系,方便阅读,而且,什么语言的程序代码,都可以观看. sourc ...

最新文章

  1. 久未更 ~ 一之 —— 关于ToolBar
  2. 拥抱大家庭,nodejs走thrift
  3. 马哥linux学习笔记:openssl的使用
  4. 来聊一聊Cookie(小甜饼),及其涉及到的web安全吧
  5. Sharding-JDBC(三)3.1.0版本实践
  6. 欧拉降幂(Euler_Power_Formula)
  7. CC254x--OSAL
  8. c语言中x的n次方怎么表示_线性代数的本质及其在人工智能中的应用
  9. java怎么设置404界面_如何使用Spring MVC显示自定义的404 Not Found页面
  10. PostgreSQL 视图、子查询
  11. 背叛乔布斯,库克做对了
  12. SpringBoot整合Shiro实现登录认证授权操作
  13. 【Angularjs文档翻译及实例】DOM事件
  14. 双系统win+ubuntu14.04使用360随身wifi 3代
  15. C++函数模板特化,类模板特化
  16. (转)以太坊(Ethereum)全零地址(0x000000...)揭秘
  17. Cortex-M0+指令集
  18. Java读写csv文件操作
  19. 运算放大器介绍与应用电路(LM358)
  20. mysql保存特殊表情符_mysql 存储表情或者特殊符号

热门文章

  1. 知乎价值59元私家课:雷军亲述创业心法
  2. element Dropdown
  3. import.meta.env.PROD部分错觉
  4. 2022数字化转型发展高峰论坛 | 华云数据:以云技术力量 寻数字化转型新突破
  5. 干货 | 携程APP Native/RN内嵌Flutter UI混合开发实践和探索
  6. 从建造狗窝到建造帝国大厦——软件开发过程其实可以这么看
  7. 高数中常用等价无穷小
  8. 详细介绍一下浏览器输入www.baidu.com后会发生什么
  9. C语言 心里阴影面积
  10. 京东JData(一)