衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何選擇合適的工具來閱讀源代碼

strongerHuang ? 來源:Mculover666 ? 作者:Mculover666 ? 2022-03-30 14:01 ? 次閱讀

在做嵌入式 Linux 軟件開發(fā)的時候,經(jīng)常會閱讀大型工程源碼,比如 uboot 源代碼,Linux Kernel 源碼等。

所以,選擇一個合適的工具來閱讀源代碼,變?yōu)榱艘粋€經(jīng)久不衰的話題

閱讀源碼的時候,其實無非也就兩個重要的功能:

① 定義或者聲明快速跳轉(zhuǎn)

② 快速搜索指定內(nèi)容

另外還有一些功能是和開發(fā)體驗相關(guān)的,比如:

① 工具的主題(亮色和暗色)

② 工具是否方便修改編輯內(nèi)容

③ 工具是否還提供其它的方便功能

目前常用的就是 Source Insight 和 VS Code,下面就來按照上述需求進行對比,看看哪個更適合?

創(chuàng)建代碼工程

Source Insight 在閱讀工程代碼時,可以通過創(chuàng)建 Source Insight 工程來選擇哪些文件加入,哪些文件不加入。

對于 uboot 這種包含有大量板級文件夾的工程,加入之后其中的文件只和目前移植的這款處理器有關(guān),這個功能是非常有優(yōu)勢的,也是眾多工程師喜愛 Source Insight 的原因。

159b3f22-ac30-11ec-aa7f-dac502259ad0.png

相比之下,VS Code并不提供這種選擇加入的功能,VS Code 非常粗暴,文件夾就是工作區(qū),只需要打開源碼文件夾,所有文件全部加入:

15aa8ab8-ac30-11ec-aa7f-dac502259ad0.png

相比之下,我覺得 Source Insight 勝出,VS Code 這種將所有文件一股腦全部加入的方式,在查找文件時非常麻煩。

文件架構(gòu)

在 Source Insight 中,打開一個文件的時候,會列出當(dāng)前文件中所有預(yù)處理、宏定義、變量、函數(shù)的架構(gòu),如圖:

15bd8b4a-ac30-11ec-aa7f-dac502259ad0.png

在 VS Code 中打開文件時也有同樣的功能,但又是一股腦的按照順序?qū)⑺泻瘮?shù)聲明和定義列出,實際查看時也沒有什么太多作用:

15d68a14-ac30-11ec-aa7f-dac502259ad0.png

在文件整體架構(gòu)方面,Source Insight 勝出,VS Code 對于代碼架構(gòu)方面的顯示,還需要再優(yōu)化。

定義跳轉(zhuǎn)功能

在 Source Insight 中,可以右鍵跳轉(zhuǎn)函數(shù)聲明或者直接按住 Ctrl 點擊函數(shù)名稱,如果定義有重復(fù)會先提示,供你選擇,如圖:

15f06308-ac30-11ec-aa7f-dac502259ad0.png

在 VScode 中,首先需要安裝 C/C++擴展,然后才支持定義跳轉(zhuǎn),可以按住 Ctrl 鍵點擊或者右鍵跳轉(zhuǎn):

1602db46-ac30-11ec-aa7f-dac502259ad0.png

如果有重復(fù)也會出現(xiàn)提示,選擇需要查看哪個定義。在定義跳轉(zhuǎn)功能上,兩者持平,功能基本都夠用。

全局搜索指定內(nèi)容

在 Source Insight 中,提供的搜索功能如下:

161490b6-ac30-11ec-aa7f-dac502259ad0.png

在 VS Code 中也提供了全局搜索的功能,但是由于它將所有文件都包含進來了,無用的搜索結(jié)果比較多:

16290f8c-ac30-11ec-aa7f-dac502259ad0.png

所以,在搜索功能上,由于 Source Insight 先天性的優(yōu)勢,本輪勝出。

主題設(shè)置

閱讀源碼需要很長時間,所以提供一個舒服的主題也是很重要的。Source Insight 提供的主題有:

16391f80-ac30-11ec-aa7f-dac502259ad0.png

VScode 提供的主題就非常棒了:

16449838-ac30-11ec-aa7f-dac502259ad0.png

Source Insight 提供的這些主題我覺得還行,但換出來感覺效果都比較怪,沒有那么舒服,相比之下 VS Code 的主題做的就比較好,無論亮色還是暗色看著都很舒服,對于我個人而言,本輪 VS Code 勝出。

其他功能

Source 除了我上述說的主要功能之外,還有非常多的功能,但我都沒怎么用過。

此處,我必須要說一下 VS Code,因為 Uboot 源碼需要在 linux 上編譯,但是我日常使用的系統(tǒng)是 Windows,所以我一般將 VSCode 安裝在 Windows 上,使用 VS Code 提供的遠(yuǎn)程 SSH 功能,去連接遠(yuǎn)程 Linux 主機,它會將遠(yuǎn)程主機上的目錄直接作為工作區(qū),另外還提供了集成終端,修改后直接在終端中編譯即可,如圖:

