Linux环境搭建 | 代码阅读神器——Sourceinsight

简介: Linux环境搭建 | 代码阅读神器——Sourceinsight


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


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


01


安装SI


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


02


界面介绍


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


image.png


介绍几个比较陌生的:


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


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


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


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


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


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


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


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


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


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


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


03


快速建立工程


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


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


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



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


image.png


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


image.png



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


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


image.png


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



image.png


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


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


04


常用操作


4.1 代码同步


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


image.png


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


有三种方法:


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


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


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


4.3 查找引用


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


4.4 查找调用


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


05


小结


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





目录
相关文章
|
7天前
|
Linux 网络安全 KVM
Linux(Centos6.5)下kvm环境搭建
Linux(Centos6.5)下kvm环境搭建
18 2
|
3月前
|
Ubuntu Linux 开发工具
Linux下的IMX6ULL——环境搭建与软件安装(一)
Linux下的IMX6ULL——环境搭建与软件安装(一)
73 0
Linux下的IMX6ULL——环境搭建与软件安装(一)
|
6月前
|
关系型数据库 MySQL Linux
linux环境搭建mysql5.7总结
linux环境搭建mysql5.7总结
64 0
|
5月前
|
SQL 数据可视化 Linux
ClickHouse【环境搭建 03】Linux环境离线安装 clickhouse-22.3.3.44 配置参数说明+可视化界面使用(离线安装文件分享百度云盘)
ClickHouse【环境搭建 03】Linux环境离线安装 clickhouse-22.3.3.44 配置参数说明+可视化界面使用(离线安装文件分享百度云盘)
114 0
|
2月前
|
Java Linux
Flume【环境搭建 01】CentOS Linux release 7.5 安装配置 apache-flume-1.9.0 并验证
【2月更文挑战第16天】Flume【环境搭建 01】CentOS Linux release 7.5 安装配置 apache-flume-1.9.0 并验证
35 0
|
2月前
|
网络协议 Ubuntu Linux
如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
|
6月前
|
Ubuntu Linux 网络安全
1. Linux环境搭建及创建共享文件的方法
1. Linux环境搭建及创建共享文件的方法
161 1
|
3月前
|
Java Linux 网络安全
【极数系列】Flink环境搭建&Linux版本 (03)
【极数系列】Flink环境搭建&Linux版本 (03)
|
5月前
|
Unix Linux 程序员
ClickHouse【环境搭建 01】Linux环境单机版在线安装 Code:210.DB::NetException + Init script is already running 问题处理
ClickHouse【环境搭建 01】Linux环境单机版在线安装 Code:210.DB::NetException + Init script is already running 问题处理
77 0
|
5月前
|
Java Linux Go
Golang环境搭建指南(Windows和linux)
Golang环境搭建指南(Windows和linux)
41 0