vscode 注释 数组_C51也能 VS code, 元旦快乐 lets code !

在 Android Studio 和 VS code 的双重夹击下, 凭借自动补全, 以及浮动显示注释等功能, 我再也不担心长变量名与长函数名, 在用回 Keil 之前, 我甚至还以为我进入了 22 世纪(大雾). 直到 2019 的冬天, 我怀着期待打开了 Keil ( Keil 新图标还蛮现代化的, 不错不错), 下一刻我就醉了, 我的内心充满了怀疑: " 这又长又臭的变量名是我起的??? " , " 这变量名叫啥来着?? " , " 噢, 还翘舌+前后鼻音, 还TM拼错了?? " . 为了解决我心中的疑惑, 我决定去复习一下汉语拼音, 噢不对, 我要用 VS code 写 C51.

对于 Keil 的32位版本, 其编辑器还有自动补全功能, 而对于其 8 位机版本(Keil uVision), 自动补全却成为了可望不可及的功能. 更别提那些注释浮动显示, 全局引用查看等功能了, Keil 的反汇编调试的确方便, 但是我变量名都打不全, 编译都通过不了……

VS code 这么香, 谁不想尝上一口呢. 其实, 我已经尝了好久了哈哈哈 xD.

毕竟不能独食, 分享一下我的方案.

首先:

1. 准备一个香喷喷的 VS code, 并且装好 C 语言的插件(推荐微软官方提供的 C 语言插件).

2. 准备一个 Keil uVision(版本号大于4).

3. 准备一个由 Keil uVision 维护的项目.

开始:

打开 Keil uVision 维护的项目, 看到左边的写着 " Project " 的目录吗?

右键点击你项目目标的文件夹, 选第一个[Options for Target ' xxxxxxxx ' ] .

在我这里, 我的项目目标的文件夹名字叫 " MyProject " , 如图:

92d94cc2c86d9f44ac774bb9c2a475cb.png

然后选到 " Output " 标签页, 如图:

e5c37ee90d43a063dc7fafd68afa6cb6.png

这里的关键是这个批处理, 运行这个批处理, 就能自动调用Keil 的编译器, 然后就生成了 hex 文件了. 所以说, 我们现在要做的事情就是在 VS code 中, 运行一下这个批处理就 OK 了.

找到你项目的文件夹, 把整个文件夹拖到 VS code 图标上, 观察 VS code 的左侧栏, 然后看图:

e621e482bcb6a8a22767af525e949368.png

是不是发现了你自己的批处理文件, 和一个叫 " .vscode " 的文件夹.?

然后观察 VS code 的菜单栏, 点击 " 调试 " -> " 添加配置 " , 如图:

3348acc1bad2e792af374275747245d8.png

然后它会新建一个 json 配置文件, 并且弹出一个框框让你选, 如图:

7042e2234ba9b2b1eeb862a7276e3f67.png

选好之后, 是这个样子的, 如图:

59e07caa65d3b0da4607fe5210c64a94.png

根据我的批处理名字, 改了一下, 如图:

3b36264f49f5c9ea63ba7b99bf427ba2.png

然后就Ok了.

回到你 VS code 的工程目录, 点击F5调试, 结果如下图:

7947a127aad4b0ba4fc8b61b3b071176.png

这样就 OK 了, 哈哈哈.

注意事项:

1. 如果你有新的 C 文件加入或新建到你的项目中, 编译前记得先到 Keil 中加入这个 C 文件, 然后重新生成批处理, 如果忘记了这一步操作, 批处理是不会自动把你的新文件纳入进行编译的. 步骤如图:

9e8f9c23b6ca5ae35a4529614a77aadc.png

288b8879884d2d59c997e9005a3fd515.png

结果如下:

Batch-Build summary: 1 succeeded, 0 failed, 0 skipped - Time Elapsed: 00:00:04

图:

b2a013ed67140710dda325581ba759cf.png

这样就表明已经成功建立批处理文件了.

2. C51 兼容的 C 版本比较老(貌似是支持到 C89 ), 像那种循环体内定义i, 稀疏数组个别下标具体定义等等特性是不兼容的, 所以很可能出现 VS code 没有语法错误, 在 Keil 编译器就是过不了的情况, 大家可以在 .vscode 文件夹中的 c_cpp_properties.json 中进行 VS code 的 C 版本配置, 让其版本与 C51 兼容的版本相同.

3. C51 有一些特别的头文件, 和一些特别的关键字是标准 C 没有的, 我是这样解决的, 还是设置c_cpp_properties.json, 看图:

981b2f55725b88e389ff914e126029cc.png

这样子设置, 基本上就不会有特殊关键字的语法错误了, 但是即便是这样设置, 我还是没办法处理中断 ( interrupt ) 所提示的语法错误, 我也想过用宏定义的方法, 但是由于空格的存在, 木有办法, 但是这还是不能阻挡我用 VS code, VS code 实在太香了.

顺便问问谁能教教我怎么避开这个不是错误的语法错误提示, 如图:

96fa67d012805fa529de9d1c0bcbafca.png

经过这一番折腾, 相信你也会说一句:" VS code 真香 !".

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值