【代码阅读软件】Source Insight 4 使用教程 | 很详细——适合新手

news2024/10/7 8:24:52

目录

  • 一、概述
  • 二、常用的几个窗口
    • 👉2.1 符号窗口(Symbol Window)
    • 👉2.2 项目文件窗口(Project Window)
    • 👉2.3 关系窗口(Relation Window)
    • 👉2.4 上下文窗口(Context Window)
  • 三、常用的快捷键
  • 四、阅读代码常用功能
    • 👉4.1 跳转到符号(变量、函数等)定义
    • 👉4.2 当前文件搜索符号(变量、函数等)
    • 👉4.3 全局查找符号(变量、函数等)的引用
  • 五、其他设置


在这里插入图片描述

一、概述

Source Insight 4是一款强大的源代码分析工具,这篇文章主要介绍怎样使用该软件。

注意:这篇文章需要读者清楚怎么安装Source Insight,清楚怎样建立工程。如果不清楚怎么安装和建立工程的,可以查看文章:
source insight 4.00.0.124 的 下载、安装、阅读代码

这篇文章主要从下面几个点介绍如何使用Source Insight 4,适合以前没有使用过该软件的新手:

  • 常用的几个窗口;
  • 常用的快捷键;
  • 阅读代码常用功能;
  • 其他设置。
    在这里插入图片描述

在这里插入图片描述

二、常用的几个窗口

Source Insight 4提供了多个窗口来帮助开发者更好地浏览和理解源代码。下面是几个常用的窗口的详细介绍:

  • 符号窗口(Symbol Window)
  • 项目文件窗口(Project Window)
  • 关系窗口(Relation Window)
  • 上下文窗口(Context Window)

在这里插入图片描述


👉2.1 符号窗口(Symbol Window)

符号窗口 显示了当前文件中的所有符号,比如变量、函数、类等。可以通过符号窗口快速定位和浏览代码中的不同符号,点击符号即可跳转到相应的位置。
符合窗口下面有几个图标分别是:按名称排序、按行号排序、按类型排序;
如果当前文件符号太多,可以通过顶部的搜索栏搜索并过滤。

在这里插入图片描述


👉2.2 项目文件窗口(Project Window)

项目文件窗口 显示了项目中的所有文件,并提供了文件夹结构的视图。可以通过文件窗口快速选择和切换文件,以及查看文件的层次结构。该窗口可以通过工具栏的图标 在这里插入图片描述 打开或关闭。

  • Project Files:会列出项目添加的所有文件,可以通过顶部搜索栏,搜索并过滤文件;
  • Floders:会显示项目文件夹结构,可以通过文件夹去打开文件;
  • Project Symbols:列出项目的所有符号,较少使用;
  • Symbol Categories:按类型列出项目的所有符号,较少使用。

如果这几个窗口不小心关闭了,可以依次点击菜单的View -> Panels -> Project Window,勾选Project Window后面的几个可以恢复窗口。

在这里插入图片描述


👉2.3 关系窗口(Relation Window)

关系窗口 显示了当前选中符号的所有引用位置。当选中一个符号时,可以通过关系窗口查看该符号在代码中的所有引用,方便进行全局搜索和代码分析。
在这里插入图片描述


👉2.4 上下文窗口(Context Window)

上下文窗口 显示了当前选中符号的定义和引用位置。当您选中一个符号时,可以通过定义窗口查看该符号在代码中的具体定义和引用情况。

在这里插入图片描述

在这里插入图片描述

三、常用的快捷键

常用的快捷键有:

  • F8 :使符号高亮显示
  • Alt+,(Alt键加逗号):返回上一步(Go Back)
  • Alt+.(Alt键加句号):前进一步(Go Forward)
  • Ctrl+F :在当前文件搜索
  • F3:向前搜索
  • F4:向后搜索
  • Ctrl+H :替换
  • Ctrl+G :在当前文件跳转到某一行(Go to line… )
  • Ctrl+/ :在整个工程,搜索某个符号的引用
  • Ctrl+= :跳到定义(Jump To Definition)

