答案是右下角语言标识必须手动切对,否则script插件不触发;需用ctrl+shift+l切换语言、填小写后缀绑定扩展名、填绝对路径到command字段、勾选use terminal并从终端启动atom。

右下角语言标识没切对,script插件根本不会触发
Atom 不靠文件名后缀自动识别语言,而是完全依赖右下角显示的语言名(比如 Python、Bash)。如果显示的是 Plain Text,哪怕你打开的是 deploy.sh 或 hello.py,script 插件也当它不存在。
临时解决:按 Ctrl+Shift+L(Windows/Linux)或 Cmd+Shift+L(macOS),输入语言名(如 Python)回车;
永久绑定:进 Settings → Packages → script → Settings,在 File Extensions 里填小写后缀,用逗号分隔,例如:py,sh,bash,js,ts;
注意大小写:Linux/macOS 下 .SH 或 .PY 不会被识别,必须是全小写。
“command not found” 不是插件坏了,是解释器路径没填对
script 默认调用 python、node、bash 这些命令,但你的系统很可能只有 python3、node18,或者用了 pyenv/conda 管理环境——这时 python 命令根本不在 PATH 里。
别改系统软链接,风险高且影响其他工具;
正确做法:进 script 设置页,找到 Command 字段,填绝对路径:
- macOS(Homebrew):
/opt/homebrew/bin/python3 - macOS(pyenv):
/Users/yourname/.pyenv/shims/python(但必须从终端启动 Atom 才能展开~) - Windows:
C:/Users/me/AppData/Local/Programs/Python/Python311/python.exe(用正斜杠或双反斜杠) - Linux:
/usr/bin/python3或/usr/local/bin/node
验证方式:在终端执行 which python3 或 where python,复制输出结果直接粘贴过去。
input()、read -p、scanf() 一运行就卡住?你没开终端模式
script 默认在非交互式子 shell 中执行,不连 stdin,所以遇到 input() 就挂起,read -p 直接跳过,scanf() 读不到任何输入。
启用交互支持的唯一办法:勾选 Use Terminal(Windows/Linux)或 Use External Terminal(macOS);
勾选后快捷键变成 Ctrl+I(Win/Linux)或 Cmd+I(macOS),不再是 Ctrl+Enter;
注意:Use Script Panel 是只读输出区,永远不支持输入——别选它。
从桌面图标启动 Atom,90% 的 PATH 和虚拟环境都失效
双击图标、开始菜单、Dock 启动的 Atom,完全不继承 Shell 的环境变量。这意味着:pyenv 切换的 Python 版本、conda activate 的环境、brew 安装的命令、甚至自定义的 PATH 全部不可见。
唯一稳解:关掉所有 Atom 窗口,打开终端,cd 到项目目录,运行 atom .;
Mac 用户可用 open -a Atom,但前提是 Atom 已注册为命令行工具(安装时勾选了 “Install Shell Commands”);
Windows/Linux 同理,别用桌面启动器——哪怕多敲两行命令,也比反复配错路径强。
真正容易被忽略的点是:script 插件的 Command 路径和终端启动方式必须匹配。填了 ~/.pyenv/shims/python 却双击图标启动,照样报错;填了绝对路径却忘了开 Use Terminal,input() 依旧卡死。这两件事得同时做对,缺一不可。