16637f3c-ac30-11ec-aa7f-dac502259ad0.jpg

另外,VSCode 內(nèi)部集成了 git 可視化功能,可以方便的使用 git 管理代碼。相比之外,Source Insight 在修改文件之后,還需要把修改的文件上傳到 Linux 服務(wù)器去編譯,過程有點繁瑣。所以,在額外功能的擴展性上,我覺得 VScode 勝出。

總結(jié)

經(jīng)過上述比較,我來說說我的體驗和看法:Source Insight 就像是一個老大哥,基本功很扎實,比如源碼查看,文件架構(gòu)列表這些,很方便實用,在閱讀代碼的時候非常方便,但在開發(fā)時相對不太方便。對于它的文件選擇加入功能,其實我是不太喜歡的,這么龐大的源碼工程,既然我知道哪些文件有用,哪些文件沒用,那我還看啥呢?所以對初學(xué)者不太友好。而 VS Code 呢,就是一個年輕小伙,后起之秀,比如主題隨便換,可以遠(yuǎn)程連接 Linux 主機進行開發(fā),Git 可視化擴展等等,各種炫酷功能,但是基本功太不扎實,在閱讀源碼時的基礎(chǔ)功能沒做好,但是在開發(fā)時非常順手。

原文標(biāo)題:兩款工具對比:Source Insight vs VS Code

文章出處:【微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:彭菁
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19409

    瀏覽量

    231189
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11345

    瀏覽量

    210400
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2946

    瀏覽量

    66959

