diff --git a/SourceInSight/SourceInSight.md b/SourceInSight/SourceInSight.md index 5d5cc2f..790b3eb 100644 --- a/SourceInSight/SourceInSight.md +++ b/SourceInSight/SourceInSight.md @@ -1,26 +1,33 @@ # SourceInSight相关知识点 ## 常规操作 -- 工程新建/添加 +### 工程新建/添加 - 1. 选择工程文件的位置 +1. 选择工程文件的位置 - ![1752034385269](./pictures/1752034385269.png) +![1752034385269](./pictures/1752034385269.png) - 2. 选择源码位置 +2. 选择源码位置 - ![image-20250709121735489](./pictures/image-20250709121735489.png) + ![image-20250709121735489](./pictures/image-20250709121735489.png) - 3. 将源码导入 + 3. 将源码导入 - ![image-20250709121914914](./pictures/image-20250709121914914.png) + ![image-20250709121914914](./pictures/image-20250709121914914.png) + + - Add:基本的文件添加操作 + - Add All:添加整个工程所有的源文件,最多只能添加下一级的文件(然后再选择是否递归添加子目录中的源文件,见上图对话框就和Add Tree功能类似) + - Add Tree:添加指定的文件夹以及其子目录下的源代码文件 + - Remove Tree:和Add Tree的功能相反 -- 文件新建/添加 +### 文件新建/添加 - ![image-20250709123840755](./pictures/image-20250709123840755.png) +![image-20250709123840755](./pictures/image-20250709123840755.png) -- 符号表同步:就是让 Source Insight 保持项目符号(函数、类、变量等)信息与实际源代码一致。 +### 符号表同步 - ![image-20250709122117757](./pictures/image-20250709122117757.png) +符号表同步 = 把源码中的函数、变量、类型等信息提取出来,建立一个可快速查找的数据库 + +![image-20250709122117757](./pictures/image-20250709122117757.png) - **Force all files to be re-parsed** @@ -44,7 +51,7 @@ - 你刚刚改动了当前文件的一些函数或变量,希望立即生效; - 快速同步,不影响其他文件。 - - ⚠ 其他文件不受影响,如果涉及头文件或其他依赖文件,可能会不完整。 + - 其他文件不受影响,如果涉及头文件或其他依赖文件,可能会不完整。 - **Add new files automatically** @@ -65,34 +72,72 @@ - 文件重命名或移动后保持项目干净。 - 小心使用,可能会误删临时缺失但之后会恢复的文件引用。 -- 视图切换 +### 视图切换 + +![image-20250711122253319](./pictures/image-20250711122253319.png) + +![image-20250711122210026](./pictures/image-20250711122210026.png) + +### 常用窗口打开/关闭 + +常见四大窗口: + +1. project Window:查看我们的工程所在文件夹以及文件夹下的文件 + + ![image-20250709122721155](./pictures/image-20250709122721155.png) - ![image-20250711122253319](./pictures/image-20250711122253319.png) +2. Symbol Window:用于查看我们开启的文件以及文件内所包含的函数 - ![image-20250711122210026](./pictures/image-20250711122210026.png) + ![image-20250709122927280](./pictures/image-20250709122927280.png) -- 常用窗口打开/关闭 +3. Context Window串口:用于查看,函数中某个参数与函数的关系 - 常见四大窗口: + ![image-20250709123057307](./pictures/image-20250709123057307.png) - 1. project Window:查看我们的工程所在文件夹以及文件夹下的文件 +4. Relation Window窗口:用于查看函数以及参数所定义的位置 - ![image-20250709122721155](./pictures/image-20250709122721155.png) + ![image-20250709123227589](./pictures/image-20250709123227589.png) - 2. Symbol Window:用于查看我们开启的文件以及文件内所包含的函数 + - ![image-20250709122927280](./pictures/image-20250709122927280.png) +### 搜索引用 - 3. Context Window串口:用于查看,函数中某个参数与函数的关系 +![image-20250709123336532](./pictures/image-20250709123336532.png) - ![image-20250709123057307](./pictures/image-20250709123057307.png) +## 普通文本搜索(Search → Find) - 4. Relation Window窗口:用于查看函数以及参数所定义的位置 +- **快捷键**:`Ctrl + F` +- **作用**:查找文件中出现的文本(**不区分语法符号**,纯字符串匹配) +- **功能亮点**: + - 支持大小写匹配 + - 支持正则表达式(Regular Expression) + - 支持从当前位置、整个文件或选中区域查找 +- **适用场景**: + - 查找某个宏、错误码、注释等非符号内容 +- **缺点**: + - 找不到跨文件定义、不支持跳转到符号 - ![image-20250709123227589](./pictures/image-20250709123227589.png) +## 全局搜索(Search → Find in Files) - +- **快捷键**:`Ctrl + Shift + F` +- **作用**:在整个工程或指定路径中查找文本(可正则) +- **功能亮点**: + - 可设置搜索路径、文件类型(*.c、*.h等) + - 可将结果导出为列表窗口 +- **适用场景**: + - 搜索项目中所有文件中包含“某字符串”的位置 +- **常用于**: + - 搜索日志宏 `LOG_ERR`、关键字 `#define` 等 -- 搜索引用 +## 符号查找(Search → Lookup Symbol) - ![image-20250709123336532](./pictures/image-20250709123336532.png) \ No newline at end of file +- **快捷键**:`Ctrl + /` +- **作用**:查找并跳转到某个“符号”的定义(函数、变量、宏等) +- **依赖符号表同步** +- **功能亮点**: + - 模糊匹配,支持部分输入即可补全 + - 可以定位到头文件或函数体定义 +- **适用场景**: + - 快速跳转函数/变量定义 +- **缺点**: + - 搜不到未同步的符号(需手动同步) \ No newline at end of file