Trae+Qt+MSVC環(huán)境配置的實(shí)現(xiàn)示例
Trae
Trae是字節(jié)跳動(dòng)基于VSCode推出的AI集成開(kāi)發(fā)環(huán)境(IDE),是一款專(zhuān)為中文開(kāi)發(fā)者深度定制的智能編程工具。其目標(biāo)是通過(guò)AI技術(shù)實(shí)現(xiàn)從“Copilot”到“Autopilot”的編程模式演進(jìn)。
類(lèi)似這樣的IDE比如Windsurf、Cursor,都是基于VSCode的,風(fēng)格都一樣。
背景
OK,既然是基于VSCode,那其實(shí)用法跟VSCode都差不多的。本文是記錄在Trae中搭建Qt開(kāi)發(fā)環(huán)境,作為QtCreator的重度依賴(lài)者,為了體驗(yàn)AI變成帶來(lái)的高效,嘗試從QtCreator轉(zhuǎn)換到Trae,需要有一個(gè)適應(yīng)過(guò)程,QtCreator作為Qt官方推出的IDE,自然是最能適配Qt項(xiàng)目開(kāi)發(fā)的,環(huán)境配置也很簡(jiǎn)單,安裝Qt的時(shí)候一套流程全都配好了。
這里主要是針對(duì)從QtCreator用戶過(guò)來(lái)的寶子,前提是已經(jīng)有Qt開(kāi)發(fā)環(huán)境,如何在Trae(VSCode、Windsurf、Cursor都適用)中配置編譯任務(wù),以及設(shè)置一些在QtCreator中常見(jiàn)的配置和用法。
環(huán)境
測(cè)試是使用的版本是:Qt5.15.2,qmake+msvc2019編譯。
正文
首先,打開(kāi)Trae,要支持Qt工程及相關(guān)語(yǔ)法,需要安裝相應(yīng)的插件,直接在插件市場(chǎng)搜索qt和qml,安裝一些基礎(chǔ)插件就行了,我安裝了這些:

然后還有C/C++的插件,如果要用到CMake編譯的話,一起安裝,我安裝了這些:

然后導(dǎo)入一個(gè)現(xiàn)有的Qt項(xiàng)目,或者新建一個(gè)Qt工程。
Qt環(huán)境變量:

MSVC編譯器環(huán)境變量:

正常來(lái)說(shuō),使用MSVC編譯器,應(yīng)該是對(duì)應(yīng)使用nmake命令進(jìn)行編譯,但是由于nmake是單線程編譯,速度比較慢,而QtCreator里面默認(rèn)是配置用jom編譯,jom支持多線程編譯,速度很快,并且完全兼容nmake編譯,所以上面添加Qt環(huán)境變量中,添加了QtCreator目錄下的jom目錄,就是為了能夠使用jom進(jìn)行編譯。
而MSVC的環(huán)境變量,其實(shí)編譯的時(shí)候直接運(yùn)行一次VS安裝目錄下的這個(gè)腳本就行了 ,會(huì)自動(dòng)配置相關(guān)的編譯環(huán)境。

如果是x86就執(zhí)行vcvars32.bat,x64就執(zhí)行vcvars64.bat腳本。
所以前面的環(huán)境變量我們添加了C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build目錄,就是為了方便快捷調(diào)用這兩個(gè)腳本。
OK,接下來(lái)在Trae中設(shè)置編譯任務(wù)。
快捷鍵:Ctrl+Shift+p
然后選擇配置任務(wù),開(kāi)始編輯task.json文件:

我這邊測(cè)試寫(xiě)的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
}
}
]
}
內(nèi)容其實(shí)很簡(jiǎn)單,就是配置每一項(xiàng)需要執(zhí)行的任務(wù),自定義相關(guān)標(biāo)簽,標(biāo)明是要做什么任務(wù)的,然后指定任務(wù)的執(zhí)行命令即可。
我這里配置了 release模式的 qmake,build,Run,debug模式的qmake,build。還有clean,clean也是直接通過(guò)jom來(lái)調(diào)用。
重點(diǎn)看build:
{
"label": "build",
"type": "shell",
"command": "cmd",
"args": [
"/c",
"\"call vcvars64.bat && jom\""
],
"group": {
"kind": "build",
"isDefault": true
},
"dependsOn": ["qmake"]
},
這里是執(zhí)行shell命令,調(diào)用vcvars64.bat 以及 jom編譯,使用了&&符號(hào)連接兩個(gè)命令先后執(zhí)行。
需要注意的是,執(zhí)行命令的終端默認(rèn)使用的是PowerShell,直接執(zhí)行這個(gè)任務(wù)會(huì)報(bào)錯(cuò),因?yàn)镻owerShell中不支持&&符號(hào)連接兩個(gè)命令。所以我們需要切換到cmd再執(zhí)行,很簡(jiǎn)單,設(shè)置一下默認(rèn)終端即可:
在底部窗口工具欄上點(diǎn)擊下拉,選擇默認(rèn)配置文件:

