硬汉嵌入式论坛

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

[开发工具] 用vscode开发keil工程

  [复制链接]

2

主题

7

回帖

13

积分

新手上路

积分
13
发表于 2021-11-8 17:27:24 | 显示全部楼层 |阅读模式
用vscode开发keil工程开发环境
最近准备重新上手stm32的开发,但是keil使用起来非常令人恼火,跳转搜索之类的功能做的真的拉。所以找了几种避开keil编辑器的开发方式。
  • keil进行编译烧录,用一个好用的编辑器进行代码编辑。
  • vscode中配置好cmake 和 gcc以及 openocd,完成代码编辑,编译,仿真,烧录。
  • cubeide, 一款st自己推出的ide,好像是基于eclipse开发的。

权衡利弊之后,我选择了第一种方案。先说一说其他两种的优缺点。
第二种我是非常看好的,但是涉及的东西太多,现在没有太多精力折腾,先种个草,以后有空了研究一下。
第三种也是不错的选择,内置cubemx,可以完成很多自动化配置。缺点是DAPLink支持可能不是很好,而且更换ide对我来说还是有一定的试错成本的。
编辑器选择
选择了第一种方案之后,编辑器的选择就是下一个问题。网上用的比较多的是VSCode和SourceInsight。
虽然sourceInsight的文件架构显示和搜索功能更胜一筹,但是在VSCode颜值上的碾压一下子就抹平了上述差距。更何况在插件的支持下,选择VSCode就是选择了未来。
Keil Assistant
Keil Assistant这个插件给我了很大的惊喜。最初我的想法是,在VSCode中加上 c/c++ 插件,在c_cpp_properties.json中添加了keil中的include和宏之后,就行了。
但是遇到了Assistant这个插件,实现了上述所有功能,并且能调用keil的api在VSCode中进行编译,烧录。而且解决了VSCode会将工程文件一股脑地加到文件列表里,层级混乱的问题。Assistant中会用keil的工程结构打开,这点很赞。
Assistant也有一点小小的问题,编译和烧录的快捷键是没办法使用的。所以我搜了下,发现是插件本身的bug,作者在github的源码里应该是修复了,但是并没有更新到vscode插件商店里。

并且表示插件停止更新,有些可惜。


image-20211108171355328.png
image-20211108172006124.png
回复

使用道具 举报

25

主题

287

回帖

367

积分

高级会员

积分
367
发表于 2021-11-8 22:29:01 | 显示全部楼层
使用Keil Assistant插件也不是很好用,比如vscode里搜索不好用,经常需要在keil和vscode之间来回切换,
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2021-11-8 23:04:32 | 显示全部楼层
爱恋之燕 发表于 2021-11-8 22:29
使用Keil Assistant插件也不是很好用,比如vscode里搜索不好用,经常需要在keil和vscode之间来回切换,

有什么好用的方案吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
发表于 2021-11-9 00:34:08 | 显示全部楼层
谢谢分享,不错,就是编译无法通过。

回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2021-11-9 01:23:54 | 显示全部楼层
eric2013 发表于 2021-11-9 00:34
谢谢分享,不错,就是编译无法通过。

我这里配置好之后可以编译可以烧录。
用一个很早以前做的rtthread大项目测试过,也没问题

编译

编译

烧录

烧录
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
发表于 2021-11-9 08:44:08 | 显示全部楼层
有些例子可以,加了特殊配置项的不行。
回复

使用道具 举报

0

主题

100

回帖

100

积分

初级会员

积分
100
发表于 2021-11-9 09:07:06 | 显示全部楼层
已经停止更新的工具就没必要继续用了。直接用Keil Assistant作者做的新插件Embedded IDE可能会更方便。

不过我个人是不太建议用vs code做C/C++开发,连宏展开递归都没做好实在难以搞稍大一点的工程。

https://github.com/Microsoft/vscode-cpptools/issues/3579

不过vs code用来写python是挺好用的,就是不能单工程多窗口对于双正屏的用户实在不友好。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
发表于 2021-11-9 09:08:43 | 显示全部楼层
ilcvm 发表于 2021-11-9 09:07
已经停止更新的工具就没必要继续用了。直接用Keil Assistant作者做的新插件Embedded IDE可能会更方便。

...

VSCode做LUA也非常方便。
回复

使用道具 举报

2

主题

51

回帖

57

积分

初级会员

积分
57
发表于 2021-11-9 09:15:56 | 显示全部楼层
不会吧,他这个是调用的你安装的keil进行编译的,如果你自己安装的keil能编译通过应该就没问题的,还有可以Keil Assistant插件和Embedded IDE一起使用,项目文件结构目录和Jlink配置都可以的,vscode的搜索功能也很好用的,无痛切换的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
发表于 2021-11-9 09:24:46 | 显示全部楼层
举例说明:
应该是文件名没正常识别。

QQ截图20211109092425.png
回复

使用道具 举报

2

主题

51

回帖

57

积分

初级会员

积分
57
发表于 2021-11-10 09:06:54 | 显示全部楼层
这个是你文件目录的问题,我也碰到过,你将MDK-ARM(AC5)这个目录名改为MDK-ARM,将后面括号去掉就可以
回复

使用道具 举报

2

主题

51

回帖

57

积分

初级会员

积分
57
发表于 2021-11-10 09:08:38 | 显示全部楼层
中文的可以识别到,但是中的括号不能识别,应该是这个插件问题
回复

使用道具 举报

56

主题

905

回帖

1073

积分

至尊会员

积分
1073
发表于 2021-11-10 12:40:09 | 显示全部楼层
还是等原厂的keil studio ide出来吧。。应该是发展方向了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
发表于 2021-11-10 15:28:40 | 显示全部楼层
小麦吉 发表于 2021-11-10 09:06
这个是你文件目录的问题,我也碰到过,你将MDK-ARM(AC5)这个目录名改为MDK-ARM,将后面括号去掉就可以

是的,就是这个问题。
回复

使用道具 举报

10

主题

130

回帖

160

积分

初级会员

积分
160
发表于 2021-11-10 18:35:32 | 显示全部楼层
直接keil编译烧录,vscode代码编辑即可。
vscode你要用的最多的无非是代码的自动补全功能,只要稍微设置一下你就会感受到vscode相当相当享受
回复

使用道具 举报

2

主题

23

回帖

29

积分

新手上路

积分
29
发表于 2021-12-9 14:46:17 | 显示全部楼层
oneV 发表于 2021-11-10 18:35
直接keil编译烧录,vscode代码编辑即可。
vscode你要用的最多的无非是代码的自动补全功能,只要稍微设置一 ...

我个人 编辑+编译只需要打开 vscode 就行了,为了编译配插件什么的还是麻烦,不如直接自己写个bat脚本,直接调用 ide 里面内置的命令行工具编译就可以了 ,跟在 ide 里面编译一模一样,但不用打开 ide 了,更方便灵活
例如 keil 可以 D:\keil\UV4\UV4.exe -b -j0 Project.uvprojx -o .\build_log.txt
同理 iar 可以用 iarbuild ,TI 的 CCS 可以用 eclipsec
回复

使用道具 举报

3

主题

56

回帖

65

积分

初级会员

积分
65
发表于 2022-2-27 04:53:31 来自手机 | 显示全部楼层
ilcvm 发表于 2021-11-9 09:07
已经停止更新的工具就没必要继续用了。直接用Keil Assistant作者做的新插件Embedded IDE可能会更方便。

...

可以双屏编辑同一个工程的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 01:31 , Processed in 0.278856 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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