Open Keil
在Visual Studio Code中无缝集成Keil开发环境,为嵌入式系统开发提供强大支持
Open Keil是一个VS Code扩展,允许您直接在VS Code中管理和操作Keil项目,无需频繁切换到Keil µVision IDE。使用这个扩展,您可以查看、构建和下载您的嵌入式项目,同时享受VS Code的现代开发体验。
功能
- 项目管理:浏览、切换和管理Keil项目和目标
- 文件视图:直接在VS Code中查看和编辑项目文件
- 构建集成:直接从VS Code构建、重构建和下载项目
- 目标切换:轻松在项目的多个目标之间切换
- 语法支持:支持A51和A251汇编语言的语法高亮
- 问题匹配:集成错误和警告消息解析,支持C51、C251和ARM编译器
- 编译命令生成:为clangd生成compile_commands.json,提供智能代码补全
安装
- 打开VS Code
- 转到扩展视图(Ctrl+Shift+X)
- 拖拽openkeil插件文件进行安装
- 安装 C/C++ 插件
- 安装clangd插件
使用方法
打开项目
- 点击活动栏中的"Open Keil"图标
- 在"Projects"视图中点击"+"按钮打开项目
- 选择Keil项目文件(.uvproj, .uvprojx, .uvmpw)
或者你也可以把工程拉入VS Code工作区,
插件会自动识别文件内的项目文件(.uvproj, .uvprojx, .uvmpw)
- 选择"Projects"视图中选择工程,右键激活项目(若工程自动激活可省略此步骤)
构建和下载
- 在"Projects"视图中选择一个目标,然后使用上下文菜单或工具栏按钮:
- 构建:编译当前目标(F7)
- 重新构建:完全重新构建当前目标(Ctrl+Alt+F7)
- 下载:将编译后的代码下载到设备(Ctrl+Alt+D)
切换目标
- 点击"Switch Target Panel"按钮
- 在弹出的面板中选择项目和目标
- 点击"Save Context"保存选择
或者直接在"Projects"选择目标工程右键激活
配置选项
Keil 路径
"open-keil.Keil.HOME": {
"MDK": "C:\\Keil_v5"
}
自动显示目标面板
控制在激活项目后是否自动显示目标选择面板:
"open-keil.autoShowTargetPanel": true
编译器路径
为不同的编译器设置可执行文件路径:
"open-keil.compiler.arm": "armcc",
"open-keil.compiler.c51": "c51",
"open-keil.compiler.c251": "c251"
自定义包含路径
添加额外的包含路径:
"open-keil.Project.CustomIncludePaths": []
clangd 集成
Open Keil 提供了与 clangd 语言服务器的深度集成,为您提供比标准 C/C++ 插件更强大的智能代码补全和实时错误检查功能。
为什么使用 clangd?
- 更快的代码补全:clangd 提供更准确、更快速的代码补全
- 实时错误检查:边写代码边发现问题
- 智能代码导航:更精确的符号查找和引用
- 更好的嵌入式系统支持:针对特定MCU指令集和寄存器有更好的支持
安装和配置
- 安装 clangd 扩展
- 禁用 C/C++ IntelliSense(与 clangd 冲突):
- 在设置中搜索
C_Cpp.intelliSenseEngine
- 设置为
Disabled
生成 compile_commands.json
Open Keil 可以自动根据build target为您的项目生成 compile_commands.json 文件:
常见问题
- 检测不到头文件:确保 compile_commands.json 已正确生成,且包含所有依赖路径
- 对ARM汇编指令报错:在 .clangd 文件中添加
-Wno-arm-asm-syntax
- 编译器错误不匹配:确保 clangd 和您的 Keil 编译工具链使用相似的选项
支持的文件类型
- Keil项目文件(.uvproj, .uvprojx, .uvmpw)
- A51汇编(.a51, .A51)
- A251汇编(.a251, .A251)
- C/C++源文件(通过标准C/C++扩展支持)
问题排解
如果遇到问题,请尝试:
- 确保Keil路径设置正确
- 检查VS Code的输出面板中的"Open Keil"日志
- 尝试在设置中禁用autoShowTargetPanel选项
- 刷新项目视图
注意:此插件由市场插件改编而来,仅作为个人练习使用,望海涵!