# SourceInSight相关知识点
## 常规操作
- 工程新建/添加

  1. 选择工程文件的位置

  ![1752034385269](./pictures/1752034385269.png)

  2. 选择源码位置

     ![image-20250709121735489](./pictures/image-20250709121735489.png)

     3. 将源码导入

     ![image-20250709121914914](./pictures/image-20250709121914914.png)

- 文件新建/添加

  ![image-20250709123840755](./pictures/image-20250709123840755.png)

- 符号表同步：就是让 Source Insight 保持项目符号（函数、类、变量等）信息与实际源代码一致。

  ![image-20250709122117757](./pictures/image-20250709122117757.png)

- **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](./pictures/image-20250711122253319.png)

  ![image-20250711122210026](./pictures/image-20250711122210026.png)

- 常用窗口打开/关闭

  常见四大窗口:

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

     ![image-20250709122721155](./pictures/image-20250709122721155.png)

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

     ![image-20250709122927280](./pictures/image-20250709122927280.png)

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

     ![image-20250709123057307](./pictures/image-20250709123057307.png)

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

     ![image-20250709123227589](./pictures/image-20250709123227589.png)

     

- 搜索引用

  ![image-20250709123336532](./pictures/image-20250709123336532.png)