原文標(biāo)題:兩款工具對比:Source Insight vs VS Code

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何選擇合適的電機驅(qū)動芯片

    在現(xiàn)代生活中,電機廣泛使用在家電產(chǎn)品、汽車電子、工業(yè)控制等眾多應(yīng)用領(lǐng)域,每一個電機的運轉(zhuǎn)都離不開合適的驅(qū)動芯片。納芯微提供豐富的電機驅(qū)動產(chǎn)品選擇,本期視頻將重點介紹常見電機種類與感性負(fù)載應(yīng)用,幫助大家更深入了解如何選擇
    的頭像 發(fā)表于 11-21 12:31 ?616次閱讀
    如何<b class='flag-5'>選擇</b><b class='flag-5'>合適</b>的電機驅(qū)動芯片

    如何選擇合適的TTL芯片

    TTL(晶體管-晶體管邏輯)芯片是數(shù)字電子領(lǐng)域中的基礎(chǔ)組件,廣泛應(yīng)用于各種電子系統(tǒng)和設(shè)備中。它們以其高速、低功耗和可靠性而聞名。 1. 了解TTL芯片的基本原理 在選擇合適的TTL芯片之前,了解其
    的頭像 發(fā)表于 11-18 10:34 ?379次閱讀

    Gmapping源代碼

    Gmapping源代碼.docx
    發(fā)表于 11-16 13:42 ?0次下載

    如何選擇合適的NPU型號

    選擇合適的NPU(神經(jīng)處理單元)型號是一個涉及多個因素的綜合考量過程。以下是一些建議,幫助您做出明智的選擇: 一、明確應(yīng)用需求 應(yīng)用場景 : 根據(jù)您的應(yīng)用場景(如計算機視覺、自然語言處理、自動駕駛
    的頭像 發(fā)表于 11-15 09:16 ?781次閱讀

    ECU故障診斷工具 如何選擇合適的ECU

    數(shù)據(jù)監(jiān)控和執(zhí)行元件測試。這些功能是診斷工具的核心,能夠幫助技師識別和解決問題。 2. 兼容性 選擇ECU故障診斷工具時,首先要考慮的是工具的兼容性。一個好的診斷
    的頭像 發(fā)表于 11-05 10:23 ?543次閱讀

    如何選擇合適的UWB模塊

    選擇合適的UWB(超寬帶)模塊需要考慮多個因素,以確保模塊能夠滿足特定應(yīng)用場景的需求。以下是一些關(guān)鍵因素和步驟,幫助您選擇合適的UWB模塊: 一、了解UWB技術(shù)基礎(chǔ) 工作原理 :UWB
    的頭像 發(fā)表于 10-31 11:18 ?509次閱讀

    如何選擇合適的電感器匹配感性負(fù)載?

    在匹配感性負(fù)載時,選擇合適的電感器是至關(guān)重要的。電感器的主要作用是抑制電流變化,從而維持電路的穩(wěn)定性。為了確保電路的穩(wěn)定運行,需要考慮以下因素: 電流和電壓:首先,需要確定電感器的額定電流和額定電壓
    發(fā)表于 10-22 15:50

    源代碼解析工具與自動化流程圖生成解決方案

    ? 摘要:CasePlayer2是一款強大的源代碼解析工具,專門設(shè)計用于分析ANSI C、C、C++以及匯編語言源代碼,并自動化地生成流程圖等文件。該工具集成了多種功能,包括MISRA
    的頭像 發(fā)表于 10-10 13:40 ?344次閱讀

    怎樣選擇合適的MOSFET

    怎樣選擇合適的MOSFET
    的頭像 發(fā)表于 10-01 08:01 ?337次閱讀
    怎樣<b class='flag-5'>選擇</b><b class='flag-5'>合適</b>的MOSFET

    如何選擇合適的過載保護器

    選擇合適的過載保護器是確保電氣系統(tǒng)安全穩(wěn)定運行的關(guān)鍵步驟。以下將詳細(xì)闡述如何選擇合適的過載保護器,包括考慮的因素、選擇步驟以及注意事項。
    的頭像 發(fā)表于 09-06 11:53 ?1233次閱讀

    hex可以轉(zhuǎn)成源代碼

    ,可以通過以下幾種方法嘗試獲取源代碼的近似形式: 反匯編 : 使用反匯編工具可以將Hex文件中的機器碼轉(zhuǎn)換回匯編語言。匯編語言是一種低級語言,它更接近于機器碼,但仍然具有一定的可讀性。 通過反匯編得到的匯編代碼可以提供程序
    的頭像 發(fā)表于 09-02 10:41 ?1207次閱讀

    企業(yè)如何保護源代碼安全?做好源代碼防泄密工作

    出現(xiàn)了相似或相同功能的產(chǎn)品。這無疑引發(fā)了企業(yè)管理者們對于企業(yè)源代碼數(shù)據(jù)泄漏的深深憂慮。 許多企業(yè)錯誤地認(rèn)為,只要采用了版本管理工具如Git或SVN,代碼安全問題就得到了保障。然而,事實并非如此。版本管理
    的頭像 發(fā)表于 05-22 16:01 ?509次閱讀

    如何根據(jù)需求選擇合適的新加坡VPS操作系統(tǒng)?

    選擇合適的新加坡VPS操作系統(tǒng)您需要考慮哪些因素,如何根據(jù)需求選擇合適的新加坡VPS操作系統(tǒng)?rak部落小編為您整理發(fā)布選擇
    的頭像 發(fā)表于 05-10 11:14 ?486次閱讀
    如何根據(jù)需求<b class='flag-5'>選擇</b><b class='flag-5'>合適</b>的新加坡VPS操作系統(tǒng)?

    【開源鴻蒙】下載OpenHarmony 4.1 Release源代碼

    本文介紹了如何下載開源鴻蒙(OpenHarmony)操作系統(tǒng) 4.1 Release版本的源代碼,該方法同樣可以用于下載OpenHarmony最新開發(fā)版本(master分支)或者4.0 Release、3.2 Release等發(fā)布版本的源代碼
    的頭像 發(fā)表于 04-27 23:16 ?1056次閱讀
    【開源鴻蒙】下載OpenHarmony 4.1 Release<b class='flag-5'>源代碼</b>

    怎樣選擇合適的貼片電解電容?

    。 2.考慮電路需求 你需要根據(jù)你的電路需求選擇合適的貼片電解電容。例如,如果你的電路需要一個能夠承受25V耐壓、存儲10uF電容量的高頻電解電容,那么你就需要選擇一個滿足這些條件的
    的頭像 發(fā)表于 03-14 14:23 ?608次閱讀
    怎樣<b class='flag-5'>選擇</b><b class='flag-5'>合適</b>的貼片電解電容?
    乌恰县| 百家乐套路| 都江堰市| 百家乐马宝| 破解百家乐官网打路单| 百家乐群sun811.com| 太阳城百家乐官网优惠| 澳门百家乐然后赢| 钱隆百家乐官网软件| 太阳城ktv| 新东方百家乐官网娱乐城| 八大胜备用网址| 百家乐珠盘路| 老k百家乐官网游戏| 大发888 dafa888 octbay| 百家乐官网在线小游戏| 百家乐翻天在线观看| 赌场百家乐官网实战| 丰禾国际娱乐| 百家乐生活馆拖鞋| 百家乐官网打立了| 娱乐城注册送58| 澳门百家乐牌规| 网上百家乐官网有人赢过吗| 大发888博爱彩| 百家乐最全打法| 百家乐官网的保单打法| 威尼斯人娱乐网代理| 高楼24层风水好吗| 网上百家乐官网哪里好| 新太阳城娱乐| 赌百家乐的体会| 真人百家乐官网娱乐好玩| 大发888赌城官方| 百家乐最长的缆| 百家乐官网公式球打法| 大发888 m摩卡游戏| 新2百家乐娱乐城| 线上百家乐官网| 福贡县| 大发888 dafa888|