下面是从Source Insight 4.00.124 导出的快捷键文件,去掉大部分没定义的,有哪些还需要用到的,可以在这个文件查找。(Help -> Create Key List

Commands                                  :  Key Assignments
Application: Mono Font View               :  Alt+F12
Edit: Back Tab                            :  Shift+Tab
Edit: Comment Lines                       :  Alt+/
Edit: Complete Snippet                    :  Ctrl+E
Edit: Complete Symbol                     :  Ctrl+8
Edit: Copy                                :  L+R Click, Ctrl+C
Edit: Copy Line                           :  Ctrl+K
Edit: Copy Line Right                     :  Ctrl+Shift+K
Edit: Copy To Clip...                     :  Ctrl+Del
Edit: Cut                                 :  Shift+Del, Ctrl+X
Edit: Cut Line                            :  Ctrl+U
Edit: Cut Line Right                      :  Ctrl+;
Edit: Cut To Clip...                      :  Ctrl+Shift+X
Edit: Cut Word                            :  Ctrl+,
Edit: Delete Character                    :  (KeyPad) Del, Del
Edit: Drag Line Down                      :  Ctrl+Down
Edit: Drag Line Up                        :  Ctrl+Up
Edit: Enter                               :  (KeyPad) Enter, Enter, Enter
Edit: Indent Left                         :  F9
Edit: Indent Right                        :  F10
Edit: Insert Line                         :  Ctrl+I
Edit: Insert Line Before Next             :  Ctrl+Space
Edit: Insert New Line                     :  Ctrl+Enter
Edit: Join Lines                          :  Ctrl+J
Edit: Paste                               :  Shift+Ins, Ctrl+V
Edit: Paste From Clip...                  :  Ctrl+Ins
Edit: Paste Line                          :  Ctrl+P
Edit: Play Recording                      :  Ctrl+F3
Edit: Redo                                :  Ctrl+Y
Edit: Renumber...                         :  Ctrl+R
Edit: Repeat Typing                       :  Ctrl+\
Edit: Replace...                          :  Ctrl+H
Edit: Restore Lines                       :  Alt+D
Edit: Simple Tab                          :  Ctrl+Alt+Tab 
Edit: Smart Rename...                     :  Ctrl+'
Edit: Start Recording                     :  Ctrl+F1
Edit: Stop Recording                      :  Ctrl+F2
Edit: Tab                                 :  Tab
Edit: Toggle Insert Mode                  :  Ins
Edit: Un-Comment Lines                    :  Alt+Shift+?
Edit: Undo                                :  Alt+BackSpace, Ctrl+Z 
File: Close                               :  Ctrl+W
File: Close All                           :  Ctrl+Shift+W
File: New                                 :  Ctrl+N
File: Next File...                        :  Ctrl+Shift+N
File: Open...                             :  Ctrl+O
File: Reload File                         :  Ctrl+Shift+O
File: Save                                :  Ctrl+S
File: Save All                            :  Ctrl+Alt+A
File: Save As...                          :  Ctrl+Shift+S
File: Show File Status                    :  Shift+F10
Help: Help...                             :  F1
Help: SDK Help...                         :  Alt+F1
Menu: Activate Edit Menu                  :  Alt+E
Menu: Activate File Menu                  :  Alt+F
Menu: Activate Help Menu                  :  Alt+H
Menu: Activate Options Menu               :  Alt+O
Menu: Activate Project Menu               :  Alt+P
Menu: Activate Search Menu                :  Alt+S
Menu: Activate System Doc Menu            :  Alt+-
Menu: Activate System Menu                :  Alt+Space
Menu: Activate Tools Menu                 :  Alt+T
Menu: Activate View Menu                  :  Alt+V
Menu: Activate Window Menu                :  Alt+W
Menu: Activate Work Menu                  :  Alt+K
Navigation: Beginning Of Line             :  Home
Navigation: Beginning Of Selection        :  Ctrl+Alt+[
Navigation: Block Down                    :  Ctrl+Shift+]
Navigation: Block Up                      :  Ctrl+Shift+[
Navigation: Bookmark...                   :  Ctrl+M
Navigation: Bottom Of File                :  Ctrl+(KeyPad) End, Ctrl+End
Navigation: Bottom Of Window              :  (KeyPad) End
Navigation: Cursor Down                   :  (KeyPad) Down, Down
Navigation: Cursor Left                   :  (KeyPad) Left, Left
Navigation: Cursor Right                  :  (KeyPad) Right, Right
Navigation: Cursor Up                     :  (KeyPad) Up, Up
Navigation: End Of Line                   :  End
Navigation: End Of Selection              :  Ctrl+Alt+]
Navigation: Function Down                 :  (KeyPad) +
Navigation: Function Up                   :  (KeyPad) -
Navigation: Go Back                       :  Thumb 1 Click, Alt+,
Navigation: Go Back Toggle                :  Alt+M
Navigation: Go Forward                    :  Thumb 2 Click, Alt+.
Navigation: Go To First Link              :  Ctrl+Shift+L
Navigation: Go To Line...                 :  Ctrl+G, F5
Navigation: Go To Next Change             :  Alt+(KeyPad) +
Navigation: Go To Next Link               :  Shift+F9
Navigation: Go To Previous Change         :  Alt+(KeyPad) -
Navigation: Go To Previous Link           :  Shift+F8
Navigation: Jump To Link                  :  Ctrl+L
Navigation: Jump To Match                 :  Alt+]
Navigation: Make Column Selection         :  Alt+L Click
Navigation: Page Down                     :  (KeyPad) PgDn, PgDn
Navigation: Page Up                       :  (KeyPad) PgUp, PgUp
Navigation: Paren Left                    :  Ctrl+9
Navigation: Paren Right                   :  Ctrl+0
Navigation: Scroll Half Page Down         :  (KeyPad) *, Ctrl+(KeyPad) PgDn, Ctrl+PgDn
Navigation: Scroll Half Page Up           :  (KeyPad) /, Ctrl+(KeyPad) PgUp, Ctrl+PgUp
Navigation: Scroll Left                   :  Alt+Left
Navigation: Scroll Line Down              :  Alt+Down
Navigation: Scroll Line Up                :  Alt+Up
Navigation: Scroll Right                  :  Alt+Right
Navigation: Select All                    :  Ctrl+A
Navigation: Select Block                  :  Ctrl+-
Navigation: Select Char Left              :  Shift+Left
Navigation: Select Char Right             :  Shift+Right
Navigation: Select Line                   :  Shift+F6
Navigation: Select Line Down              :  Shift+Down
Navigation: Select Line Up                :  Shift+Up
Navigation: Select Match                  :  Alt+=
Navigation: Select Next Snippet Placehol  :  Ctrl+Shift+;
Navigation: Select Page Down              :  Shift+(KeyPad) PgDn, Shift+PgDn
Navigation: Select Page Up                :  Shift+(KeyPad) PgUp, Shift+PgUp
Navigation: Select Paragraph              :  
Navigation: Select Sentence               :  Ctrl+., Shift+F7
Navigation: Select To                     :  Shift+L Click
Navigation: Select To End Of File         :  Ctrl+Shift+End
Navigation: Select To End Of Line         :  Shift+End
Navigation: Select To Start Of Line       :  Shift+Home
Navigation: Select To Top Of File         :  Ctrl+Shift+Home
Navigation: Select Word                   :  Shift+F5
Navigation: Select Word Left              :  Ctrl+Shift+Left
Navigation: Select Word Right             :  Ctrl+Shift+Right
Navigation: Selection History...          :  Ctrl+Shift+M
Navigation: Top Of File                   :  Ctrl+(KeyPad) Home, Ctrl+Home
Navigation: Top Of Window                 :  (KeyPad) Home
Navigation: Word Left                     :  Ctrl+Left
Navigation: Word Right                    :  Ctrl+Right
Options: File Type Options...             :  Alt+Y
Project: Add File...                      :  Alt+Shift+A
Project: Close Project                    :  Alt+Shift+W
Project: New Project...                   :  Alt+Shift+N
Project: Open Project...                  :  Alt+Shift+P
Project: Remove File...                   :  Alt+Shift+R
Project: Synchronize Files...             :  Alt+Shift+S
Search: Incremental Search...             :  Ctrl+,, F12
Search: Replace Files...                  :  Ctrl+Shift+H
Search: Search Backward                   :  F3
Search: Search Backward for Selection     :  Shift+F3
Search: Search Engines...                 :  
Search: Search Files...                   :  Ctrl+Shift+F
Search: Search Forward                    :  F4
Search: Search Forward for Selection      :  Shift+F4
Search: Search Web...                     :  Ctrl+Alt+W
Search: Search...                         :  Ctrl+F
Symbol: Jump To Base Type                 :  Alt+0
Symbol: Jump To Caller                    :  Ctrl+Alt+C
Symbol: Jump To Definition                :  Ctrl+=
Symbol: Jump To Prototype...              :  Alt+-
Symbol: Lookup References...              :  Ctrl+/
Symbol: Parse File Now                    :  
Symbol: Project Symbols Dialog...         :  
Symbol: Symbol Info...                    :  Ctrl+R Click (select)
View: Activate Project Search Bar         :  Alt+Shift+P
View: Activate Project Symbol List        :  Alt+G, F7
View: Activate Search Bar                 :  Alt+Shift+F
View: Activate Search Results             :  
View: Activate Snippet Window             :  Ctrl+Alt+S
View: Activate Symbol Window              :  Alt+L
View: Full Screen                         :  F11
View: Highlight Word                      :  F8
View: Load Layout A                       :  Ctrl+Shift+F1
View: Load Layout B                       :  Ctrl+Shift+F2
View: Load Layout C                       :  Ctrl+Shift+F3
View: Load Layout D                       :  Ctrl+Shift+F4
View: Symbol Window                       :  Alt+F8
Windows: Close Window                     :  Ctrl+F4, Alt+F6
Windows: Last Window                      :  Ctrl+Shift+Tab, Ctrl+Tab 
Windows: New Window                       :  Alt+F5 
Windows: Select Next Window               :  Ctrl+F6, Shift+F2, F2
Windows: Select Previous Window           :  Shift+F1 
Windows: Tile Two Windows                 :  F6
Windows: Zoom Window                      :  Ctrl+F10, Alt+F10

