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月前
|
Ubuntu Linux 开发工具
Linux下的IMX6ULL——环境搭建与软件安装(一)
Linux下的IMX6ULL——环境搭建与软件安装(一)
224 0
Linux下的IMX6ULL——环境搭建与软件安装(一)
|
7月前
|
SQL 数据可视化 Linux
ClickHouse【环境搭建 03】Linux环境离线安装 clickhouse-22.3.3.44 配置参数说明+可视化界面使用(离线安装文件分享百度云盘)
ClickHouse【环境搭建 03】Linux环境离线安装 clickhouse-22.3.3.44 配置参数说明+可视化界面使用(离线安装文件分享百度云盘)
513 0
|
3月前
|
存储 安全 Linux
离线Linux服务器环境搭建
【9月更文挑战第3天】在离线环境下搭建Linux服务器需按以下步骤进行:首先确定服务器用途及需求,准备安装介质与所需软件包;接着安装Linux系统并配置网络;然后设置系统基础参数,如主机名与时区;安装必要软件并配置服务;最后进行安全设置,包括关闭非必要服务、配置防火墙、强化用户认证及定期备份数据。整个过程需确保软件包的完整性和兼容性。
|
5月前
|
消息中间件 Java Kafka
kafka Linux环境搭建安装及命令创建队列生产消费消息
kafka Linux环境搭建安装及命令创建队列生产消费消息
123 4
|
7月前
|
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 并验证
144 0
|
6月前
|
Linux 测试技术 开发者
【Docker项目实战】使用Docker部署instantbox临时Linux系统环境搭建工具
【6月更文挑战第13天】使用Docker部署instantbox临时Linux系统环境搭建工具
84 3
|
6月前
|
Linux Windows 虚拟化
【Linux环境搭建实战手册】:打造高效开发空间的秘籍
【Linux环境搭建实战手册】:打造高效开发空间的秘籍
|
5月前
|
负载均衡 Java Linux
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
|
5月前
|
监控 网络协议 物联网
一款轻量级的通信协议---MQTT (内含Linux环境搭建)
**MQTT协议摘要** MQTT是一种轻量级的发布/订阅型网络协议,适用于低带宽、高延迟或不可靠的网络环境,尤其适合物联网(IoT)设备。其主要特点包括: 1. **发布/订阅模型**:设备通过主题进行通信,发布者无需知道订阅者,订阅者也不需知道消息来源。 2. **轻量级**:协议头部小,减少网络负载,适合资源受限的设备。 3. **断线重连**:支持客户端在失去连接后重新连接,保持通信。 4. **服务质量级别(QoS)**:提供0(最多一次)、1(至少一次)和2(恰好一次)三种级别,保证消息传递的可靠性。
109 0
|
7月前
|
存储 Linux 开发工具
Linux 基础(从环境搭建到基础命令)
Linux 基础(从环境搭建到基础命令)