Trae+Qt+MSVC环境配置
Trae
Trae是字节跳动基于VSCode推出的AI集成开发环境(IDE),是一款专为中文开发者深度定制的智能编程工具。其目标是通过AI技术实现从“Copilot”到“Autopilot”的编程模式演进。
类似这样的IDE比如Windsurf、Cursor,都是基于VSCode的,风格都一样。
背景
OK,既然是基于VSCode,那其实用法跟VSCode都差不多的。本文是记录在Trae中搭建Qt开发环境,作为QtCreator的重度依赖者,为了体验AI变成带来的高效,尝试从QtCreator转换到Trae,需要有一个适应过程,QtCreator作为Qt官方推出的IDE,自然是最能适配Qt项目开发的,环境配置也很简单,安装Qt的时候一套流程全都配好了。
这里主要是针对从QtCreator用户过来的宝子,前提是已经有Qt开发环境,如何在Trae(VSCode、Windsurf、Cursor都适用)中配置编译任务,以及设置一些在QtCreator中常见的配置和用法。
环境
测试是使用的版本是:Qt5.15.2,qmake+msvc2019编译。
正文
首先,打开Trae,要支持Qt工程及相关语法,需要安装相应的插件,直接在插件市场搜索qt和qml,安装一些基础插件就行了,我安装了这些:
然后还有C/C++的插件,如果要用到CMake编译的话,一起安装,我安装了这些:
然后导入一个现有的Qt项目,或者新建一个Qt工程。
Qt环境变量:
MSVC编译器环境变量:
正常来说,使用MSVC编译器,应该是对应使用nmake命令进行编译,但是由于nmake是单线程编译,速度比较慢,而QtCreator里面默认是配置用jom编译,jom支持多线程编译,速度很快,并且完全兼容nmake编译,所以上面添加Qt环境变量中,添加了QtCreator目录下的jom目录,就是为了能够使用jom进行编译。
而MSVC的环境变量,其实编译的时候直接运行一次VS安装目录下的这个脚本就行了 ,会自动配置相关的编译环境。
如果是x86就执行vcvars32.bat,x64就执行vcvars64.bat脚本。
所以前面的环境变量我们添加了C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build
目录,就是为了方便快捷调用这两个脚本。
OK,接下来在Trae中设置编译任务。
快捷键:Ctrl+Shift+p
然后选择配置任务,开始编辑task.json文件:
我这边测试写的task.json 文件如下:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "qmake",
"type": "shell",
"command": "qmake",
"args": [
"${workspaceFolder}/QtProject.pro",
"CONFIG+=release"
],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "qmake-debug",
"type": "shell",
"command": "qmake",
"args": [
"${workspaceFolder}/QtProject.pro",
"CONFIG+=debug"
],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "build",
"type": "shell",
"command": "cmd",
"args": [
"/c",
"\"call vcvars64.bat && jom\""
],
"group": {
"kind": "build",
"isDefault": true
},
"dependsOn": ["qmake"]
},
{
"label": "build-debug",
"type": "shell",
"command": "cmd",
"args": [
"/c",
"\"call vcvars64.bat && jom\""
],
"group": {
"kind": "build",
"isDefault": true
},
"dependsOn": ["qmake-debug"]
},
{
"label": "clean",
"type": "shell",
"options": {
"cwd": "${workspaceFolder}/"
},
"command": "jom",
"args": [
"clean"
],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "Run-Release",
"type": "process",
"options": {
"cwd": "${workspaceFolder}/bin"
},
"command": "QtProject.exe",
"dependsOn": [
"build"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
内容其实很简单,就是配置每一项需要执行的任务,自定义相关标签,标明是要做什么任务的,然后指定任务的执行命令即可。
我这里配置了 release模式的 qmake,build,Run,debug模式的qmake,build。还有clean,clean也是直接通过jom来调用。
重点看build:
{
"label": "build",
"type": "shell",
"command": "cmd",
"args": [
"/c",
"\"call vcvars64.bat && jom\""
],
"group": {
"kind": "build",
"isDefault": true
},
"dependsOn": ["qmake"]
},
这里是执行shell命令,调用vcvars64.bat 以及 jom编译,使用了&&符号连接两个命令先后执行。
需要注意的是,执行命令的终端默认使用的是PowerShell,直接执行这个任务会报错,因为PowerShell中不支持&&符号连接两个命令。所以我们需要切换到cmd再执行,很简单,设置一下默认终端即可:
在底部窗口工具栏上点击下拉,选择默认配置文件:
然后会弹出然你选择默认,这时候点击Command Prompt即可。
这样我们的终端就默认变成cmd了,再执行以上task任务的时候就会默认使用cmd。
配置好task后执行命令,快捷键 Ctrl+Shift+B,选择要运行生成的任务即可:
以上配置已完成。
but~
快捷键
习惯了Qtcreator中直接快捷键Ctrl+R就能编译运行程序,但是在这里要点击几个步骤才能执行任务,其实我们可以直接将任务自定义快捷键的,这样就能够快速的执行了任务了。
在文件菜单打开键盘快捷键
然后点击标题栏右边这个图标
添加json字段:
{
"key": "ctrl+r", // 运行
"command": "workbench.action.tasks.runTask",
"args": "Run-Release" // 任务的 label 名称
},
{
"key": "ctrl+b", // 编译
"command": "workbench.action.tasks.runTask",
"args": "build" // 任务的 label 名称
},
这里指定快捷键以及要运行的task中的label标签名称即可。这样就可以通过快捷键快速运行啦。