script插件是唯一可行路径:atom无原生外部工具调用能力,所有执行均依赖它转发命令;必须启用、配置后缀、匹配语言、保存文件、填绝对路径解释器,并开启use terminal支持交互。

script 插件是唯一可行路径
Atom 本身不提供“调用外部工具”的原生能力,所有运行、编译、格式化行为都依赖 script 插件转发命令到系统 shell。不装它,ctrl-shift-b 或自定义快捷键根本不会触发任何执行逻辑。
安装后必须手动启用:Settings → Packages → script → 点击 Enable。禁用状态下的快捷键会静默失败,且不报错。
- 插件默认只识别标准后缀(如
.py、.js),非标准名(如build、deploy)需在插件 Settings 的File Extensions栏手动添加,逗号分隔、全小写 - 右下角语言必须匹配——点状态栏切换为
Python或Shell Script,不能是Plain Text或Text - 文件必须已保存:未保存的
Untitled标签页会被script直接拒绝,不提示、不报错、无日志
快捷键绑定必须写进 keymap.cson
图形界面里的「Add Keybinding」按钮不可靠:它生成的规则无选择器精度、不支持平台限定、无法覆盖插件冲突,改完看似生效,重启后大概率失效。
正确做法是直接编辑 ~/.atom/keymap.cson(macOS/Linux)或 %USERPROFILE%\.atom\keymap.cson(Windows),用 CSON 格式写死绑定:
'atom-text-editor': 'ctrl-f5': 'script:run' 'ctrl-alt-r': 'script:run-by-line'
- 选择器必须是
atom-text-editor,不是atom-workspace——否则光标不在编辑区时快捷键不响应 - 按键写法必须小写+短横线:
ctrl-shift-b✅,Ctrl+Shift+B❌ - 命令名必须完整:
script:run✅,script:runn或run❌,拼错就静默忽略 - macOS 用户要防系统劫持:检查「系统设置 → 键盘 → 快捷键」里是否启用了
cmd-i(Spotlight/截图),中文输入法也常占ctrl-shift-b
解释器路径必须填绝对路径
command not found: python 或 command not found: node 不是插件问题,而是 Atom 启动时没继承 shell 的 PATH。GUI 启动(Dock/开始菜单)几乎必然丢失 ~/.zshrc 或 PATH 配置。
- 先在终端验证解释器是否存在:
which python3(macOS/Linux)或where py(Windows),有输出才说明已安装且可访问 - 若无输出,要么补环境变量(Windows 加
C:\Python311\,macOS 加/opt/homebrew/bin),要么直接在script插件 Settings 里填绝对路径:/opt/homebrew/bin/python3、C:/Python311/python.exe - 路径中一律用正斜杠
/,反斜杠\在 Windows 上可能被 CSON 解析错误 - Apple Silicon 用户注意:
which gcc常为空,Xcode 自带的是clang;需brew install gcc,再确认which gcc-14
交互式命令必须开 Use Terminal + 按 Ctrl+I
script 插件默认走非交互式子进程,input()、read -p、npm init 这类需要用户输入的命令会卡住或直接退出。
- Settings → Packages →
script→ 勾选Use Terminal,**切勿勾选Use Script Panel** - 每次运行前必须按一次
Ctrl+I(Win/Linux)或Cmd+I(macOS)——这不是快捷键,是开启终端交互的开关 - 终端面板需可见:View → Toggle Terminal,如果被隐藏或最小化,
Ctrl+I不会唤出输入框 - 若终端仍不读取 shell 配置(如
source ~/.zshrc之后才能用pyenv),可在script设置里填Command Line Arguments为-i强制交互模式
ctrl-f5 就只是敲了个寂寞。











