当前位置: 首页 > article >正文

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


http://www.kler.cn/a/557758.html

相关文章:

  • 运筹说 第132期 | 矩阵对策的基本理论
  • PostgreSQL:更新字段慢
  • 索引与Redis 知识点
  • 易飞ERP查询报表提示:报表档的字段数为21但要写到报表档的字段数为42;报表没有信息;;
  • 策略模式介绍和代码示例
  • 对Revit事务机制的一些推测
  • Webpack的基本功能有哪些
  • 负载均衡集群( LVS 相关原理与集群构建 )
  • RT-Thread+STM32L475VET6——icm20608传感器
  • 可变参数学习
  • 论文略:ACloser Look into Mixture-of-Experts in Large Language Models
  • 详解单例模式、模板方法及项目和源码应用
  • 基于Spring Boot的兴顺物流管理系统设计与实现(LW+源码+讲解)
  • Linux提权篇之内核提权(三)
  • Rust并发编程实践:10分钟入门系统级编程
  • reacct hook useState
  • Linux 在云计算中的应用有哪些?
  • Flutter 启动优化
  • Part 3 第十二章 单元测试 Unit Testing
  • 二叉树-翻转二叉树