VS Code编写Keil工程

1、前言

keil C51作为最经典的入门IDE,尽管功能强大,但是界面不太友好,也不支持常用的代码自动补全,代码重构等基本功能,代码量多了以后,程序的编写,调用,查看,修改等都很不方便,网上了解了一下常用的开发工具软件,最终选择了VS Code代替Keil,记录分享一下过程,也方便以后查看。

网上的Keil代码补全设置只针对MDK版本Keil MDK 5代码补全功能设置,Keil C51不支持代码补全!!!

通常换了一个开发工具软件,需要重新搭建开发环境,这是很麻烦的事情,但是使用VS Code + Keil Assistant插件可以让这个过程变得非常简单。这里要感谢开发这款插件的大神。

2、使用限制

VS Code是代码编辑器,通过安装插件,只是实现Keil作为IDE最基本的编译和下载功能,不能完全代替keil,因为插件只使用了keil的编译器,这在大多数情况下已经够用了,但还是有一些限制:

  1. 调试需要回到Keil中
  2. 工程文件的添加或删除需要在keil中进行(后面还会说)

3、安装VS Code和插件

VS Code官网:https://code.visualstudio.com/
下载安装VS Code,选择Windows下的稳定版即可
在这里插入图片描述
以中文语言插件为例,点左侧的插件按钮,搜索chinese,选择中文简体安装即可,其他插件的安装类似。(大部分插件安装后直接就能用了,设置语言为中文还需要重启一下VS Code)
在这里插入图片描述
还需要安装的插件:
Keil Assistant
在这里插入图片描述
C/C++ IntelliSense(PS:这个插件安装好就不用管它了,没有什么要设置的)
在这里插入图片描述

4、Keil Assistant的设置和使用

打开Keil Assiatant的扩展设置,填写UV4.exe的路径到对应位置即可。这里用的是Keil C51,如果是Keil MDK,就填写在下面。
在这里插入图片描述
注意完整路径以UV4.exe结束,默认安装路径是C:\Keil_v5\UV4\UV4.exe
在这里插入图片描述
然后就可以添加Keil工程到VS Code了:
在这里插入图片描述
查看刚才添加的工程代码:
在这里插入图片描述
点击这里进行编译,或者按F7编译:
在这里插入图片描述
编译输出信息和Keil完全一样,Ctrl+单击可以快速的定位到错误位置。
在这里插入图片描述
关于之前的使用限制第二点,工程文件的添加或删除需要在keil中进行,这里再作进一步说明:因为keil的文件目录是在关闭keil时更新的。

例如要添加工程文件夹或者添加.c .h文件,跟以往使用Keil一样,需要添加文件到keil左侧的Project窗口,然后关闭keil,就会自动更新到VS Code中了,否则在VS Code里编译会因找不到文件而报错。
在这里插入图片描述
通过上面的设置不难发现,Keil Assiatant插件只是在VS Code中调用本地的Keil编译器,因此有关工程的编译选项设置,也需要回到keil中设置,比如生成.HEX文件的位置等。
在这里插入图片描述
然后就可以愉快的使用VS Code写代码了,VS Code有很多有用的代码编辑功能和技巧,可以查看相关的VS Code教程,推荐一个大佬的总结VS Code使用技巧整理

5、其他

直接添加的工程会显示我们不需要的文件夹,可以在.vscode文件夹下的setting.json里进行设置,参考VSCode隐藏项目中不必要的文件
在这里插入图片描述
VS Code中几乎所有的设置都是通过json来设置的,所以有必要熟悉这种模式(最开始使用时,我想设置某个功能,一直习惯性的想找到设置的按钮。。。)。

在接触VS Code之前,本人也使用过source insight,了解过一点eclipse。

相较于VS Code,eclipse是强大的集成开发环境,主要用于java,通过扩展也可以很好的支持C/C++,但界面比较繁琐,不够轻量,上手不怎么友好,用来写个C51有点杀鸡用牛刀的感觉。而且没有现成的可以直接编译Keil C51工程的插件或脚本,编译还得回到Keil。

source insight只是代码编辑器,用于查看较大的软件工程源代码时非常不错,但是编译同样得回到Keil,而且界面感觉不如VS Code漂亮(个人感觉,勿喷)。

VS Code至少有三款插件用于支持Keil编译,其中就包括之前的Keil Assistant,另外两个插件分别是Platform IO IDE和EIDE。

Platform IO IDE需要联网使用,不太方便,EIDE的配置稍显麻烦,而且这两个插件都是使用SDCC工具链进行编译,源代码与Keil C有稍许不同,现有的工程代码可能不能直接编译,还需要做一些修改。

VS Code有很多功能强大的插件,网上有很多资料,可以自行搜索。

