配置步骤
在进行 Linux 内核代码阅读和嵌入式开发时,选择合适的开发工具至关重要。VSCode 是一个流行的跨平台编辑器,并且它的扩展生态系统非常强大。在这篇博客中,我们将介绍如何使用 VSCode Clangd 插件来提高 Linux 内核代码的阅读和嵌入式开发效率。
Clangd 是一个基于 Clang 的语言服务器,它提供了代码智能感知和导航功能。通过与 VSCode 集成,可以实现以下功能:
- 代码补全和自动提示:Clangd 可以根据代码上下文提供准确的补全建议和自动提示,帮助开发者快速编写代码。
- 代码跳转和导航:Clangd 可以识别代码中的符号引用、函数调用等,并支持跳转到定义、查看声明等操作,便于阅读和理解复杂的内核源代码。
- 实时错误和警告检查:Clangd 可以实时检查代码中的语法错误、潜在问题和警告信息,帮助开发者及早发现和修复问题。
- 重构支持:Clangd 提供了一些重构功能,如重命名变量、提取函数等,可以简化代码重构的过程。
要使用 Clangd 插件进行 Linux 内核代码阅读和嵌入式开发,你可以按照以下步骤进行配置:
1. 安装并配置 VSCode 和 Clangd 插件
1.1 下载clangd插件
首先确保你已经安装了最新版本的 VSCode,并在扩展商店中搜索并安装 Clangd 插件。
配置 Clangd 插件:打开 VSCode 设置(快捷键:Ctrl + ,),搜索 “clangd” 并找到 Clangd 的相关配置项。根据你的需求,可以自定义一些设置,如编译选项、头文件路径等。
1.2 下载clangd安装包
我放在百度网盘里了(链接:https://pan.baidu.com/s/1R-pYpKz489hFZa-Z6CD9KQ
提取码:9jtm)
1.3 配置插件的设置
1.3.1 点击齿轮
1.3.2 点击extension settings
1.3.3 设置clangd path
将clangd设置为刚才下载的安装包的路径,这样clangd就配置好了,但是为什么要下载插件还要下载安装包呢,vscode下载的插件的位置在哪,直接配置下载插件的位置不就行了,这些问题我也没搞清楚,我只是知道vscode插件下载的位置,vscode的插件一般在home目录下的隐藏文件夹.vscode里,但是我好像没找到可执行的clangd文件。
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会自动索引,会自动生成一个隐藏文件夹
然后就是把linux源码文件和自己的代码放到同一个工作区,上边已经打开linux源码文件夹了,vscode将文件夹作为一个工作区,现在就是将工作区另存为,因为我们不可能把自己写的代码加到linux源码里,所以要先另存为,然后把自己的代码文件夹加进来
我是存到驱动学习的目录里了,名字的话我没改,xunwei文件夹是我写的代码,
然后将xunwei文件夹加进来
目前的一个目录结构大概就是这样
2.2 使用bear命令编译自己的代码
编译自己的代码的时候也要用bear make编译,才会生成.json文件
2.3 最重要的一点
查看自己的交叉编译器是什么
修改json里边的"cc"为"“arm-linux-gnueabihf-gcc”,注意是全部修改,ctrl+F进行全部替换,我之前就是没有全部替换,出现问题了。
总结:
虽然还是有好多不理解的,但是这个步骤做下来应该是可以正常进行代码跳转、补全了,现在你可以开始浏览和阅读 Linux 内核代码了!Clangd 将会为你提供代码补全、跳转等功能,极大地提升了代码的阅读和理解效率。
无论是专注于代码阅读还是进行嵌入式开发,Clangd 插件都是一个强大的辅助工具。希望本篇博客能帮助你快速上手并充分利用这个插件,提升你的 Linux 内核代码开发能力!
版权归原作者 小白程序员的成长之路 所有, 如有侵权,请联系我们删除。