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文件夹中:
最后
该方法应该是最为简单直接的方式,但是有一个无法避免的弊端就是不允许路径或者文件名称上有中文存在。否则会出现错误。该问题目前还没有合适的解决方法。
热门推荐
春节避寒反向旅游,推荐6个温暖小众城市,逃离人山人海,安排
街道调解物业纠纷方案详解
城市空间结构对城市发展的影响分析与探讨
Excel日期有空缺怎么补
保安族的腰刀技艺是如何在传承与未来的交汇中实现传承的?
加强行人文明交通教育,提升城市交通文明程度
总胆红素24.7属于肝功能异常吗
如何测试一个人工智能软件的水平?
宜昌一天时间可以去哪里玩 宜昌一日游最佳路线 宜昌1日游攻略
象形字是什么意思?了解象形字的定义与特点
网站设计全流程攻略:从构思到实施的科学规划指南
如何选择最适合你的实用测量仪?【2025最新指南】
数据库CPU使用率过高怎么办?全方位解决方案详解
如何让AI高效自动生成PPT?掌握这些技巧让演示更轻松!
如何进行交流测试电源的维护和定期校准?
咖啡杯测有什么作用?咖啡杯测流程详解 杯测能告诉你什么信息?
SCAA杯测评分标准详解:精品咖啡的品质评判体系
AI大模型技术解析-大模型背后的秘密
弃权与免责:理解这两个词汇在法律中的重要区别
台江县台盘乡棉花村:党建引领乡村产业迎来新“薯”光
C++(Qt)软件调试:Windows 性能分析器WPA使用指南
容易搞错的英文短语:再确认一下 ≠ double confirm
巴黎奥运会上,中国最遗憾的8个银牌,每一个都让人意难平
RNA和DNA的区别是什么?了解RNA和DNA的结构与功能差异
京津冀协同发展11年,现代化首都都市圈正在成型
交通一体化引领秦皇岛融入京津冀协同发展大局
常见 Apple TV 问题及解决方法
海上之旅,大连至烟台船票时刻表全解析
大马残奥会6金牌得主 他们也是我们的骄傲!
房车改装重型滑轨选择指南:安全、耐用、适配性三大核心解析