Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

10 KiB

SourceInSight相关知识点

常规操作

工程新建/添加

  1. 选择工程文件的位置

1752034385269

  1. 选择源码位置

    image-20250709121735489

    1. 将源码导入

    image-20250709121914914

    • Add:基本的文件添加操作
    • Add All:添加整个工程所有的源文件,最多只能添加下一级的文件(然后再选择是否递归添加子目录中的源文件,见上图对话框就和Add Tree功能类似)
    • Add Tree:添加指定的文件夹以及其子目录下的源代码文件
    • Remove Tree:和Add Tree的功能相反

文件新建/添加

image-20250709123840755

符号表同步

符号表同步 = 把源码中的函数、变量、类型等信息提取出来,建立一个可快速查找的数据库

image-20250709122117757

  • Force all files to be re-parsed

    强制重新解析所有文件。

    • 作用:无论文件有没有改动,全部源文件都会重新解析一遍,重新生成符号。
    • 使用场景:
    • 大范围修改了宏定义、头文件或库文件;
    • 项目结构变化较大;
    • 符号跳转失效、显示不准确时使用;
    • 会花比较长的时间。
  • Synchronize the current source file only

    只同步当前打开的源文件。

    作用:只更新你当前正在查看的文件的符号信息。

    使用场景:

    • 你刚刚改动了当前文件的一些函数或变量,希望立即生效;

    • 快速同步,不影响其他文件。

    • 其他文件不受影响,如果涉及头文件或其他依赖文件,可能会不完整。

  • Add new files automatically

    自动添加新文件到项目中。

    • 作用:在同步过程中,如果发现了你源码目录下的新文件(比如新加的 .c/.h 文件),会自动加入工程并解析符号
    • 使用场景:
    • 经常手动往目录里加文件的人建议勾上;
    • 适合多人协作开发时文件频繁变动。
  • Remove missing files from project

    自动从工程中移除找不到的文件。

    • 作用:如果项目中之前包含的某些源文件物理上已经被删除或移动,则自动从工程移除它们。
    • 使用场景:
    • 清理项目符号库;
    • 文件重命名或移动后保持项目干净。
    • 小心使用,可能会误删临时缺失但之后会恢复的文件引用。

视图切换

image-20250711122253319

image-20250711122210026

常用窗口打开/关闭

常见四大窗口:

  1. project Window:查看我们的工程所在文件夹以及文件夹下的文件

    image-20250709122721155

  2. Symbol Window:用于查看我们开启的文件以及文件内所包含的函数

    image-20250709122927280

  3. Context Window串口:用于查看,函数中某个参数与函数的关系

    image-20250709123057307

  4. Relation Window窗口:用于查看函数以及参数所定义的位置

    image-20250709123227589

搜索引用

image-20250709123336532

普通文本搜索(Search → Find)

  • 快捷键Ctrl + F
  • 作用:查找文件中出现的文本(不区分语法符号,纯字符串匹配)
  • 功能亮点
    • 支持大小写匹配
    • 支持正则表达式(Regular Expression)
    • 支持从当前位置、整个文件或选中区域查找
  • 适用场景
    • 查找某个宏、错误码、注释等非符号内容
  • 缺点
    • 找不到跨文件定义、不支持跳转到符号

image-20250715142824280

选项 作用 典型用法/说明
Case Sensitive 区分大小写匹配 精确匹配变量名或关键字大小写
Use Regular Expressions 使用正则表达式匹配 复杂模式搜索,比如匹配数字、特定格式字符串
Wrap Around 搜索到文件末尾后从头继续搜索 循环全文搜索,避免漏掉匹配项
Select When Found 搜索到匹配文本时自动选中 方便复制、替换操作
Whole Words Only 只匹配完整单词 避免匹配单词内部字符串,如避免 int 匹配 print
设置 效果说明
Forward + Whole File 从当前位置往下搜索,直到文件结尾
Backward + Whole File 从当前位置往上搜索,直到文件开头
Forward + Selection 在选中的代码块中,从上往下查找
Backward + Selection 在选中的代码块中,从下往上查找

