【问题标题】:vscode code runner: excute codes in external terminal and pause itvscode 代码运行器:在外部终端执行代码并暂停
【发布时间】:2021-04-05 23:09:02
【问题描述】:

Here's a similar question

我的目的是

  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


    【解决方案1】:

    这应该可以解决问题:

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

    【讨论】:

    • 非常感谢!此答案适用于 cpp,将“cpp”更改为“c”后它也适用于 c
    猜你喜欢
    • 1970-01-01
    • 2021-06-09
    • 2022-08-22
    • 2015-10-19
    • 1970-01-01
    • 2022-12-07
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    相关资源
    最近更新 更多