code runner 运行含 input() 的 js 脚本无响应,根本原因是 input() 默认输出到只读 output 面板而非终端;需勾选 code-runner: run in terminal、设 preserve focus 为 false,并配置 executormap 使用 node -u,同时确保 launch.json 中 console 设为 integratedterminal。

Code Runner 运行含 input() 的 JS 脚本没反应
根本不是代码写错了,是 input() 在 VS Code 里默认走的是只读的 OUTPUT 面板——那里根本不接收键盘输入。你看到提示文字,但敲回车毫无反馈,属于设计行为,不是 bug。
- 打开设置(
Ctrl+,),搜code-runner: run in terminal,必须勾选 - 顺手把
code-runner: preserve focus设为false,否则运行后焦点还卡在编辑器,终端看不见 - 检查
code-runner.executorMap中javascript对应的命令,推荐用:node -u(加-u避免输出缓冲导致交互延迟) - 如果仍卡住,确认终端已打开(
Ctrl+`),且光标在终端内——VS Code 不会自动聚焦终端,得手动点一下
VS Code 内置调试器执行 JS 时 prompt() 或 readline 失效
调试器默认用的是 internalConsole,它不连 stdin/stdout,所以任何需要用户输入的 API 都会挂起或返回空字符串。
- 在项目根目录下确保有
.vscode/launch.json,里面配置项必须包含:"console": "integratedTerminal" - 删掉或注释掉
"console": "internalConsole"——这个值一存在,input()就彻底失效 - 加上
"justMyCode": false,避免调试器跳过关键初始化逻辑 - 别依赖
F5直接跑:先确保当前文件语言模式是JavaScript(右下角状态栏点开确认),否则调试器压根不识别
启动就卡在 “Activating Extensions”,JS 脚本根本跑不起来
不是插件装得多,而是某个插件抢在主线程上干重活。比如 ms-vscode.js-debug 或 gitlens,哪怕你没开调试、没点 Git 功能,只要声明了 onStartup,它就会在 VS Code 露头第一秒就开始拉服务、扫仓库、建索引。
- 终端执行
code --disable-extensions,秒开即说明 100% 是扩展问题 - 再运行
Developer: Show Running Extensions,重点看Activation Time (ms)> 1000 或状态为Activating的插件 - 高频嫌疑对象:
ms-python.python(开个.txt都初始化 Python 环境)、Remote - SSH(连接失败时 UI 线程直接挂起) - 禁用前先调配置:比如关掉
gitlens.advanced.caching.enabled,比直接禁用更稳
code-runner 右上角 ▶️ 按钮消失或点击无响应
这个按钮不是 VS Code 原生功能,它依赖三个硬性条件同时成立:文件被识别为 JavaScript、工作区已信任、插件本身处于激活态。缺一不可。
- 右下角状态栏显示
Plain Text?点开 →Change Language Mode→ 选JavaScript - 左下角有黄色
Restricted Mode提示?点它 →Trust Folder and Subfolders - 按
Ctrl+Shift+X搜formulahendry.code-runner,确认状态是“已启用”,不是灰掉或显示“已禁用” - 检查
code-runner.executorMap中javascript的值是不是空字符串、拼错成nodejs,或漏了-u
真正卡住的地方,往往不在代码里,而在你没意识到的配置交接点:比如 launch.json 里少一个引号,settings.json 里路径用了单反斜杠,或者信任状态没点确认——这些地方不报错,只是静默失效。











