硬汉嵌入式论坛

 找回密码
 立即注册
查看: 777|回复: 10
收起左侧

[MDK] 根据Keil工程生成vscode和clion实现精确跳转的compile_commands.json文件

[复制链接]

2

主题

19

回帖

25

积分

新手上路

积分
25
发表于 2025-8-11 15:03:59 | 显示全部楼层 |阅读模式
如题,使用keil的建立的工程在使用vscode或者clion查看代码的时候是不能直接根据工程建立对应的函数依赖关系的,vscode的语言服务器只是靠猜测对应关系,要实现宏的精准化解析和函数的精确对应跳转需要依靠compile_commands.json文件。

这里我编写了一个python脚本可以将keil的工程解析成对应的compile_commands.json文件,会用python的可以直接用python生成,不会用的也可以用我打包好的exe文件。
工程开源到了GitHub,可以看下介绍,链接: https://github.com/huiyi-li/keil2clangd
下面放的是vscode配置使用compile_commands.json文件的截图

Keil2Json.zip

8.22 MB, 下载次数: 21

exe可执行脚本

评分

参与人数 1金币 +100 收起 理由
eric2013 + 100 很给力!

查看全部评分

回复

使用道具 举报

4

主题

421

回帖

433

积分

高级会员

积分
433
发表于 2025-8-11 15:59:21 | 显示全部楼层
利害啊,不过是否重复造轮子了呢,插件市场Keil uVision Assistant一直有更新哦.

上次发布时间 2025-07-22, 10:49:44
加载 Keil C51/C251/ARM 项目,并以 Keil 项目资源管理器的展示方式显示项目视图
自动监视 keil 项目文件的变化,及时更新项目视图
通过调用 Keil 命令行接口实现 编译,重新编译,烧录 keil 项目
自动生成 c_cpp_properties.json 文件,使 C/C++ 插件的语法分析能正常进行
回复

使用道具 举报

2

主题

19

回帖

25

积分

新手上路

积分
25
 楼主| 发表于 2025-8-12 09:56:46 | 显示全部楼层
cctv180 发表于 2025-8-11 15:59
利害啊,不过是否重复造轮子了呢,插件市场Keil uVision Assistant一直有更新哦.

上次发布时间 2025-0 ...

不知道是哪个项目呢,能不能推荐一下,我看之前的那个已经很久不更新了,我这个自己的用法就是执行命令就行了不用做很多配置,如果有好的软件可以推荐下,后面可能打算支持下IAR这些的解析
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
118312
QQ
发表于 2025-8-12 09:59:28 | 显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

25

主题

234

回帖

309

积分

高级会员

积分
309
QQ
发表于 2025-8-13 09:58:28 | 显示全部楼层
这个好

比 keil 系列插件好,那些都要给他配 keil 路径,电脑上没有 keil 就尴尬了。我喜欢这种散装的特攻软件,不要集成。
回复

使用道具 举报

4

主题

182

回帖

194

积分

初级会员

积分
194
发表于 2025-8-13 11:51:29 | 显示全部楼层
只能用clangd来跳转吗
回复

使用道具 举报

2

主题

19

回帖

25

积分

新手上路

积分
25
 楼主| 发表于 2025-8-13 14:59:53 | 显示全部楼层
浴火重生 发表于 2025-8-13 11:51
只能用clangd来跳转吗

c.cpp插件也可以的指定 compile_commands.json就能加速跳转
回复

使用道具 举报

16

主题

78

回帖

126

积分

初级会员

积分
126
发表于 5 天前 | 显示全部楼层
厉害 之前都是用cmake生成的
回复

使用道具 举报

4

主题

182

回帖

194

积分

初级会员

积分
194
发表于 4 天前 | 显示全部楼层
IAR什么时候也支持下,就好了
回复

使用道具 举报

2

主题

19

回帖

25

积分

新手上路

积分
25
 楼主| 发表于 4 天前 | 显示全部楼层
浴火重生 发表于 2025-9-22 16:59
IAR什么时候也支持下,就好了

看最新release页面,今天做了支持,可以测试下效果。
回复

使用道具 举报

3

主题

39

回帖

48

积分

新手上路

积分
48
发表于 3 天前 | 显示全部楼层
不错不错                  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-9-26 11:43 , Processed in 0.073341 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表