VSCode统一生成exe文件位置到output文件夹(无插件版)
创作时间:
作者:
@小白创作中心
VSCode统一生成exe文件位置到output文件夹(无插件版)
引用
CSDN
1.
https://blog.csdn.net/2301_79273066/article/details/143117047
问题描述
在使用VSCode编译C++程序时,生成的exe文件默认会存放在当前文件夹下。长此以往,这不仅影响查找文件的效率,还会影响代码管理的整洁度。那么,有没有一种方式可以将这些exe文件统一存放到某一个文件夹之下呢?
答案是肯定的。虽然许多常见博客推荐使用Code Runner插件进行改进,但这种方法需要额外下载插件并且进行设置,难以随着项目迁移,且未来修改时可能忘记设置方式和途径。本文将介绍通过设置 .vscode/launch.json 和 .vscode/settings.json 两个文件来实现相同效果的操作,同时保障可迁移性和直观性。
问题解决
设置tasks.json进行构建
该文件用于定义和配置任务。任务可以是任何外部工具,如编译器、构建脚本、或者是运行测试套件的命令。在这里,我们设置build任务。
特别注意其中args中 -o 的指定路径中我们添加了 \\output 的字段。这意味着将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文件夹中:
最后
该方法应该是最为简单直接的方式,但是有一个无法避免的弊端就是不允许路径或者文件名称上有中文存在。否则会出现错误。该问题目前还没有合适的解决方法。
热门推荐
菠菜怎么做最有营养?这几种做法最推荐
菠菜功效抗癌助减肥?菠菜10好处+禁忌请笔记、2种人吃菠菜要小心
2025年邢台一级消防工程师考试科目 怎么备考
温柔的高级感,别拒绝!春夏穿这些颜色,低调雅致又有女人味
自然元素在壁纸中的应用
首批国家试点一年考 海绵城市:时间紧,任务重
汇川PLC使用socket与其他控制器通讯的完整示例
三山里的精灵(17) 猫头鹰:六盘山上“夜行侠”
Word长篇文档批量修改标题样式的四种方法
亚精英赛:迪拜祈祷1-1战平萨德,比赛战报及数据统计
移动平均线八大法则,了解葛兰碧八大买卖法则
GnAKG与中医理论在中风后遗症康复中的综合应用
咱家,真的有“矿”!——我命由我不由天,富贵在手笑开颜!
非婚生子孩子跟谁姓?离婚时孩子抚养权如何确定?
国际设计奖的评选标准有哪些?
如何顺利申请退税:步骤、材料及注意事项详解
《桃花源记》到底想要表达什么,为什么有人向往,有人细思极恐
细胞外囊泡治疗面瘫:7例临床研究揭示新希望
面瘫的发病原因有哪些?
植物的各个部分:详细说明和主要功能
长沙全口种植牙价格调查:走访多家医院,目前全口种牙费用得8w+
郁金香种植要每天浇水吗
郁金香种植要每天浇水吗
孩子叛逆厌学情绪重?父母妙招助你走出困境!
摄影入门:光与影的运用技巧
摄影进阶之提炼
【海生馆喂企鹅】近距离接触可爱企鹅,不再只能远看,想要喂食疗愈小企鹅就看这篇~
派出所辅警:有前途吗?探究其职业前景与挑战
重合的线是平行线吗? 两线关系深度解析
同一平面内两条直线的位置关系,直线的相交、平行与重合