VSCode统一生成exe文件位置到output文件夹(无插件版)
创作时间:
作者:
@小白创作中心
VSCode统一生成exe文件位置到output文件夹(无插件版)
引用
CSDN
1.
https://blog.csdn.net/2301_79273066/article/details/143117047
在使用VSCode开发C++程序时,每次编译生成的exe文件都会默认存放在当前文件夹下,这可能会导致文件管理混乱,影响工作效率。本文将介绍一种无需额外插件,仅通过配置VSCode的tasks.json和launch.json文件,即可将所有exe文件统一存放到指定的output文件夹中的方法。
问题描述
在VSCode中运行或编译C++程序时,默认会将生成的exe文件存放在当前文件夹下,如下图所示:
长期以往,这会严重影响文件查找效率和项目整洁度。虽然可以通过安装Code Runner插件来解决这个问题,但这种方法存在以下缺点:
- 需要额外下载插件
- 配置难以随项目迁移
- 未来修改时可能忘记具体设置方式
本文将介绍一种更简单直接的方法,通过配置.vscode/tasks.json和.vscode/settings.json文件来实现相同效果,同时保证配置的可迁移性和直观性。
问题解决
设置tasks.json进行构建
该文件用于定义和配置任务。在这里我们设置build任务,将exe文件生成到指定的output文件夹下。
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe build active file",
"command": "C:\\Program Files\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\output\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
设置launch.json进行调试
该文件定义了调试器如何启动应用程序。由于build时将exe生成到了output目录下,因此需要在program和cwd中添加output路径。
{
"configurations": [
{
"name": "C/C++: g++.exe build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\output\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}\\output",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\Program Files\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe build active file"
}
],
"version": "2.0.0"
}
文件放置和运行
将上述两个配置文件放置到项目的.vscode目录下,项目结构如下:
此时再次点击运行,便可以发现所有exe都已经放置到了output文件夹中:
最后
该方法应该是最为简单直接的方式,但是有一个无法避免的弊端就是不允许路径或者文件名称上有中文存在。否则会出现错误。该问题目前还没有合适的解决方法。
热门推荐
长沙理工大学怎么样 好不好
湖南高校十强揭晓:湖大屈居第二,长沙理工第五,湖中医垫底
劳动仲裁裁决的强制执行力解析
辛金生午月有没有印,辛金克乙木的表现
性激素六项检查的费用参考
胆囊做什么检查最准确
万里长城在北京 | 以山为城,以河为池
万里长城尽头竟藏海上,揭秘千古谜团背后的真相!
如何构建科研数据库体系
函数曲线切线方程求解详解:从基础概念到实际应用
房改房维修管理全解析:维修责任、物业费缴纳与外墙剥落维修
如何顺利完成房产二次抵押手续?这种抵押如何降低风险?
时间管理大师养成记:智慧平衡,让孩子学习与娱乐并重
科学家构建全新数据驱动分析框架,推动控制系统向数据驱动变革
《天道》全文赏析:冯道的智慧人生哲学
汉武帝为什么要杀李陵全家?真相是什么?
白津夫:加快形成自贸港海洋经济发展新优势
肺心病主要病因
化学常识:物质组成、构成的描述
术前准备全攻略,让手术不再可怕
患者须知:做日间手术前,术前评估与准备工作
2024,网红爆火的“速成秘籍”
冬训课表⑬|冲PB,做好三个环节!
肺结核什么引起的
适合湖北省种植的51种花草推荐
四句口诀,“罩”住健康
踏频对骑行那么重要,我们到底该如何训练?
哲学思维方法:悬置判断,不做任何主观判断,或许才是最好的选择
股票市场的中长期表现:理解市场的发展趋势
李氏家谱字辈明细大全怎么查?