必须全局安装 prettier 并通过 Package Control 安装插件,配置正确 CLI 路径和 auto_format_on_save 选项,确保语法识别准确且环境变量一致,才能正常使用 Prettier_sublime。

Sublime Text 装不了 Prettier_sublime?先确认你装的是不是真插件
它不是官方 Prettier,也不是 npm 包,而是社区维护的 Sublime 插件封装——本质是调用本地 prettier CLI 命令。所以装不上、不生效,90% 是因为没装好 Node 环境或没配对 CLI 路径。
- 必须提前在系统里全局安装
prettier:npm install -g prettier(验证:终端运行prettier --version能输出版本号) - Sublime 本身不带 Node 运行时,插件靠系统 PATH 找
prettier;Mac/Linux 一般没问题,Windows 用户常因 npm 全局路径没进系统 PATH 而失败 - 别从 GitHub 直接下 zip 解压进 Packages —— 必须用 Package Control 安装
Prettier_sublime,否则依赖和配置不会自动初始化
Package Control 安装后没反应?检查插件配置和触发方式
装完不报错也不格式化,大概率是配置没生效或快捷键冲突。这个插件默认不监听保存自动格式化,得手动触发或显式开启。
- 默认格式化快捷键是
ctrl+alt+f(Win/Linux)或cmd+alt+f(Mac),不是ctrl+s - 想保存即格式化,得改用户配置:打开
Preferences → Package Settings → Prettier → Settings,把"auto_format_on_save": true设为true - 配置里
"prettier_cli_path"字段要填绝对路径(比如/usr/local/bin/prettier或C:\Users\xxx\AppData\Roaming\npm\prettier.cmd),空着或填错会导致静默失败 - 只对支持的语法起作用:默认启用
javascript、typescript、jsx、tsx、json、css、scss、less,.vue 文件需额外加"html"到"syntaxes"列表
格式化结果和 CLI 不一致?注意插件默认参数和项目级配置优先级
同一个文件,在终端跑 prettier file.js 和在 Sublime 里按快捷键结果不同,不是 bug,是插件读配置的逻辑和 CLI 有差异。
- 插件默认不读项目根目录的
.prettierrc或prettier.config.js,除非你在插件设置里显式打开"use_editorconfig": true且关掉"ignore_project_config": false - 插件内置一套 fallback 配置(如
tabWidth: 2,semi: true),若项目没配 .prettierrc,它就用这套,和你 CLI 全局配置可能冲突 -
"prettier_options"配置项可以覆盖默认值,比如写"singleQuote": true,但注意 JSON 配置里布尔值不能加引号,"singleQuote": "true"会失效 - JSX 中
className被改成class?那是插件误判了语法类型——确保文件右下角状态栏显示的是JavaScript (Babel)或React JSX,不是纯Plain Text
Mac M1/M2 上格式化卡住或报错 spawn ENOENT?PATH 和 Shell 环境不一致是主因
Sublime 启动时继承的是 login shell 的环境变量,而你终端里能跑 prettier,不代表 Sublime 能看到同一套 PATH。尤其 zsh + asdf / nvm / pnpm 用户极易中招。
- 不要用
which prettier的输出直接填进prettier_cli_path——它可能指向 shell function 或 alias,得用command -v prettier拿真实路径 - 如果用了 asdf,确保
asdf global nodejs xxx已设,并在~/.zprofile里初始化 asdf(不是~/.zshrc),否则 GUI 应用启动时加载不到 - 临时验证方法:在 Sublime 控制台(
ctrl+`)里执行import os; print(os.environ.get('PATH')),对比终端里echo $PATH,缺啥补啥
真正麻烦的从来不是“怎么点几下装上”,而是 Sublime 和 CLI 环境之间那层看不见的 PATH 隔膜,修一次,后面省三天调试时间。