然后會(huì)彈出然你選擇默認(rèn),這時(shí)候點(diǎn)擊Command Prompt即可。

這樣我們的終端就默認(rèn)變成cmd了,再執(zhí)行以上task任務(wù)的時(shí)候就會(huì)默認(rèn)使用cmd。
配置好task后執(zhí)行命令,快捷鍵 Ctrl+Shift+B,選擇要運(yùn)行生成的任務(wù)即可:

以上配置已完成。
but~
快捷鍵
習(xí)慣了Qtcreator中直接快捷鍵Ctrl+R就能編譯運(yùn)行程序,但是在這里要點(diǎn)擊幾個(gè)步驟才能執(zhí)行任務(wù),其實(shí)我們可以直接將任務(wù)自定義快捷鍵的,這樣就能夠快速的執(zhí)行了任務(wù)了。
在文件菜單打開(kāi)鍵盤(pán)快捷鍵

然后點(diǎn)擊標(biāo)題欄右邊這個(gè)圖標(biāo)

添加json字段:
{
"key": "ctrl+r", // 運(yùn)行
"command": "workbench.action.tasks.runTask",
"args": "Run-Release" // 任務(wù)的 label 名稱(chēng)
},
{
"key": "ctrl+b", // 編譯
"command": "workbench.action.tasks.runTask",
"args": "build" // 任務(wù)的 label 名稱(chēng)
},
這里指定快捷鍵以及要運(yùn)行的task中的label標(biāo)簽名稱(chēng)即可。這樣就可以通過(guò)快捷鍵快速運(yùn)行啦。
到此這篇關(guān)于Trae+Qt+MSVC環(huán)境配置的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Trae+Qt+MSVC環(huán)境配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語(yǔ)言入門(mén)篇--字符串的基本理論及應(yīng)用
本篇文章是c語(yǔ)言基礎(chǔ)篇,主要為大家介紹了C語(yǔ)言中字符串的基本理論及應(yīng)用,希望可以幫助大家快速入門(mén)c語(yǔ)言的世界,更好的理解c語(yǔ)言2021-08-08
C語(yǔ)言實(shí)現(xiàn)獲取內(nèi)存信息并輸出的實(shí)例
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)獲取內(nèi)存信息并輸出的實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-03-03
C語(yǔ)言中while與do-while的介紹與注意事項(xiàng)
對(duì)于C語(yǔ)言中的while與do-while,相信很多都再熟悉不過(guò)了,最近在工作中就用到了,所以想著總結(jié)一下,方便自己或者有需要的朋友們參考借鑒,文中通過(guò)示例代碼介紹的很詳細(xì),感興趣的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2016-10-10
Qt實(shí)現(xiàn)模糊匹配功能的實(shí)例詳解
對(duì)于瀏覽器的使用,我想大家一定不會(huì)陌生吧,輸入要搜索的內(nèi)容時(shí),會(huì)出現(xiàn)相應(yīng)的匹配信息。本文就來(lái)用Qt實(shí)現(xiàn)模糊匹配功能,感興趣的可以了解一下2022-10-10
C語(yǔ)言實(shí)現(xiàn)linux網(wǎng)卡檢測(cè)精簡(jiǎn)版
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)linux網(wǎng)卡檢測(cè)的精簡(jiǎn)版,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
C++?Boost?weak_ptr智能指針超詳細(xì)講解
智能指針是一種像指針的C++對(duì)象,但它能夠在對(duì)象不使用的時(shí)候自己銷(xiāo)毀掉。雖然STL提供了auto_ptr,但是由于不能同容器一起使用(不支持拷貝和賦值操作),因此很少有人使用。它是Boost各組件中,應(yīng)用最為廣泛的一個(gè)2022-11-11

