Trae+Qt+MSVC環(huán)境配置的實(shí)現(xiàn)示例
Trae
Trae是字節(jié)跳動(dòng)基于VSCode推出的AI集成開(kāi)發(fā)環(huán)境(IDE),是一款專為中文開(kāi)發(fā)者深度定制的智能編程工具。其目標(biāo)是通過(guò)AI技術(shù)實(shí)現(xiàn)從“Copilot”到“Autopilot”的編程模式演進(jìn)。
類似這樣的IDE比如Windsurf、Cursor,都是基于VSCode的,風(fēng)格都一樣。
背景
OK,既然是基于VSCode,那其實(shí)用法跟VSCode都差不多的。本文是記錄在Trae中搭建Qt開(kāi)發(fā)環(huán)境,作為QtCreator的重度依賴者,為了體驗(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è)試寫的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)鍵盤快捷鍵
然后點(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)簽名稱即可。這樣就可以通過(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ǔ)言關(guān)鍵字之a(chǎn)uto register詳解
這篇文章主要為大家介紹了C語(yǔ)言關(guān)鍵字之a(chǎn)uto register,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-01-01C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)系列篇二叉樹(shù)的概念及滿二叉樹(shù)與完全二叉樹(shù)
在上一章中我們正式開(kāi)啟了對(duì)數(shù)據(jù)結(jié)構(gòu)中樹(shù)的講解,介紹了樹(shù)的基礎(chǔ)。本章我們將學(xué)習(xí)二叉樹(shù)的概念,介紹滿二叉樹(shù)和完全二叉樹(shù)的定義,并對(duì)二叉樹(shù)的基本性質(zhì)進(jìn)行一個(gè)簡(jiǎn)單的介紹。本章附帶課后練習(xí)2022-02-02c++中的字節(jié)序與符號(hào)位的問(wèn)題
這篇文章主要介紹了c++中的字節(jié)序與符號(hào)位的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07從匯編看c++函數(shù)的默認(rèn)參數(shù)的使用說(shuō)明
本篇文章介紹了,在c++中函數(shù)的默認(rèn)參數(shù)的使用說(shuō)明分析。需要的朋友參考下2013-05-05解析wprintf 中使用%I64d格式化輸出LONGLONG的詳細(xì)介紹
本篇文章是對(duì)wprintf 中使用%I64d格式化輸出LONGLONG進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C++哈希表之閉散列方法的模擬實(shí)現(xiàn)詳解
閉散列指(開(kāi)放定址法)發(fā)生沖突時(shí),如果哈希表沒(méi)有被填滿,則表內(nèi)一定還有其他空閑位置,可以把沖突值放到下一個(gè)沒(méi)有被占用的空余位置上。本文將模擬實(shí)現(xiàn)閉散列方法,需要的可以參考一下2022-11-11C語(yǔ)言大小端模式、判斷大小端、大小端轉(zhuǎn)換方法詳解
這篇文章主要介紹了C語(yǔ)言大小端模式、判斷大小端、大小端轉(zhuǎn)換的相關(guān)資料,大端和小端是數(shù)據(jù)在內(nèi)存中的存儲(chǔ)方式,大端模式下高字節(jié)存于低地址,小端模式則相反,大小端問(wèn)題由數(shù)據(jù)類型多字節(jié)存儲(chǔ)引起,不同選擇形成不同存儲(chǔ)模式,需要的朋友可以參考下2024-10-10一文搞懂C語(yǔ)言static關(guān)鍵字的三個(gè)作用
這篇文章主要介紹了C語(yǔ)言static關(guān)鍵字的三個(gè)作用,本文通過(guò)實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04