我正在使用 VSCode 在 C++ 中编程。
当我运行代码(使用“Code Runner”扩展名)时,该.exe
文件存储在同一文件夹中。
我在许多项目中看到他们将其存储在一个/bin
文件夹中。
是否可以自动将其存储在其中?/bin
(如果文件夹不存在,也要创建它)。
谢谢!
4 回答
我想出了两种方法来完成你的任务:
在这种情况下,您必须手动创建bin文件夹
所以让我们配置你的 VScode 扩展
从扩展页面按照此步骤打开设置
在设置选项卡中打开“在 settings.json 中编辑”
在您的 Json 中找到 "code-runner.executorMap"::cpp 并插入以下命令而不是现有命令
cd $dir/bin && g++ ../$fileName -o $fileNameWithoutExt && $fileNameWithoutExt
PS 此命令适用于 Windows,可能不适用于 linux。我猜如果上一个命令在linux中不起作用,那么尝试下一个
cd $dir/bin && g++ ../$fileName -o $fileNameWithoutExt && ./$fileNameWithoutExt
而且我认为,如果您是 linux 用户,您可以使用命令自动执行所有操作(但不幸的是我无法测试它)
cd $dir && mkdir -p bin && cd bin && g++ ../$fileName -o $fileNameWithoutExt && ./$fileNameWithoutExt
在这种情况下,您必须通过以下行添加到您的 json 来将执行切换到集成终端(因此输出会有所变化)
"code-runner.runInTerminal": true
并将您的 cpp 命令更改为:
用于窗户
cd $dir && mkdir -Force bin > $null && cd bin && g++ ../$fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt
我猜对于 linux
cd $dir && mkdir -p bin && cd bin && g++ ../$fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt
如果有人有兴趣将可执行文件分离到 \bin 目录并使用外部 cmd.exe 运行代码,请使用此 (code-runner.executorMap):
"c": "cd $dir && gcc $fileName -o .\\bin\\$fileNameWithoutExt && start cmd \"/k ; .\\bin\\$fileNameWithoutExt\""
这适用于 C,但很容易为 C++ 修改。
对于那些单独使用 /src 和 /bin 的人,这是我的解决方案:
将“cpp”:在“code-runner.executorMap”下:更改为
"cpp": "cd $dir && g++ $fileName -o ..\\bin\\$fileNameWithoutExt && ..\\bin\\$fileNameWithoutExt",
这会从父目录中的 bin 文件夹创建并运行 .exe。
要添加到 Deumaudit 对 Linux 用户的回答,
bin
在您的工作目录中手动创建一个文件夹。现在在您的settings.json
文件中"code-runner.executorMap"::cpp
插入以下命令而不是现有命令:
cd $dir && g++ $fileName -o $dir/bin/$fileNameWithoutExt && $dir/bin/$fileNameWithoutExt