Qt项目转VS Code项目转换插件使用说明
1. 项目初衷
在嵌入式开发过程中,我们经常需要为同一个Qt项目构建多个平台的版本(Desktop、IMX6、SSD202等)。传统的开发流程存在以下痛点:
- 开发环境分散 :需要在Qt Creator和VS Code之间频繁切换
- 构建配置复杂 :每个平台需要不同的qmake路径、编译器配置和环境变量
- 调试困难 :缺乏统一的调试配置,难以快速切换不同平台进行调试
- 团队协作不便 :项目配置难以标准化,新成员上手困难
本插件的目标是将Qt项目无缝转换为VS Code项目 ,提供统一的开发、构建和调试环境,提高开发效率和团队协作体验。
2. 项目原理
2.1 整体架构
插件采用向导式配置 + 自动化生成 的设计思路:

2.2 核心功能模块
- 项目检测模块 :自动识别Qt项目结构和.pro文件
- 配置向导模块 :提供友好的Web界面进行参数配置
- 代码生成模块 :根据配置自动生成VS Code项目文件
- 构建脚本模块 :生成跨平台的Shell构建脚本
- 调试配置模块 :自动配置GDB调试环境
2.3 技术实现
- 前端 :HTML + CSS + JavaScript(Webview界面)
- 后端 :TypeScript(VS Code扩展API)
- 配置管理 :JSON配置文件 + Shell脚本
- 构建系统 :qmake + make
3. 安装和配置
3.1 环境要求
- VS Code : 1.60.0 或更高版本
- 操作系统 : Linux(推荐Ubuntu 18.04+)
- 必需工具 :
- Qt开发环境(各平台qmake)
- GCC编译器(各平台版本)
- GDB调试器
- Make构建工具
3.2 插件安装
从VSIX文件安装
- 获取插件安装包 lifotronicqtproj-x.x.x.vsix
- 打开VS Code
- 按 Ctrl+Shift+P 打开命令面板
- 输入 Extensions: Install from VSIX...
- 选择下载的VSIX文件进行安装
- 重启VS Code
3.3 环境配置
3.3.1 确认工具链路径
根据你的系统环境,确认以下路径是否正确:
Desktop平台
Desktop qmake: /usr/bin/qmake
Desktop编译器: /usr/bin/g++
IMX6平台
IMX6 qmake: /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/qt5/qmake
IMX6编译器: /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux- gnueabi/arm-poky-linux-gnueabi-g++
SSD202平台
SSD202 qmake: /opt/Qt5.9.5_arm/bin/qmake
SSD202编译器: /opt/gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
4. 使用指南
4.1 转换Qt项目
步骤1:打开Qt项目
- 在VS Code / Cursor 中打开包含.pro文件的Qt项目文件夹

- 按 Ctrl+Shift+P 打开命令面板
- 输入 Qt项目转VSCode项目

- 选择该命令启动转换向导,选择包含".pro"文件的项目目录

步骤 2 : 选择需要编译的目标平台
目前支持:
Desktop Debug
IMX6 Release
SSD202 Release
并选择在vscode上按Ctrl+Alt+B 组合键默认构建的平台(这个不重要)

步骤 3 :配置qmake路径
在向导界面中配置各平台的qmake路径:

- Desktop qmake : /usr/bin/qmake
- IMX6 qmake : /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/qt5/qmake
- SSD202 qmake : /opt/Qt5.9.5_arm/bin/qmake
步骤 4 :配置编译器路径

设置各平台的编译器路径:
- Desktop编译器 : /usr/bin/g++
- IMX6编译器 : /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux- gnueabi-g++
- SSD202编译器 : /opt/gcc-arm-8.2-2018.08-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
步骤 5 :设置生成目录
选择构建输出目录:
- 默认选项 :在项目目录创建Build目录

- 自定义选项 :指定自定义的构建目录路径

