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

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.xdnf.cn/news/19547.html

相关文章:

  • shell脚本第六阶段---三剑客之sed
  • C++日志系统:高效异步日志实现解析
  • LeetCode 36. 有效的数独 - 解题思路与实现详解
  • ans.1中的对象标识符OBJECT_IDENTIFIER----OID
  • 【机器学习基础】决策树算法原理及其在无人驾驶技术中的应用
  • Matplotlib:让数据在Python中跳舞的魔法画笔![特殊字符]
  • 基于FPGA的正弦波和及滤波(已通过仿真和上板)
  • 如何确定虚拟机的IP
  • DVWA靶场通关笔记-SQL Injection (Impossible级别)
  • [ Android Audio 篇 ] 高通平台 Android AudioRecord 多通道录音
  • LangChain中Prompt处理机制的技术架构与核心思想分析
  • STL库——stack/queue(类函数学习)
  • 切片语法[::-1]及其可用的类型
  • 基于STM32设计的智能家居控制系统(华为云IOT)_275
  • 2023年IEEE IOTJ SCI1区TOP,动态环境下无人机目标覆盖任务路径规划,深度解析+性能实测
  • KingbaseES JDBC 驱动详解:连接、配置与最佳实践
  • 介绍Ansible和实施Ansible PlayBook
  • pinia状态管理工具
  • Redis核心原理与Java应用实践
  • 洞悉边界:软件测试中边界值分析的艺术与科学
  • OpenJDK 17 解释器分发表与安全点表机制解析
  • 零基础入门AutoSar中的ARXML文件
  • 【Flask】测试平台开发,产品管理功能UI重构-第九篇
  • Kubernetes 服务发现与健康检查详解
  • 搭建卷积神经网络
  • 软考 系统架构设计师系列知识点之杂项集萃(139)
  • C++11语言(三)
  • Nginx实现P2P视频通话
  • codecombat(Ubuntu环境详细docker部署教程)
  • 项目-云备份