在这里插入图片描述

四、阅读代码常用功能

👉4.1 跳转到符号(变量、函数等)定义

跳转到定义有两种方式:

  • 按住Ctrl键,点击符号,就会跳转到定义;
  • 将光标定位在符号处,按Alit+=

跳转后,可以按 Alt+, 返回。或者点击工具栏的图标在这里插入图片描述 ,进行前进、后退。
在这里插入图片描述


👉4.2 当前文件搜索符号(变量、函数等)

选中某个符号(变量、函数等)后,按Ctrl+F,会出现搜索弹窗,如下图:
在这里插入图片描述
搜索选项:
Case Sensitive:勾选表示区分大小写。例如,搜 ga_echeck 时勾选的话,就不会搜到 Ga_echeck ,不勾选就会搜到。
Use Regular Expressions:使用正则表达式进行搜索,我比较少用;
Wrap Around:循环搜索。勾选后,搜索到文件尾部后,会继续跳转到文件开头搜索;
Select When Found:查找到的时候,选中该符号,没太大用处;
Whole Words Only:勾选后会整词查找。例如,搜 ga_echeck 时勾选的话,就不会查找到 ga_echeck_new,不勾选会查找到。

搜索后,可以按快捷键F3查找上一个,或按F4查找下一个;
跳转后,可以按 Alt+, 返回。或者点击工具栏的图标在这里插入图片描述 ,进行前进、后退。
工具栏图标 在这里插入图片描述 也是查找符号的,这三个图标相当于Ctrl+FF3F4


