【Trae】如何使用Trae编译C++(附带MinGW)
结果
先看结果
这是一道回文串题目,F5编译,控制台输入输出。

下载
- 下载Trae编译器,直接去官网下:https://www.trae.cn/
- 下载VSCode编译器,这个相信用Trae的各位都不陌生。https://code.visualstudio.com/
- 查看你的C盘,
C:\Users\Administrator\.vscode\extensions路径下是否有extensions.json文件,如果没有,请将VSCode卸载后重装。
- 查看你的C盘,
安装插件
在VSCode里安装“C/C++”插件。

这里需要在VSCode里安装的原因是C/C++插件在Trae里是搜不到的。
再次查看C:\Users\Administrator\.vscode\extensions路径,看看插件是否安装成功,且extensions.json文件里有这个插件。


关闭VSCode,打开Trae。
点击右上角头像-IDE设置

选择“从VSCode导入”,等待它导入插件,导入完成后点击查看一下,是不是下载的那些插件。

编译
新建一个文件夹,用Trae打开,再在里面新建一个cpp文件,输入一段HelloWorld代码。

会看到自动生成了一个.vscode文件夹。
在这里按F5运行,如果运行成功,会出现如下所示。

如果运行失败,请进行如下配置。
下载MinGW并安装到D盘(傻瓜式教学,跟着安就行,除非你知道要修改的json里每个参数的意义)
这里我贴心地给大家建了项目。
https://gitcode.com/qq_36286039111111111111111mq8/MyMinGW.git
把这个项目拉下来,MinGW放到D盘,bin文件夹的路径如下所示。

并且在环境变量的PATH里配置这个bin文件夹(相信各位对PATH都很熟悉)

接下来来到Trae,找到那个.vscode文件夹
c_cpp_properties.json
{{"configurations":[{"name":"windows-gcc-x64","includePath":["${workspaceFolder}/**"],"compilerPath":"D:/MinGW/bin/gcc.exe","cStandard":"${default}","cppStandard":"${default}","intelliSenseMode":"windows-gcc-x64","compilerArgs":[""],"browse":{"limitSymbolsToIncludedHeaders":true,"databaseFilename":"","path":["${workspaceFolder}/**","D:/mingw/include/**","D:/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++","D:/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32","D:/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward","D:/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include","D:/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed","D:/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"]}}],"version":4}}launch.json
{"version":"0.2.0","configurations":[{"name":"(gdb) Launch","type":"cppdbg","request":"launch","program":"${workspaceFolder}/exe/${fileBasenameNoExtension}.exe","args":[],"stopAtEntry":false,"cwd":"${workspaceFolder}","environment":[],"externalConsole":false,"MIMode":"gdb","miDebuggerPath":"D:/MinGW/bin/gdb.exe","preLaunchTask":"g++","setupCommands":[{"description":"Enable pretty-printing for gdb","text":"-enable-pretty-printing","ignoreFailures":true}]},{"name":"C/C++ Runner: Debug Session","type":"cppdbg","request":"launch","args":[],"stopAtEntry":false,"externalConsole":true,"cwd":"i:/work/MyGit/MyCpp_Git","program":"i:/work/MyGit/MyCpp_Git/build/Debug/outDebug","MIMode":"gdb","miDebuggerPath":"gdb","setupCommands":[{"description":"Enable pretty-printing for gdb","text":"-enable-pretty-printing","ignoreFailures":true}]}]}settings.json 这个不一定需要,但我还是放在这里
{"C_Cpp_Runner.cCompilerPath":"gcc","C_Cpp_Runner.cppCompilerPath":"g++","C_Cpp_Runner.debuggerPath":"gdb","C_Cpp_Runner.cStandard":"","C_Cpp_Runner.cppStandard":"","C_Cpp_Runner.msvcBatchPath":"","C_Cpp_Runner.useMsvc":false,"C_Cpp_Runner.warnings":["-Wall","-Wextra","-Wpedantic","-Wshadow","-Wformat=2","-Wcast-align","-Wconversion","-Wsign-conversion","-Wnull-dereference"],"C_Cpp_Runner.msvcWarnings":["/W4","/permissive-","/w14242","/w14287","/w14296","/w14311","/w14826","/w44062","/w44242","/w14905","/w14906","/w14263","/w44265","/w14928"],"C_Cpp_Runner.enableWarnings":true,"C_Cpp_Runner.warningsAsError":false,"C_Cpp_Runner.compilerArgs":[],"C_Cpp_Runner.linkerArgs":[],"C_Cpp_Runner.includePaths":[],"C_Cpp_Runner.includeSearch":["*","**/*"],"C_Cpp_Runner.excludeSearch":["**/build","**/build/**","**/.*","**/.*/**","**/.vscode","**/.vscode/**"],"C_Cpp_Runner.useAddressSanitizer":false,"C_Cpp_Runner.useUndefinedSanitizer":false,"C_Cpp_Runner.useLeakSanitizer":false,"C_Cpp_Runner.showCompilationTime":false,"C_Cpp_Runner.useLinkTimeOptimization":false,"C_Cpp_Runner.msvcSecureNoWarnings":false,"files.associations":{"cctype":"cpp","cmath":"cpp","cstdarg":"cpp","cstdint":"cpp","cstdio":"cpp","cstdlib":"cpp","type_traits":"cpp","limits":"cpp","typeinfo":"cpp","iostream":"cpp"},"terminal.integrated.suggest.enabled":true}tasks.json 这个文件不一定需要,但我还是放在这里。
注意像我这样配置需要在项目目录下新建一个名为exe的文件夹,用于存储编译过后的文件。
{"version":"2.0.0","command":"g++","args":["-g","${file}","-o","${workspaceFolder}/exe/${fileBasenameNoExtension}.exe"],"problemMatcher":{"owner":"cpp","fileLocation":["relative","\\"],"pattern":{"regexp":"^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$","file":1,"line":2,"column":3,"severity":4,"message":5}},"tasks":[{"type":"cppbuild","label":"g++","command":"D:/MinGW/bin/g++.exe","args":["-fdiagnostics-color=always","-g","${file}","-o","${workspaceFolder}/exe/${fileBasenameNoExtension}.exe",""],"options":{"cwd":"D:/MinGW/bin"},"problemMatcher":["$gcc"],"group":{"kind":"build","isDefault":true},"detail":"调试器生成的任务。"}]}至此再去尝试编译,一般没什么大问题 ,报什么错就去解决一下就好了。
QA
- 如果控制台能编译成功就是不能输入数据怎么办?
我遇到了之后是MinGW版本问题,把原本的MinGW删了,装我在文章里给的那个。 - 报错找不到g++?
PATH没配置。