安装以下软件:
如下图,在已经基本配置过的工程中打开设置,选择输出栏,勾选生成批处理文件,点击确定。
切记,之后编译一下,就可以看到工程目录下出现了一个与Targer同名的批处理文件,如APP.bat。
在vscode中打开工程目录,如果没有名为.vscode的隐藏文件夹,自己新建一下这个文件夹,并在这个文件夹下新建一下几个文件并添加对应内容:
这个是c/cpp的配置文件, 主要是告诉vscode你自己和keil的头文件在哪里,以及让vscode适应keil-c51的特殊的地方。
{
"configurations": [
{
"name": "C51",
"includePath": [
"D:/xxx/C51/INC", // 这条对应的keil的各种C语言库
"${workspaceFolder}/**" // 这条是当前目录的意思
],
"defines": [ // 一些针对编译器的预定义,告诉VSCode一些c51特有的东西
"IDE_VSCODE",
"_DEBUG",
"UNICODE",
"_UNICODE",
"sbit=char",
"sfr=char",
"data=",
"idata=",
"bdata=",
"pdata=",
"xdata="
],
"cStandard": "c89",
"intelliSenseMode": "msvc-x64"
}
],
"version": 4
}
下面这两个文件文件分别为两种不同的调用keil生成的编译批处理文件的方法。
这个是VSCode的任务文件,通过这个文件可以配置一些例如编译、清理等任务。
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "${workspaceFolder}/APP.bat", // 这里按照你自己的批处理文件填
"args": [],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
这个是VSCode的调试配置文件,类似于写电脑程序的运行那一步,但是这里不是运行编译之后的xx.exe程序,而是调用xx.bat编译批处理文件,从而进行编译。
{
"version": "0.2.0",
"configurations": [
{
"name": "(Windows) 启动",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/APP.bat", // 这里按照你自己的批处理文件填
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false
}
]
}
这个文件是VSCode的当前工作目录的设置文件。一般修改过设置的话都会有这个文件。
下面主要是设置一下文件编码。
{
"files.encoding": "gb2312" // 这条是为了告诉VSCode文件编码,一般keil中用的是gb,而VSCode默认一般是 utf-8,直接打开会遇到中文乱码的情况。
}
这一步就存粹是为了这个过程的完整性而存在的。。。
如下图,勾选文件变化后自动重载并下载,如果你有个能控制设备复位的下载器,那么连手动复位都省了。
和使用keil编辑时在一样,添加代码文件。
这里需要注意的是如果你在VSCode中新建了xx.c文件,记得在keil中添加一下,之后在keil中编译一次,这样是为了更新之前的编译批处理文件,当然,如果你是移除,记得在keil中也移除了。
这里如果采用多文件编程的方法,最好是在项目伊始就规划好有哪些文件,创建好文件并添加到keil中。
一句话,善用VSCode,真香!!!
在上面的配置部分,分别提供了两种方法,这里注意区分使用。
此外需要注意编译的输出信息,注意是否报警和报错。必要时回到keil中进行排错。
VSCode默认的build任务快捷键为ctrl+shift+B。
按下后会开始配置的build任务,调用keil生成的那个编译批处理文件,编译你的程序。
这种方法按下F5即可。
编译之后使用STC-ISP下载。
以上的方法是一种优化keil编程体验的一次尝试,根本原理就是利用keil生成编译脚本,通过VSCode的任务等功能以快捷键的形式进行调用,实现程序的编译,但是需要注意的是,组织代码这一环节还是需要在keil中进行,这也意味着需要格外注意你的程序文件是否在keil中(这是个初学者的大坑,当你使用VSCode编辑时也不要忘记这个坑)。
此外,以上的关于VSCode的配置文件,一般是不需要每次都进行的,建议是配置好之后就建立一个工程模版,例如以前STM还没有Cube的时候,做的STM的工程模版一样。
此外,以上的关于VSCode的配置文件,一般是不需要每次都进行的,建议是配置好之后就建立一个工程模版,例如以前STM还没有Cube的时候,做的STM的工程模版一样。
以上的这些内容,如有错误或能改进的地方,还请不吝赐教。