1、背景介绍上一篇文章:VScode结合Global构建linux源代码阅读环境,介绍了在VSCode工具中通过remote-ssh远程登陆到Linux远程服务器,使用Global构建linux源代码阅读环境,对linuxkernel代码进行解析,实现全局搜索、自动跳转、代码补全等功能,但是Global工具在建立代码索引数据时,将整个Linux源代码都进行了数据检索分析,这样会有很多重复的定义和声明,不够智能,不够方便,接下来介绍使用vscode+clangd工具来解决此问题。2、原理介绍clangd可以实现代码语义分析、代码补全、跳转等,能做到代码精准跳转、精准自动补全;其原理是通过读取工程
Linux下使用VScode开发ROS时clangd插件的使用本人在最近刚开始接触Linux和ROS开发,在开发过程中发现,微软的C/C++的intelliSense的代码补全,纠错等功能是真的难用,恰好有学长跟我提起了clangd这个东西,而且以前用clion去写一些小的C/C++工程,想着怎么去配置一下在vscode上使用clangd,让自己写代码更舒服一些(主要是太懒了),于是就有了这篇文章。由于本人是初学者,懂的东西很少,折腾了一天只是能做到能用clangd的一些功能。可能文章中也有些错误和术语使用错误,敬请各位指出,能给我一个学习改进的机会。1.首先安装Vscode就不多说了,也有很
1.clangd原理介绍clangd插件用于代码语义分析、代码补全、跳转等。能做到代码精准跳转、精准自动补全,其根本原理是通过读取工程编译自动生成的compile_commands.json文件来索引其中包含的源文件和关联的头文件,因此能避免索引非编译的代码造成解析时语义混乱。compile_commands.json文件就是由每个源文件的编译参数、路径等信息组成的一个json文件,clangd通过这个文件可以准确定位源文件需要引用的头文件从而准确的找到各种宏定义、函数、变量声明的准确值了。那么问题来了,编译内核的时候也没有生成compile_commands.json这个文件呀。这个文件在编
这套环境是VSCode+MinGW(MSYS2)+Clangd+Xmake的配置。MinGW网上很多教程引导去的MinGW-w64gcc版本只更新到了8.1.0就停更了,而实际中gcc版本已经到达12了,因此我们使用MSYS2去安装GCC。首先使用scoop安装msys2(在mainbucket中就有):scoopinstallmsys2终端中输入msys2进入环境,下载minGW:pacman-Smingw-w64-x86_64-toolchain下面会提示选择哪些工具,如果不是硬盘空间实在有限的话,直接回车默认安装全部即可。随后找到minGW的bin目录(这里推荐一手Listary,直接搜
这套环境是VSCode+MinGW(MSYS2)+Clangd+Xmake的配置。MinGW网上很多教程引导去的MinGW-w64gcc版本只更新到了8.1.0就停更了,而实际中gcc版本已经到达12了,因此我们使用MSYS2去安装GCC。首先使用scoop安装msys2(在mainbucket中就有):scoopinstallmsys2终端中输入msys2进入环境,下载minGW:pacman-Smingw-w64-x86_64-toolchain下面会提示选择哪些工具,如果不是硬盘空间实在有限的话,直接回车默认安装全部即可。随后找到minGW的bin目录(这里推荐一手Listary,直接搜