VSCode 中的 Cpp - 如何编译到其他文件夹

Cpp in VSCode - How to compile to other folder

我正在使用 VSCode 用 C++ 编程。
当我 运行 代码(使用“Code Runner”扩展)时,.exe 文件存储在同一个文件夹中。
我在许多项目中看到他们将其存储在 /bin 文件夹中。
是否可以自动将其存储在那里? (如果 /bin 文件夹不存在,也创建它)。
谢谢!

我想出了 2 种方法来完成您的任务:

  1. 在这种情况下,您必须手动创建 bin 文件夹

    那么让我们配置您的 VScode 扩展程序

    从扩展程序页面按照此步骤打开设置

    从扩展程序页面按照此步骤打开设置

    在设置选项卡中打开“在 settings.json 中编辑”

    在您的 Json 中找到“code-runner.executorMap”::cpp 并插入以下命令而不是现有命令

    cd $dir/bin && g++ ../$fileName -o $fileNameWithoutExt && $fileNameWithoutExt
    

    所以它看起来像这样

    P。 S. 此命令适用于 Windows,但可能不适用于 linux。我猜如果前面的命令在 linux 中不起作用,那么尝试下一个

    cd $dir/bin && g++ ../$fileName -o $fileNameWithoutExt && ./$fileNameWithoutExt
    

    而且我认为,如果您是 linux 用户,您可以使用命令自动执行所有操作(但不幸的是我无法测试它)

    cd $dir && mkdir -p bin && cd bin && g++ ../$fileName -o $fileNameWithoutExt && ./$fileNameWithoutExt
    
  2. 在这种情况下,您必须通过添加到 json 下面的行

    来将执行切换到集成终端(因此输出会稍微改变)
    "code-runner.runInTerminal": true
    

    并将您的 cpp 命令更改为:

    对于windows

    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
    

    所以它看起来像这样

添加 Deumaudit 对 Linux 用户的回答,

在您的工作目录中手动创建一个 bin 文件夹。 现在,在 "code-runner.executorMap"::cpp 下的 settings.json 文件中插入以下命令,而不是现有命令:

cd $dir && g++ $fileName -o $dir/bin/$fileNameWithoutExt && $dir/bin/$fileNameWithoutExt

对于那些单独使用 /src 和 /bin 的人,这是我的解决方案:

将“cpp”:在“代码-runner.executorMap”下更改为

"cpp": "cd $dir && g++ $fileName -o ..\bin\$fileNameWithoutExt && ..\bin\$fileNameWithoutExt",

这会从父文件夹中的 bin 文件夹创建并运行 .exe。

如果有人对将可执行文件分离到 \bin 目录和 运行 具有外部 cmd.exe 的代码感兴趣,请使用此 (code-runner.executorMap):

"c": "cd $dir && gcc $fileName -o .\bin\$fileNameWithoutExt && start cmd \"/k ; .\bin\$fileNameWithoutExt\""

这是针对 C 的,但很容易针对 C++ 进行修改。