0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何选择合适的工具来阅读源代码

strongerHuang 来源:Mculover666 作者:Mculover666 2022-03-30 14:01 次阅读

在做嵌入式 Linux 软件开发的时候,经常会阅读大型工程源码,比如 uboot 源代码,Linux Kernel 源码等。

所以,选择一个合适的工具来阅读源代码,变为了一个经久不衰的话题

阅读源码的时候,其实无非也就两个重要的功能:

① 定义或者声明快速跳转

② 快速搜索指定内容

另外还有一些功能是和开发体验相关的,比如:

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

② 工具是否方便修改编辑内容

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

目前常用的就是 Source Insight 和 VS Code,下面就来按照上述需求进行对比,看看哪个更适合?

创建代码工程

Source Insight 在阅读工程代码时,可以通过创建 Source Insight 工程来选择哪些文件加入,哪些文件不加入。

对于 uboot 这种包含有大量板级文件夹的工程,加入之后其中的文件只和目前移植的这款处理器有关,这个功能是非常有优势的,也是众多工程师喜爱 Source Insight 的原因。

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

相比之下,VS Code并不提供这种选择加入的功能,VS Code 非常粗暴,文件夹就是工作区,只需要打开源码文件夹,所有文件全部加入:

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

相比之下,我觉得 Source Insight 胜出,VS Code 这种将所有文件一股脑全部加入的方式,在查找文件时非常麻烦。

文件架构

在 Source Insight 中,打开一个文件的时候,会列出当前文件中所有预处理、宏定义、变量、函数的架构,如图:

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

在 VS Code 中打开文件时也有同样的功能,但又是一股脑的按照顺序将所有函数声明和定义列出,实际查看时也没有什么太多作用:

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

在文件整体架构方面,Source Insight 胜出,VS Code 对于代码架构方面的显示,还需要再优化。

定义跳转功能

在 Source Insight 中,可以右键跳转函数声明或者直接按住 Ctrl 点击函数名称,如果定义有重复会先提示,供你选择,如图:

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

在 VScode 中,首先需要安装 C/C++扩展,然后才支持定义跳转,可以按住 Ctrl 键点击或者右键跳转:

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

如果有重复也会出现提示,选择需要查看哪个定义。在定义跳转功能上,两者持平,功能基本都够用。

全局搜索指定内容

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

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

在 VS Code 中也提供了全局搜索的功能,但是由于它将所有文件都包含进来了,无用的搜索结果比较多:

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

所以,在搜索功能上,由于 Source Insight 先天性的优势,本轮胜出。

主题设置

阅读源码需要很长时间,所以提供一个舒服的主题也是很重要的。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 上编译,但是我日常使用的系统是 Windows,所以我一般将 VSCode 安装在 Windows 上,使用 VS Code 提供的远程 SSH 功能,去连接远程 Linux 主机,它会将远程主机上的目录直接作为工作区,另外还提供了集成终端,修改后直接在终端中编译即可,如图:

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

另外,VSCode 内部集成了 git 可视化功能,可以方便的使用 git 管理代码。相比之外,Source Insight 在修改文件之后,还需要把修改的文件上传到 Linux 服务器去编译,过程有点繁琐。所以,在额外功能的扩展性上,我觉得 VScode 胜出。

总结

经过上述比较,我来说说我的体验和看法:Source Insight 就像是一个老大哥,基本功很扎实,比如源码查看,文件架构列表这些,很方便实用,在阅读代码的时候非常方便,但在开发时相对不太方便。对于它的文件选择加入功能,其实我是不太喜欢的,这么庞大的源码工程,既然我知道哪些文件有用,哪些文件没用,那我还看啥呢?所以对初学者不太友好。而 VS Code 呢,就是一个年轻小伙,后起之秀,比如主题随便换,可以远程连接 Linux 主机进行开发,Git 可视化扩展等等,各种炫酷功能,但是基本功太不扎实,在阅读源码时的基础功能没做好,但是在开发时非常顺手。

原文标题:两款工具对比:Source Insight vs VS Code

文章出处:【微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

审核编辑:彭菁
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19083

    浏览量

    228729
  • Linux
    +关注

    关注

    87

    文章

    11196

    浏览量

    208667
  • 源代码
    +关注

    关注

    96

    文章

    2943

    浏览量

    66602

