使用VSCode clangd插件进行linux内核代码阅读和嵌入式开发

这篇具有很好参考价值的文章主要介绍了使用VSCode clangd插件进行linux内核代码阅读和嵌入式开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


在进行 Linux 内核代码阅读和嵌入式开发时,选择合适的开发工具至关重要。VSCode 是一个流行的跨平台编辑器,并且它的扩展生态系统非常强大。在这篇博客中,我们将介绍如何使用 VSCode Clangd 插件来提高 Linux 内核代码的阅读和嵌入式开发效率。

Clangd 是一个基于 Clang 的语言服务器,它提供了代码智能感知和导航功能。通过与 VSCode 集成,可以实现以下功能:

  1. 代码补全和自动提示:Clangd 可以根据代码上下文提供准确的补全建议和自动提示,帮助开发者快速编写代码。

  2. 代码跳转和导航:Clangd 可以识别代码中的符号引用、函数调用等,并支持跳转到定义、查看声明等操作,便于阅读和理解复杂的内核源代码。

  3. 实时错误和警告检查:Clangd 可以实时检查代码中的语法错误、潜在问题和警告信息,帮助开发者及早发现和修复问题。

  4. 重构支持:Clangd 提供了一些重构功能,如重命名变量、提取函数等,可以简化代码重构的过程。

要使用 Clangd 插件进行 Linux 内核代码阅读和嵌入式开发,你可以按照以下步骤进行配置:

1. 安装并配置 VSCode 和 Clangd 插件

1.1 下载clangd插件

首先确保你已经安装了最新版本的 VSCode,并在扩展商店中搜索并安装 Clangd 插件。
vscode阅读linux内核,vscode,linux,ide

配置 Clangd 插件:打开 VSCode 设置(快捷键:Ctrl + ,),搜索 “clangd” 并找到 Clangd 的相关配置项。根据你的需求,可以自定义一些设置,如编译选项、头文件路径等。

1.2 下载clangd安装包

我放在百度网盘里了(链接:https://pan.baidu.com/s/1R-pYpKz489hFZa-Z6CD9KQ
提取码:9jtm)
vscode阅读linux内核,vscode,linux,ide
vscode阅读linux内核,vscode,linux,ide

1.3 配置插件的设置

1.3.1 点击齿轮

vscode阅读linux内核,vscode,linux,ide

1.3.2 点击extension settings

vscode阅读linux内核,vscode,linux,ide

1.3.3 设置clangd path

vscode阅读linux内核,vscode,linux,ide
将clangd设置为刚才下载的安装包的路径,这样clangd就配置好了,但是为什么要下载插件还要下载安装包呢,vscode下载的插件的位置在哪,直接配置下载插件的位置不就行了,这些问题我也没搞清楚,我只是知道vscode插件下载的位置,vscode的插件一般在home目录下的隐藏文件夹.vscode里,但是我好像没找到可执行的clangd文件。
vscode阅读linux内核,vscode,linux,ide

2. 使用bear命令编译linux源码及自己的代码

2.1 使用bear命令编译linux源码

book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ make 100ask_imx6ull_defconfig 
book@100ask:~/100ask_imx6ull-sdk/Linux-4.9.88$ bear make zImage -j4

我的是韦东山imx6ull开发板,只需在第二项中加入bear命令即可,没有安装bear的话sudo装一下,编译完成之后就会有一个compile_commands.json文件,使用vscode open folder打开源码文件,随便打开一个.c文件,clangd会自动索引,会自动生成一个隐藏文件夹
vscode阅读linux内核,vscode,linux,ide

然后就是把linux源码文件和自己的代码放到同一个工作区,上边已经打开linux源码文件夹了,vscode将文件夹作为一个工作区,现在就是将工作区另存为,因为我们不可能把自己写的代码加到linux源码里,所以要先另存为,然后把自己的代码文件夹加进来
vscode阅读linux内核,vscode,linux,ide
我是存到驱动学习的目录里了,名字的话我没改,xunwei文件夹是我写的代码,
vscode阅读linux内核,vscode,linux,ide

然后将xunwei文件夹加进来
vscode阅读linux内核,vscode,linux,ide
目前的一个目录结构大概就是这样
vscode阅读linux内核,vscode,linux,ide

2.2 使用bear命令编译自己的代码

编译自己的代码的时候也要用bear make编译,才会生成.json文件
vscode阅读linux内核,vscode,linux,ide

2.3 最重要的一点

查看自己的交叉编译器是什么
vscode阅读linux内核,vscode,linux,ide
修改json里边的"cc"为"“arm-linux-gnueabihf-gcc”,注意是全部修改,ctrl+F进行全部替换,我之前就是没有全部替换,出现问题了。

总结:

虽然还是有好多不理解的,但是这个步骤做下来应该是可以正常进行代码跳转、补全了,现在你可以开始浏览和阅读 Linux 内核代码了!Clangd 将会为你提供代码补全、跳转等功能,极大地提升了代码的阅读和理解效率。