步骤 6 :配置依赖库目录(可选)
如果项目有外部依赖库,可以配置库目录:
- 使用默认lib目录

- 或指定自定义库目录路径

步骤7:确认配置并转换
检查配置摘要,点击"完成"按钮。

步骤 8 :确认 完成

4.2 项目构建
转换完成后,项目将包含以下构建脚本:
-
`build_desktop_debug.sh` - 构建桌面平台的调试版本。
-
`build_desktop_release.sh` - 构建桌面平台的发布版本。(没用到)
-
`build_imx6_debug.sh` - 构建IMX6平台的调试版本。(没用到)
-
`build_imx6_release.sh` - 构建IMX6平台的发布版本。
-
`build_ssd202_release.sh` - 构建SSD202平台的发布版本。
-
`clean_desktop_debug.sh` - 清理桌面平台的调试版本。
-
`clean_imx6_release.sh` - 清理IMX6平台的发布版本。
-
`clean_ssd202_release.sh` - 清理SSD202平台的发布版本。
-
`debug_desktop.sh` - 启动桌面平台的调试模式。
-
`project_config.sh` - 配置项目参数。
-
`README.md` - 项目说明文档。
-
`rebuild_desktop_debug.sh` - 重建桌面平台的调试版本。
-
`rebuild_imx6_release.sh` - 重建IMX6平台的发布版本。
-
`rebuild_ssd202_release.sh` - 重建SSD202平台的发布版本。
-
`run_desktop_debug.sh` - 运行桌面平台的调试版本。
-
`run_desktop_release.sh` - 运行桌面平台的发布版本。
- 按 Ctrl+Shift+P 打开命令面板
- 输入 Tasks: Run Task
- 选择对应的构建任务:
- 构建 Desktop Debug
- 构建 IMX6 Release
- 构建 SSD202 Release
使用快捷键构建 ( vscode )
- Ctrl+Shift+B:运行默认构建任务

4.3 调试配置
插件自动生成了完整的调试配置,支持:
Desktop调试
- 运行 Desktop Debug :直接运行程序
- 调试 Desktop Debug :启动调试模式(在main函数设置断点)
- 运行Desktop(无构建) :运行已构建的程序

启动调试
- 按 F5 或点击调试面板的"开始调试"按钮
- 选择对应的调试配置
- 程序将自动构建并启动调试

- 项目收益
- 使用vscode/cursor 丰富的扩展库
- 使用vscode/cursor 强大的AI agent能力
6 . 常见问题
6 .1 qmake路径错误
问题 :构建时提示"qmake: command not found"
解决方案 :
- 检查qmake路径是否正确
- 确认qmake文件是否存在且有执行权限
- 重新运行转换向导,更正qmake路径
6 .2 编译器路径错误
问题 :构建时提示编译器找不到
解决方案 :
- 检查编译器路径是否正确
- 确认交叉编译工具链是否已安装
- 检查环境变量配置
6 .3 调试无法启动
问题 :按F5调试时程序无法启动
解决方案 :
- 确认程序已成功构建
- 检查可执行文件是否存在于构建目录
- 确认GDB路径配置正确
- 检查launch.json中的program路径
6 .4 自定义构建目录问题
问题 :设置自定义构建目录后,调试时找不到可执行文件
解决方案 :
- 确认自定义目录路径正确
- 重新运行转换向导
- 检查生成的配置文件中的路径是否正确
7 . 高级功能
7 .1 自定义构建目录
支持将构建输出重定向到任意目录:
- 绝对路径:如 /home/user/build
- 相对路径:如 ../build(相对于项目根目录)
7 .2 依赖库管理
支持配置外部依赖库目录,自动处理库文件的链接和运行时路径。
7 .3 多项目支持
可以为同一个工作区中的多个Qt项目分别进行转换配置。
7 . 4 新成员上手
- 安装插件
- 克隆项目代码
- 确认环境配置
- 直接使用F5开始调试
插件版本 : v0.0.1
更新日期 : 2025年8月