C语言工程代码查看神器 SourceInsight

C语言工程代码查看神器 SourceInsight

安装

默认安装即可 链接:https://pan.baidu.com/s/14CD9RK3yXJ7e43Lf3hxe4A
提取码:12lw

安装完毕后,将该dll文件复制到安装文件夹中,再打开SourceInsight
在这里插入图片描述

创建工程

  1. 创建SourceInsight工程
    在这里插入图片描述
  • 注意这里一定不要选自己创建的空文件夹,让sourceInsight自动生成,否则工程位置移动后就要新建工程

在这里插入图片描述

在这里插入图片描述

添加文件
在这里插入图片描述

  • 当一个工程中包涵多个版本的同名文件时,就需要准确的添加使用的文件,手动添加,为了方便,写了一个.bat批量处理脚本,从MDK工程文件获取使用的文件路径,注意头文件路径提取需要MDK编译后的文件,因此在运行批量脚本时,先用MDK编译一下
@echo off&setlocal enabledelayedexpansion
rem 获取当前文件夹下的mdk工程文件名称
for %%i in (*.uvprojx) do ( set MdkFileName=%%i)
echo %MdkFileName%

rem 获取mdk工程文件中的文件路径信息
del temp.txt
findstr "<FilePath>" %MdkFileName% >>temp.txt

rem 处理路径信息
del path.txt
for /f "tokens=*" %%i in (temp.txt) do (
 set a=%%i 
 rem 利用替换功能 将<FilePath>删除
 set "a=!a:<FilePath>=!"    
 set "a=!a:</FilePath>=!"   
 echo !a!>>path.txt)        
 


rem 获取工程编译信息文件名称  *.dep  注意*.dep文件需要mdk编译后才能产生
for /r %%i in (*.dep) do ( set headFilePathInfo=%%i)
echo %headFilePathInfo%

rem 从 *.dep 文件剔除重复行
for /f "delims=" %%i in (%headFilePathInfo%) do (
if not defined %%i set %%i=A & echo %%i>>dep.txt)

rem 从 dep.txt 文件中提取头文件路径 
del temp.txt
findstr /B "I (" dep.txt >>temp.txt
del dep.txt


rem 提取路径信息
set "word1=I ("
set "word2=.h"
(for /f "delims=" %%a in ('findstr "%word1%.*%word2%" temp.txt') do (
    set "str=#%%a"
    set "str=!str:%word1%=ж!"
    set "str=!str:%word2%=ж!"
    for /f "tokens=2 delims=ж" %%b in ("a!str!") do echo;%word1%%%b%word2%
))>new_1.txt

rem 提取路径信息
for /f "tokens=*" %%i in (new_1.txt) do (
 set a=%%i 
 rem 利用替换功能 将I (删除
 set "a=!a:I (=!"    
 echo !a!>>path.txt)        
del new_1.txt
del temp.txt
pause

注意,批量脚本需要和MDK工程文件.uvprojx和存放编译中间信息的文件夹在同一目录下,另外,生成的path.txt为相对路径信息,因此sourceInsight工程也需要在这个文件夹下
在这里插入图片描述
运行批量处理脚本生成path.txt路径信息文件。
在这里插入图片描述

在这里插入图片描述

  1. 同步工程文件信息

当工程中文件变动时,都需要重新同步一下

在这里插入图片描述
在这里插入图片描述

  • 如果存在中文乱码情况,可以修改sourceInsight编码格式
    在这里插入图片描述

在这里插入图片描述
如果工程中存在多种编码格式的文件,可以利用 https://blog.csdn.net/weixin_42378319/article/details/118823760 中的小工具对文件编码格式进行批量转换

  1. 获取宏定义信息
    在这里插入图片描述
    在这里插入图片描述

个人觉的sourceInsight的宏定义功能有些许问题,用其看代码时,遇到#if 这种条件预处理指令时要多注意
在这里插入图片描述

修改主题

老实说,一直不是很习惯sourceInsight的界面,五颜六色,字体大小还各不相同,MDK或IAR的 gotodef+全局搜索完全足以应付平时工作,就算想新鲜新鲜也是用vscode,但是最近接手了一个老项目,那真是一言难尽啊,用sourceInsight就是因为它里有一项非常好用的功能,代码调用关系图,这个功能对于不熟悉的工程,特别是全局变量漫天飞,函数高耦合的有奇效(其实vs里面也有,不过被微软当作收费功能了

在这里插入图片描述
如果不能扩展开来,先进行同步一下,然后右键设置如下图设置
在这里插入图片描述
然后点击函数图的右下部分,鼠标会变成+,点击就会拓展开
在这里插入图片描述

但是看着实在是太别扭了,必须要改,最终在安富莱论坛 http://www.armbbs.cn/forum.php?mod=viewthread&tid=95564&highlight=source%2Binsight 找到了一个sourceInsight的大佬,他的主题很赞,不过很快就是我的了,嘿嘿

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加快捷键

在这里插入图片描述
先关闭其他工程,打开Base工程,同步
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加快捷键

在这里插入图片描述

函数注释 ctrl+1

在这里插入图片描述

在这里插入图片描述

多行注释 ctrl+2

在这里插入图片描述

在这里插入图片描述

文件注释 ctrl+3
在这里插入图片描述
在这里插入图片描述

如果不添加,可以输入关键字,然后ctrl+enter 比如要添加格式文件,可以输入fmt 然后按ctrl enter
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值