91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

如何選擇合適的工具來(lái)閱讀源代碼

strongerHuang ? 來(lái)源:Mculover666 ? 作者:Mculover666 ? 2022-03-30 14:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

閱讀源碼的時(shí)候,其實(shí)無(wú)非也就兩個(gè)重要的功能:

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

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

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

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

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

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

目前常用的就是 Source Insight 和 VS Code,下面就來(lái)按照上述需求進(jìn)行對(duì)比,看看哪個(gè)更適合?

創(chuàng)建代碼工程

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

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

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

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

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

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

文件架構(gòu)

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

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

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

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

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

定義跳轉(zhuǎn)功能

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

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

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

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

如果有重復(fù)也會(huì)出現(xiàn)提示,選擇需要查看哪個(gè)定義。在定義跳轉(zhuǎn)功能上,兩者持平,功能基本都?jí)蛴谩?/p>

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

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

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

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

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

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

主題設(shè)置

閱讀源碼需要很長(zhǎng)時(shí)間,所以提供一個(gè)舒服的主題也是很重要的。Source Insight 提供的主題有:

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

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

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

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

其他功能

Source 除了我上述說(shuō)的主要功能之外,還有非常多的功能,但我都沒(méi)怎么用過(guò)。

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

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

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

總結(jié)

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

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

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

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

    關(guān)注

    68

    文章

    20256

    瀏覽量

    252475
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11764

    瀏覽量

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

    關(guān)注

    96

    文章

    2953

    瀏覽量

    70351

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何選擇適合的智駕仿真工具進(jìn)行場(chǎng)景生成和測(cè)試?

    在自動(dòng)駕駛技術(shù)日益發(fā)展的背景下,選擇合適的智駕仿真工具進(jìn)行場(chǎng)景生成和測(cè)試顯得尤為重要。該工具不僅需要支持高精度的場(chǎng)景重建,還需滿足多種環(huán)境條件和傳感器模型的兼容性。本文將深入探討如何評(píng)
    的頭像 發(fā)表于 11-25 10:32 ?385次閱讀
    如何<b class='flag-5'>選擇</b>適合的智駕仿真<b class='flag-5'>工具</b>進(jìn)行場(chǎng)景生成和測(cè)試?

    如何選擇合適的SC1溶液來(lái)清洗硅片

    選擇合適的SC1溶液清洗硅片需要綜合考慮多個(gè)因素,以下是具體的方法和要點(diǎn):明確污染物類型與污染程度有機(jī)物污染為主時(shí):如果硅片表面主要是光刻膠、油脂等有機(jī)污染物,應(yīng)適當(dāng)增加過(guò)氧化氫(H?O?)的比例
    的頭像 發(fā)表于 10-20 11:18 ?633次閱讀
    如何<b class='flag-5'>選擇</b><b class='flag-5'>合適</b>的SC1溶液<b class='flag-5'>來(lái)</b>清洗硅片

    如何選擇合適的實(shí)時(shí)操作系統(tǒng)

    選擇合適的實(shí)時(shí)操作系統(tǒng)(RTOS,Real-Time Operating System)可能會(huì)影響你在不同行業(yè)的職業(yè)發(fā)展路徑。
    的頭像 發(fā)表于 09-09 14:47 ?1078次閱讀

    Nuvoton_8051_ISP-ICP_Programmer_v7.15中缺少ISP加載器的源代碼怎么解決?

    : isp_code_n76e885_v4.10_comport.bin isp_code_n76e616_v4.10_comport.bin 是否有指向這些引導(dǎo)加載程序的源代碼的鏈接? 以下內(nèi)容為
    發(fā)表于 08-18 06:30

    如何選擇合適的直流負(fù)載或交流負(fù)載?

    如何選擇合適的直流負(fù)載或交流負(fù)載?
    的頭像 發(fā)表于 08-04 17:53 ?1097次閱讀
    如何<b class='flag-5'>選擇</b><b class='flag-5'>合適</b>的直流負(fù)載或交流負(fù)載?

    HarmonyOS AI輔助編程工具(CodeGenie)代碼智能解讀

    本功能從DevEco CodeGenie 5.1.0 Beta版本開(kāi)始支持。 CodeGenie提供智能AI能力對(duì)框選的代碼片段進(jìn)行逐條解釋,總結(jié)代碼段含義,幫助開(kāi)發(fā)者提升閱讀代碼的速
    發(fā)表于 07-17 17:02

    如何選擇合適的物聯(lián)網(wǎng)藍(lán)牙模塊?

    也會(huì)導(dǎo)致更多的信號(hào)干擾。因此,需要根據(jù)具體應(yīng)用場(chǎng)景選擇合適的發(fā)射功率模塊。2、接收靈敏度:接收靈敏度決定了藍(lán)牙模塊能否在多遠(yuǎn)距離內(nèi)成功接收信號(hào)。接收靈敏度越高的模塊,能夠接收信號(hào)的距離就越遠(yuǎn)。因此
    發(fā)表于 06-28 21:46

    【版本控制教程】如何使用Unreal Engine 5 + UE源代碼控制(Perforce P4)

    項(xiàng)目越大,越需要靠譜的版本控制系統(tǒng)。Perforce P4不僅是Epic官方推薦的源代碼控制工具,更是大廠團(tuán)隊(duì)協(xié)作的核心支持之一。如何配置P4+UE?手把手教你怎么用↓↓↓
    的頭像 發(fā)表于 06-25 11:22 ?1536次閱讀
    【版本控制教程】如何使用Unreal Engine 5 + UE<b class='flag-5'>源代碼</b>控制(Perforce P4)

    聚徽一文讀懂——如何根據(jù)工業(yè)需求選擇合適尺寸的手持工業(yè)平板電腦

    在工業(yè)領(lǐng)域,手持工業(yè)平板電腦已成為提升工作效率、優(yōu)化生產(chǎn)流程的重要工具。而選擇合適尺寸的手持工業(yè)平板電腦,對(duì)于滿足特定工業(yè)需求、確保操作便捷性與工作效能至關(guān)重要。以下將詳細(xì)探討如何依據(jù)不同工業(yè)需求
    的頭像 發(fā)表于 06-04 10:30 ?992次閱讀

    如何選擇合適的背負(fù)式AGV小車

    選擇合適的背負(fù)式AGV需要考慮以下幾個(gè)方面: 負(fù)載能力 確定所需搬運(yùn)貨物的重量和尺寸,選擇負(fù)載能力匹配的聯(lián)集背負(fù)式AGV。常見(jiàn)的聯(lián)集背負(fù)式AGV負(fù)載重在200-1000公斤,甚至更高。 工作環(huán)境
    的頭像 發(fā)表于 05-21 16:33 ?609次閱讀

    使用FX3 SDK發(fā)布源代碼是否違反許可?

    使用 FX3 SDK 發(fā)布源代碼是否違反許可? CYPRESS?EZ-USB? FX3 SDK1.3licenselicense.txt ”4. 專有權(quán)利; 到“您同意對(duì)源代碼保密。” 那里寫(xiě)著一句話,所以我想問(wèn)一下以確定。
    發(fā)表于 05-08 06:54

    如何選擇合適的 BNC 連接器?接線工具與配件推薦

    線纜:配套的線纜要與BNC連接器的阻抗匹配。例如,75Ω的BNC連接器應(yīng)搭配75Ω特性阻抗的同軸電纜,如RG-59線纜,確保信號(hào)傳輸全程阻抗匹配,減少信號(hào)失真。 選擇合適的BNC連接器需綜合考慮應(yīng)用場(chǎng)景與性能指標(biāo),搭配優(yōu)質(zhì)的接線工具
    的頭像 發(fā)表于 05-05 11:07 ?763次閱讀
    如何<b class='flag-5'>選擇</b><b class='flag-5'>合適</b>的 BNC 連接器?接線<b class='flag-5'>工具</b>與配件推薦

    如何選擇合適的臺(tái)慶電感?

    選擇合適的臺(tái)慶電感時(shí),需要根據(jù)實(shí)際應(yīng)用場(chǎng)景和使用需求來(lái)考慮多個(gè)因素。以下是一些關(guān)鍵的步驟和考慮因素: 一、了解電感的基本參數(shù) 額定電流 :根據(jù)電路中的功耗和電流負(fù)載來(lái)選擇
    的頭像 發(fā)表于 04-14 15:51 ?774次閱讀

    三環(huán)電容的選型指南:如何根據(jù)電路需求選擇合適型號(hào)?

    三環(huán)電容的選型指南,關(guān)鍵在于根據(jù)電路的具體需求來(lái)選擇合適的型號(hào)。以下是根據(jù)電路需求選擇三環(huán)電容型號(hào)的詳細(xì)步驟: 一、明確電路需求 首先,需要明確電路對(duì)電容的具體需求,包括電容值、耐壓值
    的頭像 發(fā)表于 03-21 15:08 ?1120次閱讀
    三環(huán)電容的選型指南:如何根據(jù)電路需求<b class='flag-5'>選擇</b><b class='flag-5'>合適</b>型號(hào)?

    27個(gè)FPGA實(shí)例源代碼

    本資料收集匯總了27個(gè)FPGA實(shí)例源代碼,有需要的可以下載學(xué)習(xí)! 獲取完整文檔資料可下載附件哦!?。?!如果內(nèi)容有幫助可以關(guān)注、點(diǎn)贊、評(píng)論支持一下哦~
    發(fā)表于 03-14 17:31