原文标题:两款工具对比:Source Insight vs VS Code

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何选择合适的电感器匹配感性负载?

    在匹配感性负载时,选择合适的电感器是至关重要的。电感器的主要作用是抑制电流变化,从而维持电路的稳定性。为了确保电路的稳定运行,需要考虑以下因素: 电流和电压:首先,需要确定电感器的额定电流和额定电压
    发表于 10-22 15:50

    源代码解析工具与自动化流程图生成解决方案

      摘要:CasePlayer2是一款强大的源代码解析工具,专门设计用于分析ANSI C、C、C++以及汇编语言源代码,并自动化地生成流程图等文件。该工具集成了多种功能,包括MISRA
    的头像 发表于 10-10 13:40 110次阅读

    怎样选择合适的MOSFET

    怎样选择合适的MOSFET
    的头像 发表于 10-01 08:01 146次阅读
    怎样<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的MOSFET

    如何选择合适的过载保护器

    选择合适的过载保护器是确保电气系统安全稳定运行的关键步骤。以下将详细阐述如何选择合适的过载保护器,包括考虑的因素、选择步骤以及注意事项。
    的头像 发表于 09-06 11:53 412次阅读

    hex可以转成源代码

    ,可以通过以下几种方法尝试获取源代码的近似形式: 反汇编 : 使用反汇编工具可以将Hex文件中的机器码转换回汇编语言。汇编语言是一种低级语言,它更接近于机器码,但仍然具有一定的可读性。 通过反汇编得到的汇编代码可以提供程序
    的头像 发表于 09-02 10:41 615次阅读

    企业如何保护源代码安全?做好源代码防泄密工作

    出现了相似或相同功能的产品。这无疑引发了企业管理者们对于企业源代码数据泄漏的深深忧虑。 许多企业错误地认为,只要采用了版本管理工具如Git或SVN,代码安全问题就得到了保障。然而,事实并非如此。版本管理
    的头像 发表于 05-22 16:01 406次阅读

    如何根据需求选择合适的新加坡VPS操作系统?

    选择合适的新加坡VPS操作系统您需要考虑哪些因素,如何根据需求选择合适的新加坡VPS操作系统?rak部落小编为您整理发布选择
    的头像 发表于 05-10 11:14 372次阅读
    如何根据需求<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的新加坡VPS操作系统?

    【开源鸿蒙】下载OpenHarmony 4.1 Release源代码

    本文介绍了如何下载开源鸿蒙(OpenHarmony)操作系统 4.1 Release版本的源代码,该方法同样可以用于下载OpenHarmony最新开发版本(master分支)或者4.0 Release、3.2 Release等发布版本的源代码
    的头像 发表于 04-27 23:16 757次阅读
    【开源鸿蒙】下载OpenHarmony 4.1 Release<b class='flag-5'>源代码</b>

    怎样选择合适的贴片电解电容?

    。 2.考虑电路需求 你需要根据你的电路需求选择合适的贴片电解电容。例如,如果你的电路需要一个能够承受25V耐压、存储10uF电容量的高频电解电容,那么你就需要选择一个满足这些条件的
    的头像 发表于 03-14 14:23 456次阅读
    怎样<b class='flag-5'>选择</b><b class='flag-5'>合适</b>的贴片电解电容?

    如何选择合适的负载功率确保电源适配器的正常工作?

    负载功率对电源适配器有何影响?如何选择合适的负载功率确保电源适配器的正常工作? 负载功率对电源适配器的影响包括功率损耗、热量产生、效率降低等方面。选择
    的头像 发表于 01-30 16:51 961次阅读

    源代码审计怎么做?有哪些常用工具

    源代码审计是一种通过检查源代码发现潜在的安全漏洞的方法。 下面是常用的源代码审计工具: 1、Fortify:通过内置的五大主要分析引擎,对
    发表于 01-17 09:35

    智能制造行业--客户现场调试源代码如何防泄密

    我国近几年传统制造向智能制造的转变,很多制造企业不仅有自己公司的图纸文件需要保密,企业的有很多源代码也需要保密,但是对于源代码采用图纸防泄密的方式是不可取的,源代码防泄密比图纸文件防泄密做起来更加
    的头像 发表于 01-11 16:27 417次阅读
    智能制造行业--客户现场调试<b class='flag-5'>源代码</b>如何防泄密

    为什么安秉信息的源代码防泄密软件这么稳定?

    现在很多研发性企业都会意识到企业的源代码文件需要防泄密保护,现在很多企业对于源代码只是用了git或svn版本管理服务器进行了简单的代码统一管控。虽然现在对于源代码防泄密,有专业的
    的头像 发表于 12-05 10:21 494次阅读
    为什么安秉信息的<b class='flag-5'>源代码</b>防泄密软件这么稳定?

    安秉信息源代码图纸防泄密方案,电路图纸,源代码文件

    安秉信息源代码图纸防泄密方案,电路图纸,源代码文件
    发表于 12-01 16:56 0次下载

    PCB表面处理的选择和优化,如何选择合适的工艺?

    PCB表面处理的选择和优化,如何选择合适的工艺?
    的头像 发表于 11-24 17:16 701次阅读