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

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

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

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

正常來說,使用MSVC編譯器,應(yīng)該是對應(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è)腳本就行了 ,會自動配置相關(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,接下來在Trae中設(shè)置編譯任務(wù)。
快捷鍵:Ctrl+Shift+p
然后選擇配置任務(wù),開始編輯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
}
}
]
}
內(nèi)容其實(shí)很簡單,就是配置每一項(xiàng)需要執(zhí)行的任務(wù),自定義相關(guān)標(biāo)簽,標(biāo)明是要做什么任務(wù)的,然后指定任務(wù)的執(zhí)行命令即可。
我這里配置了 release模式的 qmake,build,Run,debug模式的qmake,build。還有clean,clean也是直接通過jom來調(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編譯,使用了&&符號連接兩個(gè)命令先后執(zhí)行。
需要注意的是,執(zhí)行命令的終端默認(rèn)使用的是PowerShell,直接執(zhí)行這個(gè)任務(wù)會報(bào)錯(cuò),因?yàn)镻owerShell中不支持&&符號連接兩個(gè)命令。所以我們需要切換到cmd再執(zhí)行,很簡單,設(shè)置一下默認(rèn)終端即可:
在底部窗口工具欄上點(diǎn)擊下拉,選擇默認(rèn)配置文件:

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

這樣我們的終端就默認(rèn)變成cmd了,再執(zhí)行以上task任務(wù)的時(shí)候就會默認(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ù)了。
在文件菜單打開鍵盤快捷鍵

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

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