无论是专注于代码阅读还是进行嵌入式开发,Clangd 插件都是一个强大的辅助工具。希望本篇博客能帮助你快速上手并充分利用这个插件,提升你的 Linux 内核代码开发能力!文章来源地址https://www.toymoban.com/news/detail-698247.html

到了这里,关于使用VSCode clangd插件进行linux内核代码阅读和嵌入式开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用VScode + clangd 阅读 c/c++ 源码环境搭建

    在嵌入式软件开发的工作中,我们常常需要分析C/C++代码,比如linux kernel 的代码,而公司的代码一般都会存放在服务器中,服务器一般是linux,且无法联网,我们只能通过本地笔记本ssh访问服务器,这就导致阅读linux 源码时,需要跳转定义、声明时比较麻烦,本文就介绍了使

    2024年02月10日
    浏览(42)
  • 【vscode基于clangd实现Android/Linux代码跳转】

    背景: 在开发大型工程例如Android或Linux时若我们使用vscode搭配官方的C/C++插件使用发现,经常很多代码都无法跳转,代码补全功能几乎是废的,通过网友以及同事身边了解之后发现 vscode+clangd可以实现代码任意跳转补全等功能 ,因此本文通过讲解如何配置clangd相关环境实现高

    2024年02月11日
    浏览(37)
  • VSCode使用clangd构建Linux驱动开发环境

    最初在使用Linux内核源码进行驱动开发时,由于没有代码补全、自动提示等功能写起来十分不方便,虽然有人使用Source Insight来阅读源码,但是我用起来还是感觉怪怪的,有时间同一个函数会找到很多的定义,不便判断。在调用层次方面,还是clangd更好用。 Clangd 是一个基于

    2024年01月16日
    浏览(55)
  • VSCode使用插件Github Copilot进行AI编程

    演示示例 函数封装 根据上下文 根据注释 详情请看GitHub Copilot 安装插件 在VS Code中安装插件 GitHub Copilot 登录账号 点击VS code左下角账户图标,点击【Sign in】,会自动在浏览器打开Github登录页,登录 具有 Github Copilot 服务 的 Github 帐号。 登录成功后,在VSCode 右下角有 Copilot 激

    2024年02月05日
    浏览(51)
  • 使用VSCode的 Dev Containers 插件搭配Docker 容器进行开发环境的搭建

    需要安装插件 https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers 安装Docker 这样做的好处 每一个项目可以运行一个容器,在容器内开发,相关之间node环境隔离,彻底解决本地包版本依赖关错乱问题 共用宿主机的git 配置, 如果用的是 alpine 版本的镜像,则没有

    2024年01月21日
    浏览(60)
  • 关于在Vscode安装clangd的教程(分别在linux和windows)[很详细,很细节,很全!]【Windows端:缺少 language enginee的解决方法】

    一.背景: 在Vscode中,使用c/c++ 编译器(插件),但是自带的补全语法不好 clang 也是个编译器,而其对应的clangd的补全语法的功能很友善 所以在Vscode中,我们可以使用插件c/c++编译和执行,但是补全的语法用clangd,话不多说,直接开干! 安装分为2部分,linux端和本地端 1.先在

    2024年02月20日
    浏览(33)
  • VsCode使用EmmyLua插件调试Unity工程Lua代码

    一、VSCode安装EmmyLua  二、添加配置文件 三、设置配置文件 执行完第二步会弹出添加好的launch.json配置文件,这个文件只需要修改“ideConnectDebugger” = false,其他一般不用修改。    四、添加Lua断点调试入口 luaEnv变量必须为全局唯一 路径标红的地方配上你的正确路径名 var p

    2024年02月13日
    浏览(44)
  • VSCode超强代码补全插件——GPT Runner的安装与使用

    一、插件安装 插件安装就不过多赘述了,直接上图 二、配置插件 1、任意打开一个文件,就会发现在VSCode右上角出现了一个小绿标,我们把它点开。 2、然后出现一个展示框,直接无脑带你confirm即可。 3、点击confirm之后,就会进入文件树页面,其他的不用管,我们点击上方的

    2024年02月03日
    浏览(46)
  • 1、怎么阅读linux内核源码

    : 了解C语言和操作系统的基本概念对于理解内核代码至关重要。如果对C语言和操作系统的基础知识感到陌生,可以先学习相关的教材或课程。 Linux内核非常庞大,涵盖了多个子系统和功能。因此,选择您感兴趣的子系统或功能模块,有助于更有针对性地学习和研究相关的代

    2024年02月15日
    浏览(34)
  • 为vscode配置clangd

    clangd能提供更好的补全和提示,自带检查一些warning的问题,可以减少大家未来找存在的warning的时间。经过配置可以在unittest和timetest中也实现自动补全,平均速度比vscode c/c++插件更快。 在插件市场搜索clangd。安装即可。注意c/c++可以不用卸载,否则调试可能会有点问题。 在

    2023年04月08日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包