👉4.3 全局查找符号(变量、函数等)的引用

选中某个符号(变量、函数等)后,按Ctrl+/,会出现查找引用弹窗,如下图:
在这里插入图片描述
Search In:可以选择搜索范围,可以选择在 整个工程当前文件某个类型的文件

Options:
Case Sensitive:勾选表示区分大小写。例如,搜 ga_echeck 时勾选的话,就不会搜到 Ga_echeck ,不勾选就会搜到。
Whole Words Only:勾选后会整词查找。例如,搜 ga_echeck 时勾选的话,就不会查找到 ga_echeck_new,不勾选会查找到。
Skip Inactive Code:勾选后会跳过无效的代码。例如,ga_echeck 用 #if 0 括起来,那么就不会被搜到;
Skip Comments:勾选后会跳过注释。例如,单行注释//ga_echeck不会被搜到;
Search Only Comments:只在注释中去搜索。

Search Method:
Simple String:按照字符串去搜索,选择这个,连printf("ga_echeck\n")中的字符串也会被搜到;
Look Up Reference:查找引用,查找变量、函数等调用的地方;
Regular Expression:按照正则表达式去搜索,没使用过;
Key Expression:没使用过。

跳转后,可以按 Alt+, 返回。或者点击工具栏的图标在这里插入图片描述 ,进行前进、后退。

