You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复M1 MacBook上VS Code无法获取用户输入的问题

解决M1 MacBook上VS Code终端无法获取用户输入的问题

以下是针对你的场景(M1 Mac+VS Code+Code Runner插件,gcc/clang编译,程序能输出但无法接收输入)的可行解决方案:

方案1:修改Code Runner执行命令,使用系统终端运行

  1. 打开VS Code设置(快捷键Cmd + ,),搜索code-runner.executorMap,点击「编辑 in settings.json」。
  2. 替换C/C++对应的执行命令:
    "code-runner.executorMap": {
        "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && open -a Terminal.app $dir$fileNameWithoutExt",
        "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && open -a Terminal.app $dir$fileNameWithoutExt"
    }
    
    该配置会让编译后的程序在Mac系统自带的Terminal.app中运行,而非VS Code集成终端,确保交互式输入正常工作。

方案2:调整VS Code集成终端设置

  1. 确认code-runner.runInTerminal选项已勾选(设置中直接搜索该选项)。
  2. 检查集成终端默认配置:搜索terminal.integrated.defaultProfile.osx,确保选择的是zsh或bash(M1 Mac默认终端为zsh)。
  3. 尝试关闭code-runner.preserveFocus选项,让程序运行时自动聚焦到终端窗口,方便输入操作。

方案3:以Rosetta模式启动VS Code

M1芯片原生模式可能引发部分终端交互兼容问题,尝试:

  1. 找到应用程序文件夹中的VS Code,右键选择「显示简介」。
  2. 勾选「使用Rosetta打开」,重启VS Code后重新运行程序。

额外验证

确保测试代码无输入逻辑问题,可使用以下基础输入测试代码验证:

#include <stdio.h>
int main() {
    int num;
    printf("Enter a number: ");
    scanf("%d", &num);
    printf("You entered: %d\n", num);
    return 0;
}

内容的提问来源于stack exchange,提问作者Jacob Lingo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 19:52:40