首页 > 解决方案 > vscode 代码运行器:在外部终端执行代码并暂停它

问题描述

这是一个类似的问题

我的意图是

  1. 使代码在外部终端中运行
  2. 暂停该终端,以便我可以看到结果。

在集成终端中运行代码的原始代码运行程序设置是

"code-runner.executorMap":{  
       "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
       ...  
}

我已经设法使用以下代码使代码在外部终端中运行:

"code-runner.executorMap":{  
    "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && start $fileNameWithoutExt.exe",  
     ...  
}

但是终端消失得如此之快,以至于我看不到结果。
我在上面的链接上尝试了第四个答案:

"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && Start pwsh -Command  \"& {.\\$fileNameWithoutExt.exe; pause}\"",

但它对我不起作用,因为 vscode 说:找不到与参数名称“命令”匹配的参数。

我也试过

"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && start $fileNameWithoutExt.exe && pause",

但外部终端仍然消失,“暂停”使集成终端暂停。
然后我尝试了

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

我认为“start cmd”会打开新的命令提示符,“/k”会让它继续。
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/cmd

它仍然不起作用,vscode 说:找不到接受参数的位置参数hw3.exe。(hw3 是我的文件名)

我知道终端中有code-runner:run- 是否在集成终端设置中运行代码,Files>Preferences>Settings>User但我的工作区中有几个文件夹,我打算只在外部终端中为这个特定文件夹运行代码。因此,我保持检查该设置并使用该文件夹独有的settings.json 。

感谢您的时间,并保持安全!

标签: visual-studio-code

解决方案


这应该可以解决问题:

    "code-runner.executorMap":{
        "cpp": "cd $dir && g++ -O2 -std=c++17 $fileName -o $fileNameWithoutExt && start cmd \"/k ; $fileNameWithoutExt\""
    },

推荐阅读