在这里插入图片描述

五、其他设置

设置主题颜色
依次点击菜单栏Option -> Visual Theme,可以选择自己喜欢的主题配色。

设置编码
有时一些中文注释是 GB2312 的,使用默认的 UTF-8 编码打开就会编程乱码,可以依次点击菜单栏Option -> Preference -> Files,修改编码
在这里插入图片描述

在这里插入图片描述
如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/668330.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32--基于固件库(Library Faction)的led灯点亮

目录 一、STM32芯片的简单介绍 二、基于固件库(Library Faction)的led灯点亮 这是一个学习stm32的开端,我们由简入难,之前学过C51/52或是其他型号的一般都是从led开始,也就是简单的输入输出端口的应用。(想…

SpringBoot整合模板引擎Thymeleaf(1)

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl Thymeleaf概述 Thymeleaf是一种用于Web和独立环境的现代服务器端的Java模板引擎,主要目标是将优雅的自然模板带到开发工作流程中,并将HTML在浏览器中…

【kubernetes】Etcd集群部署与验证

前言:二进制部署kubernetes集群在企业应用中扮演着非常重要的角色。无论是集群升级,还是证书设置有效期都非常方便,也是从事云原生相关工作从入门到精通不得不迈过的坎。通过本系列文章,你将从虚拟机准备开始,到使用二进制方式从零到一搭建起安全稳定的高可用kubernetes集…

吐血整理,性能测试Jmeter分布式压测遇坑总结+解决

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 为什么要使用分布…

JSON.parse() 全面用法介绍

JSON 通常用于与服务端交换数据。在接收服务器数据时一般是字符串。我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。 语法 JSON.parse(text[, reviver]) text:必需, 一个有效的 JSON 字符串。 reviver: 可选,一个转换结果的函数&#xf…

SPI协议解析

SPI协议介绍 引言介绍SPI简介物理层协议层通讯的起始和停止信号SPI 模式 优缺点优点缺点 使用例程基于STM32的SPI通信准备硬件连接 软件实现 总结 引言 SPI是串行外设接口的缩写,是一种高速的,全双工,同步的通信总线。由于SPI高速和同步的特…

vite环境变量与模式

环境变量 Vite 在一个特殊的 import.meta.env 对象上暴露环境变量。这里有一些在所有情况下都可以使用的内建变量: import.meta.env.MODE: {string} 应用运行的模式。 import.meta.env.BASE_URL: {string} 部署应用时的基本 URL。他由base 配置项决定。 import.m…

【ESP8266】使用MQTT协议 连接华为云iotDA,实现设备属性上报

相关资料:https://github.com/CQUPTLei/ESP8266 往期文章:【ESP8266】基础AT指令和常用WIF指令 【MQTT 5.0】协议 ——发布订阅模式、Qos、keepalive、连接认证、消息结构 一、华为云iotDA1.1 什么是iotDA1.2 创建 iotDA 产品 二、使用ESP8266上报设备…

【杂谈理解】STM32F10X标准库工程模板

前言 基于STM官网的STM32F10x标准外设库V3.6.0版本,文件的操作流程是参考江科大的。记录下此文方便学习和回忆。文章后也会放置完整的工程文件和意法官网下载STM32F10x标准外设库的压缩包。 流程 到意法官网下载STM32F10x标准外设库的压缩包。先找到压缩包的地址&a…

CMake详解

file文件操作 cmake的file命令_cmake file_物随心转的博客-CSDN博客 set指令 CMake中的set指令详解_cmake set_guanguanboy的博客-CSDN博客 include_directories指令 Cmake命令之include_directories介绍 - 简书 add_subdirectory Cmake命令之add_subdirectory介绍 - 简书…

两台电脑用网线传输文件的一些问题解决

两台电脑用网线传输文件 步骤如下: 一、两台电脑插上网线 网线568A和568B可能没什么影响 二、 ipv4地址配置 两个网线插上电脑会自动生成一个ipv4地址 cmd里使用ipconfig查看 用这个就行了如果不想用自动生成的ip地址 也可以自己配置ipv4地址和网关&#xff08…

升级Nginx

目录 前言 一、升级Nginx 1)首先在官网下载一个新版本的Nginx 2)首先将下载的压缩包进行解包 3)进入已解包的目录中 4)配置安装路径 5)make 6)备份原来Nginx的资源 7)重启Nginx服务 8&#…

