当前位置: 首页 > news >正文

vscode+EIDE+Clangd环境导入keil C51以及MDK工程

我最近一直在使用vscode+clangd的编译环境替代了vscode自带的c/c++插件。感觉clangd的环境更加优秀,能够更好找到函数、全局变量等定义调用等。

如果使用keil C51以及MDK环境开发51单片机或者STM32单片机就需要使用到了EIDE这个插件这个插件现在能够自动生成compile_commands.json文件,这样clangd插件就可以找到并生成“.cache”文件夹。就可以愉快的玩耍了。(c/c++就可以先禁掉了)。下面是具体过程。

一、以下是keil MDK工程导入方法。

这里选择“no”的好处就是EIDE插件生成相关文件在指定文件夹中,不会污染工程文件。

EIDE插件自动生成这些重要文件以及文件夹。

其中build文件夹下的子文件夹有clangd需要的compile_commands.json文件。

.clangd文件夹可以指定头文件路径。

还是好多头文件、函数无法找到。

这个时候就需要在clangd插件中指定“compile_commands.json”所在路径了

最后,右键---》命令面板---》clangd:Restart Language Server

二、keil C51工程EIDE调入

到这里自动生成EIDE相关文件尤其是build文件夹以及.clangd文件,不用做什么build文件夹下的compile_commands.json文件已经被clangd识别了。

但是现在有一个问题就是reg51文件找不到。这就需要用的.clangd文件了

改成:

右键---》命令面板---》Clangd:Restart Language Server

最后:需要注意的是路径、文件名不能有中文,否则无法识别。

keil C51导入工程的时候也可以自己指定一个文件夹,但是需要自己在clangd的配置中指定compile_commands.json的路径。以及在工程文件所在文件夹下创建一个.clangd文件夹,指定头文件reg51.h所在路径。

也就说EIDE自己生成的.clangd文件不起作用。(可能是一个bug)

http://www.dtcms.com/a/359653.html

相关文章:

  • PortSwigger靶场之Stored XSS into HTML context with nothing encoded通关秘籍
  • AG32 Nano开发板的烧录与调试工具(二)
  • LabVIEW 瀑布图与游标操作
  • Python人工智能机器学习汇总
  • MySQL 常用语法
  • CTFshow系列——命令执行web69-72
  • 贝叶斯分类(Bayes Classify)
  • 【嵌入式DIY实例】-空中鼠标
  • Ubuntu安装NVIDIA显卡驱动
  • C#基础(③CMD进程)
  • 【C2000】C2000的国产替代现状与技术关键路径
  • unity3d 中 R3 实际使用 安装方法
  • 吴恩达机器学习作业十 PCA主成分分析
  • 【量化回测】backtracker整体架构和使用示例
  • arm容器启动spring-boot端口报错
  • linux 内核 - 常见的文件系统介绍
  • 【K8s】整体认识K8s之存储--volume
  • shell脚本(略)
  • 【Flink】并行度的设置
  • nrf52840 flash 分区
  • 3【鸿蒙/OpenHarmony/NDK】如何在鸿蒙应用中使用NDK?
  • 线阵相机和镜头选型案例介绍
  • 【不懂就问】-手机相关学习
  • 打开多个Excel文件后快速关闭所有的文档,并且退出Excel应用
  • Docker一小时快速上手(附报错解决方式)
  • 并发编程——11 并发容器(Map、List、Set)实战及其原理分析
  • deep seek的对话记录如何导出
  • CICD实战(1) - 使用Arbess+GitPuk+Docker快速实现项目打包构建、docker部署
  • 视频理解与行为识别全景综述
  • 计算机网络:(十六)TCP 的运输连接管理