Visual studio code 在集成终端Visual Studio代码上运行代码

Visual studio code 在集成终端Visual Studio代码上运行代码,visual-studio-code,Visual Studio Code,我的task.json中有以下代码: { "taskName": "Run", "suppressTaskName": true, "args": [ "${workspaceRoot}/bin/Albedo" ] } 当我运行“run”时,程序按预期启动,但是当我在代码中有getchar()时,当我运行程序时,它在输出中卡住了,什么也没有发生。没有地方可以按Enter继续 所以我在考虑如何

我的task.json中有以下代码:

    {
        "taskName": "Run",
        "suppressTaskName": true,
        "args": [
            "${workspaceRoot}/bin/Albedo"
        ]
    }
当我运行“run”时,程序按预期启动,但是当我在代码中有
getchar()
时,当我运行程序时,它在输出中卡住了,什么也没有发生。没有地方可以按
Enter
继续


所以我在考虑如何打开集成终端并从那里运行它?是否可以从
task.json
调用这样的命令?

这一功能实际上是在即将发布的1月份版本中添加的,请参阅发行说明草稿的第页。基本上,您只需将其添加到
任务中即可。json

"_runner": "terminal"

如果您不想等到发布(应该很快就会发布)才检查此问题,您可以使用。

在集成终端中以交互方式运行代码,一次运行一行代码,或者只需按ctrl+enter键即可选择多行代码,我执行了以下操作:

  • 安装扩展插件

  • 将以下内容添加到用户设置中

  • “宏”:{
    “canCopyEmpty”:[
    “expandLineSelection”,
    “editor.action.clipboardCopyAction”,
    “取消选择”
    ],
    “运行线”:[
    “宏。canCopyEmpty”,
    “workbench.action.terminal.paste”,
    {
    “命令”:“workbench.action.focusActiveEditorGroup”,
    “何时”:“终端焦点”
    }
    ],
    “运行选择”:[
    “workbench.action.terminal.runSelectedText”,
    “光标镇”
    ]
    }
    
  • 将以下内容添加到
    keybindings.json
  • {
    “键”:“ctrl+enter”,
    “命令”:“macros.runLine”,
    “args”:{
    “cmd”:“ls”,
    “匹配”:“*”
    },
    “何时”:“EditorExtFocus&!editorHasSelection”
    },
    {
    “键”:“ctrl+enter”,
    “命令”:“macros.runSelection”,
    “args”:{
    “cmd”:“ls”,
    “匹配”:“*”
    },
    “何时”:“EditorExtFocus&&editorHasSelection”
    }
    
    您知道是否可以将键盘快捷方式映射到不同的任务?请看,这是一个旧答案,对VSCode核心的更改打破了原始答案中的键绑定。我已使用与最新版本的VSCode一起使用的
    键绑定
    用户设置
    对其进行了更新。没有什么可以阻止将来的更改再次破坏它。