jsprettier插件需手动配置prettier_cli_path和node_path路径,启用format_on_save_enabled,并确保文件语法识别为javascript/jsx、.prettierrc置于项目根目录且配置优先级设为file-override。

JsPrettier 插件本身不带 prettier,它只是个调用器——真正干活的是你系统里装的 prettier CLI。没装好 CLI 或路径不对,按快捷键就静默失败,连报错都不给。
确认 node 和 prettier CLI 能被 Sublime 找到
Sublime 启动时不会自动加载 shell 的 PATH,尤其 macOS(zsh)和 Windows(nvm 切换版本后)最容易出问题。
- 终端里能跑
prettier --version≠ Sublime 能调用它 - 在 Sublime 控制台(
Ctrl+`)里执行import os; print(os.environ.get('PATH')),看输出里有没有prettier所在目录 - 不确定路径?终端运行
which prettier(macOS/Linux)或where prettier(Windows),把结果填进JsPrettier设置里的prettier_cli_path - 如果用了
nvm,别只靠全局安装;建议在JsPrettier设置里同时指定node_path,比如"/Users/xxx/.nvm/versions/node/v18.17.0/bin/node"
文件语法必须识别为 JavaScript 或 JSX
右下角显示 “Plain Text” 或 “HTML” 时,JsPrettier 直接跳过——它只响应明确标记的 JS 类型。
- 点击右下角语法名 → 选
JavaScript、JavaScript (Babel)或React JSX - 对
.mjs、.cjs、.ts等扩展名,默认不处理,得在JsPrettier设置里补进custom_file_extensions - Vue 单文件组件中的
<script></script>块需额外加"text.html.vue"到syntax_scopes列表,否则不触发
项目级 .prettierrc 不生效?检查配置优先级
JsPrettier 默认只读用户级配置,项目根目录下的 .prettierrc 是摆设,除非你显式打开开关。
- 打开
Preferences → Package Settings → JsPrettier → Settings - 在右侧用户设置中加入:
"prettier_options": { "config_precedence": "file-override" } -
.prettierrc必须放在你当前打开的文件所在项目的**最外层根目录**,不是 Sublime 工作区根目录,也不是家目录 - 内容要是合法 JSON(注意末尾不能多逗号),YAML 格式需确保插件版本 ≥ 2.4.0
快捷键没反应或保存不格式化?先关掉干扰项
默认快捷键 Ctrl+Alt+F(Win/Linux)或 Cmd+Alt+F(macOS)常被输入法、远程桌面或系统级工具劫持。
- 改键位:菜单 →
Preferences → Key Bindings,在用户文件里加一行(注意 JSON 语法完整):[{"keys": ["ctrl+alt+j"], "command": "js_prettier"}] -
auto_format_on_save开关必须手动设为true,它默认是false - 启用后务必配
auto_format_on_save_excludes,否则一保存node_modules里的文件,Sublime 就卡死 - 如果只想临时跳过某次保存,按住
Alt(Win/Linux)或Option(macOS)再点保存,可绕过自动格式化
prettier_cli_path 指错了、语法没认准、或者 .prettierrc 放在了子目录里——这些地方一错,整个流程就彻底静默。Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











