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 文件如下:

bash 复制代码
{
    // 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:

cpp 复制代码
{
     "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字段:

cpp 复制代码
    {
        "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标签名称即可。这样就可以通过快捷键快速运行啦。

相关推荐
xqlily2 小时前
Windows8.1安装哪个版本的vscode?
ide·vscode·编辑器
七灵微2 小时前
【VSCode】上传插件
ide·vscode·编辑器
小妖66615 小时前
vscode 源码编译
ide·vscode·编辑器
肥or胖16 小时前
【FFmpeg 快速入门】本地播放器 项目
开发语言·qt·ffmpeg·音视频
focksorCr18 小时前
在VsCode上使用开发容器devcontainer
ide·vscode·编辑器
小灰灰搞电子1 天前
Qt Quick 粒子系统详解
开发语言·qt
暴躁茹1 天前
Qt 将触摸事件转换为鼠标事件(Qt4和Qt5及以上版本)
开发语言·qt·计算机外设
测试开发技术1 天前
Claude Code如何集成到VSCode、PyCharm IDE及使用技巧
ide·vscode·pycharm·ai编程·claude·cursor·claude code
大专生学编程1 天前
QT简介和QT环境搭建
c++·qt
feiyangqingyun1 天前
Qt/C++开发监控GB28181系统/视频点播没有ssrc问题的处理/兼容各种设备和应用场景需求
c++·qt·gb28181