日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/4/16 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言工程代码查看神器 SourceInsight 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C語言工程代碼查看神器 SourceInsight

安裝

默認安裝即可 鏈接:https://pan.baidu.com/s/14CD9RK3yXJ7e43Lf3hxe4A
提取碼:12lw

安裝完畢后,將該dll文件復制到安裝文件夾中,再打開SourceInsight

創建工程

  • 創建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.txtrem 處理路徑信息 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.txtrem 提取路徑信息 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.txtrem 提取路徑信息 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路徑信息文件。

  • 同步工程文件信息
  • 當工程中文件變動時,都需要重新同步一下


    • 如果存在中文亂碼情況,可以修改sourceInsight編碼格式


    如果工程中存在多種編碼格式的文件,可以利用 https://blog.csdn.net/weixin_42378319/article/details/118823760 中的小工具對文件編碼格式進行批量轉換

  • 獲取宏定義信息

  • 個人覺的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

    總結

    以上是生活随笔為你收集整理的C语言工程代码查看神器 SourceInsight的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。