面向对象程序设计|运算符重载

题目一:分数的加减乘除(运算符重载) 题目描述: Fraction类的基本形式如下: 要求如下: 1.实现Fraction类;common_divisor()和contracted()函数体可为空,不实现具体功能。 2.编写m…

Qt QPainterPath

作用 为painter设置好绘画路径 成员函数 painter.drawPath() 1,使用当前笔画轮廓; 2,填充path指定的路径绘画出来的图形。 xxx.to() lineTo() moveTo() 使用path作画,一定要先将path的启动移动到需要开始绘画的点,否则默认从 (0&…

【大数据之Hive】十三、Hive-HQL函数之单行函数和高级聚合函数

Hive内置函数:单行函数、聚合函数、炸裂函数、窗口函数。 --查看系统内置函数: show functions;--查看内置函数用法: desc function 函数名;--查看内置函数详细信息: desc function extended 函数名;一、单行函数 单行…

GDB调试大全

嵌入式开发必备工具!!!学就完事了!!! 目录 GDB初使用 准备条件:Makefile,section1.cpp 初步使用命令 启动调试 启动调试别传入参数 附加到进程 逐过程执行 逐语句执行 退出函…

apm装机教程(二):四旋翼

文章目录 前言一、接线二、刷固件三、设置机架四、校准遥控器五、设置遥控开关六、校准传感器七、设置参数 前言 硬件: pix2.4.8 250穿越机 云卓T10遥控 软件: APM4.3.7 QGC MP 一、接线 GPS接gps和i2c口,接收机的p/s口接飞控RCIN 二、刷…

SAP从入门到放弃系列之BOM行项目类别-R类别-Part3

文章目录 一、BOM行项目类别设置二、BOM主数据维护三、参数详解3.1、尺寸大小3.2、尺寸大小单位3.3、公式3.4、所需数量3.5、可变尺寸数量3.6、可变尺寸数量单位 四、测试示例演示:小结 一、BOM行项目类别设置 创建或者更改BOM时,BOM行项目类别选择R&am…

SSM超市库存商品管理系统+jsp【附万字文档(Lun文)】

主要功能 管理员权限登录: ①主页、个人中心:修改密码、个人信息 ②员工管理:可以根据员工姓名、手机号、身份证查询,以及增删改查操作 ③会员管理:可以根据会员姓名、手机号、身份证查询,以及增删改查操作…

【进阶]Java:线程通信(了解)

什么是线程通信? 当多个线程共同操作共享的资源时,线程间通过某种方式互相告知自己的状态,以相互协调,并避免无效的资源争夺。 线程通信的常见模型(生产者与消费者模型) 生产者线程负责生产数据消费者线…