相关链接:
VS Code自定义C代码模板

VS Code自定义配色方案

<think>好的,我现在需要帮助用户配置Visual Studio Code编写和调试Keil的C项目。首先,用户的需求很明确,但可能对具体步骤不太清楚。根据提供的引用内容,我需要综合各个引用中的信息,整理出一个清晰的步骤指南。 首先,用户提到了引用1到4,内容涉及安装Keil Assistant扩展、使用MinGW-GCC、配置tasks.json和launch.json,以及设置编译器路径。我需要将这些步骤整合起来,确保每个环节都覆盖到。比如,引用1提到通过Keil Assistant添加keil.exe路径,这可能涉及到扩展安装和路径配置。引用4提到设置ARMCC工具链路径,这也是关键步骤之一。 接下来,用户需要编写和调试代码。编写部分可能需要配置编译器,而调试部分可能需要配置调试器,比如使用Cortex-Debug扩展,这点在引用3中提到过。但引用中没有详细说明调试配置,可能需要补充这部分内容,比如如何设置launch.json来连接硬件调试器。 另外,用户可能遇到的问题包括路径错误、编译工具链不匹配、调试器配置不正确等。需要在注意事项中提前提醒,比如检查路径中的空格,确保Keil版本兼容性等。 还要考虑用户是否熟悉VS Code的基本操作,比如如何安装扩展、编辑配置文件。步骤需要详细但不过于冗长,避免让用户感到困惑。可能需要分步骤:安装扩展、配置工具链路径、设置编译任务、配置调试环境等。 最后,生成的相关问题需要围绕用户可能的后续疑问展开,比如性能优化、多项目管理、替代调试方法等,这些可以基于引用中的信息扩展,比如引用2提到使用GCC编译,可能涉及不同编译器的比较。 总结下来,步骤应包括安装必要扩展、配置编译器路径、设置编译任务、调试配置,以及注意事项。需要确保LaTeX格式正确,如行内公式用$...$,独立公式用$$...$$,但当前问题不涉及数学公式,可能不需要使用。回答结构要清晰,分点说明,并附上代码块示例,如tasks.json和launch.json的配置。</think>### 如何在 Visual Studio Code 中配置 Keil C 项目的编写与调试? #### 1. **安装必要扩展** - **Keil Assistant**:用于解析和加载Keil工程文件(`.uvprojx`)[^1]。 - 在VS Code扩展商店中搜索并安装“Keil Assistant”。 - 配置Keil路径:扩展设置中指定`keil.exe`的安装路径(如`C:\Keil_v5\UV4\UV4.exe`)。 - **C/C++扩展**:提供代码高亮、智能提示等功能。 - **Cortex-Debug**(可选):用于调试ARM芯片程序[^3]。 #### 2. **配置工具链路径** - **ARMCC编译器**(Keil自带): - 在Keil Assistant的设置中,指定ARMCC的路径,例如: `C:\Keil_v5\ARM\ARMCC\bin`[^4]。 - **或使用GCC**(替代方案): - 安装MinGW-W64或ARM GCC工具链,并在`tasks.json`中配置路径[^2]。 #### 3. **设置编译任务** 在项目根目录下创建`.vscode/tasks.json`,示例配置如下: ```json { "version": "2.0.0", "tasks": [ { "label": "Build Keil Project", "type": "shell", "command": "UV4.exe", "args": ["-b", "${input:projectFile}"], "options": { "cwd": "C:/Keil_v5/UV4" }, "problemMatcher": [] } ], "inputs": [ { "id": "projectFile", "type": "promptString", "description": "Enter Keil project file path (e.g. project.uvprojx)" } ] } ``` 通过`Ctrl+Shift+B`触发编译[^1]。 #### 4. **配置调试环境** 使用Cortex-Debug扩展时,创建`.vscode/launch.json`: ```json { "version": "0.2.0", "configurations": [ { "name": "Cortex Debug", "type": "cortex-debug", "request": "launch", "servertype": "openocd", "device": "STM32F103C8", "executable": "${workspaceFolder}/output/Project.elf", "configFiles": ["interface/stlink.cfg", "target/stm32f1x.cfg"] } ] } ``` 需提前安装OpenOCD或ST-Link工具链。 #### 5. **加载Keil工程** - 通过Keil Assistant直接打开`.uvprojx`文件,工程结构会自动解析[^4]。 --- ### 注意事项 1. **路径问题**:确保路径中无空格或中文字符,避免编译失败。 2. **兼容性**:Keil Assistant需与Keil MDK版本匹配(如MDK v5.25+)。 3. **调试依赖**:调试需硬件支持(如ST-Link/J-Link)及对应的配置文件。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值