一、安装 Qt 开发环境
确保已经安装了 Qt,没有安装的可以自己在网上搜索怎么安装,安装时可选择不安装qt creator,但是qt开发库和编译器要安装,这里我选择的编译器是MinGW,
安装好以后,记录下qt开发库和MinGW编译器的安装路径,我这里路径如下:
名称 | 路径 |
---|---|
QT的安装路径 | D:\Qt |
mingw的安装路径 | D:\Qt\6.5.0\mingw_64 |
二、安装Trae IDE
Trae目前分为海外版和国内版,海外版需要使用梯子,国内版直接可以使用,海外版和国内版最主要区别就是国际版可以使用Claude和GPT模型,这里不多做说明,海外版和国内版网址分别如下:
- 海外版网址:https://www.trae.ai/
- 国内版网址:https://www.trae.com.cn/
怎么安装可以根据官方文档的说明,如下是官方文档网址:
https://docs.trae.com.cn/docs/set-up-trae
这个网址是国内版Trae的文档,按照上面的说明下载安装就可以了。
三、安装c/c++插件
Trae虽然也是套壳vscode,但是它的插件市场与vscode不一样,没有使用vscode官方的插件市场,而是使用的open-vsx的插件,而c/c++插件只有vscode官方插件市场才有,trae是不能直接安装的,怎么安装可以参考我公众号的上一篇文章:
Trae插件革命:用VSPlugin Helper实现VSCode市场插件全自动安装
四、使用trae自动配置当前qt项目开发和编译环境
首先新建一个项目路径,这里我的路径指定在E:\QT5_Project
,在这个目录下我新建了一个名为TraeHelp_Pro
的目录,然后打开Trae,在如下界面选择打开文件夹:
这样就自动生成了一个名为TraeHelp_Pro
的项目,然后在build模式下,给AI发这样一段描述,如下:
这样它就自动帮我生成了相应的目录和文件,如下:
代码生成以后,需要进行构建和调试,接下来要求Trae继续帮我们生成构建和调试的配置文件:
等待AI自动生成.vscode目录和两个json文件以后,点击全部接受就可以了。
构建和调试配置文件生成以后,我们要检查一下,看看相应路径是否跟你的安装路径符合,这里我检查发现有点不对,我的qt版本是6.5.0,它自动生成的是6.5.2,可以要求AI改一下:
这样配置文件就纠正过来了。
接下来就可以进行构建和调试了,可以直接在Trae编辑器中按F5启动调试,或使用Ctrl+Shift+B进行构建。编辑器会自动处理qmake和make的过程,确保程序正确编译和运行。
接下来使用Ctrl+Shift+B进行构建,发现有编译报错,我直接把错误截图丢给AI,如下:
一般情况下,AI会自动帮你修复这个报错并自动调用终端进行构建,当然过程中需要你点击运行,如果第一次修复还是报错,它会再次试图修复,直到不再报错为止。
这里我发现它生成的编译过程中间文件都放在当前目录下了,有点杂乱无章,那么就可以要求trae修改配置文件,把中间文件都生成到build目录下,如下:
注意过程中,删除或者执行命令的动作它不能自动进行,需要我们配合点击删除或者运行,如下:
这里它还是报错,提示要一个一个目录的删,我们配合AI就行了。
接下来我继续构建,发现中间文件还是没有生成到build目录下,原来它上一步只删除了相应的中间文件,没有修改task.json,我们可以要求它修改task.json就行了。
注意构建的时候如果qmake或者g++命令不能识别的情况,要把相应的路径加入到环境变量中,比如我这里是D:\Qt\Tools\mingw1120_64\bin 和 D:\Qt\6.5.0\mingw_64\bin 两个目录。
构建有可能不会一帆风顺,中间还会出错,大多数情况下把错误丢给AI,它会帮你解决,极少部分情况就要靠程序员自己了。
接下来我把我这里可以正确构建和调试的json文件内容列出来,如下:
创建 tasks.json 用于构建
{
"version": "2.0.0",
"tasks": [
{
"label": "qmake",
"type": "shell",
"command": "D:\\Qt\\6.5.0\\mingw_64\\bin\\qmake.exe",
"args": [
"${workspaceFolder}\\TraeHelp_Pro.pro",
"-spec",
"win32-g++",
"CONFIG+=debug",
"CONFIG+=separate_debug_info"
],
"options": {
"cwd": "${workspaceFolder}/build"
},
"problemMatcher": []
},
{
"label": "make",
"type": "shell",
"command": "D:\\Qt\\Tools\\mingw1120_64\\bin\\mingw32-make.exe",
"args": [
"-j4"
],
"options": {
"cwd": "${workspaceFolder}/build"
},
"dependsOn": [
"qmake"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$gcc"
]
},
{
"label": "clean",
"type": "shell",
"windows": {
"command": "cmd",
"args": [
"/C",
"if exist build (cd build && if exist debug rmdir /s /q debug moc obj release ui) && if exist Makefile del /f Makefile* && if exist .qmake.stash del /f .qmake.stash"
]
},
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": []
}
]
}
注意:
- 请根据你的 Qt 实际安装路径调整上述配置文件中的路径
- 确保项目中的 .pro 文件配置正确
- 可以使用 Ctrl+Shift+B 触发构建 或者crl + shift + p -->run task --> make 来触发
- crl + shift + p -->run task --> clean 来触发清除的动作,具体如下:
- 使用快捷键ctrl + shift + p 打开命令面板
- 在命令面板中输入
Tasks: Run Task
,点击以后选择clean
任务
创建lanuch.json用于调试
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/debug/TraeHelp_Pro.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [
{
"name": "PATH",
"value": "D:\\Qt\\6.5.0\\mingw_64\\bin;D:\\Qt\\Tools\\mingw1120_64\\bin;${env:PATH}"
}
],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "D:\\Qt\\Tools\\mingw1120_64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "make"
}
]
}
调试步骤:
在代码中设置断点:
- 点击行号左侧空白处
- 或按 F9 在当前行设置断点
启动调试:
- 按 F5 开始调试
- 或点击左侧调试面板中的绿色播放按钮
调试控制:
- F5:继续执行
- F10:单步执行
- F11:单步进入
- Shift+F11:单步跳出
- Shift+F5:停止调试
调试窗口:
- 变量窗口:查看当前变量值
- 监视窗口:添加要监视的变量
- 调用堆栈:查看函数调用链
- 断点窗口:管理所有断点
如果遇到调试器无法启动,请检查:
- GDB 路径是否正确
- 是否已成功构建项目
- Qt 的 bin 目录是否在 PATH 中
构建完成后生成的程序如下:
总结,可以看到,没有使用qt creator,也没有在trae中安装qt相关的插件,我也没有写一行代码,纯粹用嘴使用trae开发出了一个qt程序。
当然,这只是一个简单的小程序,如果需要具体实现可用的功能,还需要我们继续跟AI交流。