全局搜索(Search → Find in Files)

  • 快捷键Ctrl + Shift + F
  • 作用:在整个工程或指定路径中查找文本(可正则)
  • 功能亮点
    • 可设置搜索路径、文件类型(.c、.h等)
    • 可将结果导出为列表窗口
  • 适用场景
    • 搜索项目中所有文件中包含“某字符串”的位置
  • 常用于
    • 搜索日志宏 LOG_ERR、关键字 #define
序号 选项名称 中文含义 功能说明 常用场景示例
1 Project Wide 项目范围搜索 在整个项目中的所有文件进行搜索,仅对已加入项目的文件生效。 搜索项目中某变量或函数的所有引用
2 Include Subdirectories 包括子目录 搜索指定文件夹时,递归进入子目录一并搜索。 搜索多层文件夹下的所有 .c/.h 文件内容
3 Case Sensitive 区分大小写 搜索时大小写敏感,严格匹配字母大小写。 精确查找区分大小写的变量名,如 MyVar
4 Use Regular Expressions 使用正则表达式 启用正则表达式语法,支持复杂模式匹配。 查找函数调用:foo\(,匹配 foo()
5 Find Non-Matching 查找不匹配项 仅显示不包含搜索关键词的文件或行。 找出没使用某宏或函数的文件
6 Whole Words Only 全字匹配 仅匹配完整单词,避免匹配词语中的一部分。 搜索 int 不匹配 print
7 Skip Inactive Code 跳过无效代码 不在条件编译屏蔽掉的代码中搜索(如 #if 0)。 排除死代码,聚焦于当前编译路径
8 Skip Comments 跳过注释 不在注释中搜索,只搜索真正代码部分。 查找实际代码逻辑,排除注释中的说明
9 Search Only Comments 仅搜索注释内容 只在注释中查找,不搜索代码。 搜索 TODOFIXME、版权信息等
序号 选项名称 中文含义 功能说明 常用场景示例
1 Search Project 搜索整个项目 在当前 Source Insight 项目的所有文件中执行搜索(不包括未加入项目的文件)。 查找整个项目中函数或宏的定义、引用等。
2 Case Sensitive 区分大小写 只匹配大小写完全相同的内容(例如 MyVarmyvar)。 精确搜索变量、函数名,防止误匹配。
3 Whole Words Only 全字匹配 只匹配完整单词,不匹配单词的一部分(int 不会匹配 print)。 搜索关键字、类型名、变量名时避免误匹配。
4 Skip Inactive Code 跳过无效代码 不搜索被 #if 0#ifdef 等条件屏蔽的代码块。 避免搜索到未编译的旧代码或无效代码。
5 Skip Comments 跳过注释 忽略注释内容,仅在代码主体中搜索。 搜索变量或调用语句,排除说明性文字。
6 Search Only Comments 仅搜索注释 只搜索注释区域,忽略代码区域。 查找 TODOFIXME、文档注释等信息。
7 Smart Reference Matching 智能引用匹配 更智能地匹配标识符引用,考虑语言结构(仅对支持语义分析的工程有效)。 查找函数、变量等引用时更精准(推荐勾选)。
8 Touch Files and Cause Recompile 修改文件触发重编译 搜索中访问的文件会被标记为“已改动”,可能导致重新编译(小心使用)。 不常用,仅在希望通过搜索触发某些构建系统行为时用

符号查找(Search → Lookup Symbol)

  • 快捷键Ctrl + /
  • 作用:查找并跳转到某个“符号”的定义(函数、变量、宏等)
  • 依赖符号表同步
  • 功能亮点
    • 模糊匹配,支持部分输入即可补全
    • 可以定位到头文件或函数体定义
  • 适用场景
    • 快速跳转函数/变量定义
  • 缺点
    • 搜不到未同步的符号(需手动同步)

同步滚动

image-20250712181925371

改字体

image-20250712182757921

备份

手动备份

image-20250715141704451

自动备份

image-20250715141757054

打开备份文件

image-20250715141829212

文件比较

image-20250715142335298

image-20250715142428985

image-20250715142305916