sublime text 无内置格式化功能,必须安装插件:javascript/typescript/json用jsprettier(需npm install -g prettier并配置prettier_cli_path),python用autopep8或pythontidy,html/css需分别使用专用插件,且默认作用于整文件,格式化前须手动选中代码块。

Sublime Text 本身不带内置代码格式化功能,必须靠插件实现;没装对插件或配错快捷键,按 Ctrl+Shift+P → “Format” 后什么也不发生,是常见卡点。
用 JsPrettier 格式化 JavaScript/TypeScript/JSON
这是目前最稳定、配置门槛最低的方案,底层调用 Prettier,支持最新语法(包括可选链、空值合并、TS 装饰器)。
- 安装方式:Ctrl+Shift+P →
Package Control: Install Package→ 搜JsPrettier,回车 - 默认快捷键是
Ctrl+Alt+F(Windows/Linux)或Cmd+Alt+F(macOS),不是常见的Ctrl+Shift+F - 如果报错
Prettier not found,说明没装 Node.js 或 Prettier 全局包,运行npm install -g prettier即可 - 想改默认缩进为 2 空格?在
Preferences → Package Settings → JsPrettier → Settings里加:"prettier_options": { "tabWidth": 2 }
用 PythonTidy 或 autopep8 整理 Python
别用 PyIndent 或老版 Python Indent——它们只调缩进,不改换行、空格、括号位置,不算真格式化。
-
PythonTidy更激进:自动重排 import、拆长行、标准化 docstring,但不支持 Python 3.11+ 的新语法(如带星号的解包) -
autopep8更保守:严格遵循 PEP 8,适合团队统一风格;安装后需手动绑定快捷键,在Preferences → Key Bindings加一行:{ "keys": ["ctrl+alt+l"], "command": "auto_pep8" } - 两者都依赖本地 Python 环境:确保
python -m autopep8 --version或python -m pythontidy --version能正常返回
多语言通用方案:Sublime-HTMLPrettify + Sublime-CSS-Prettify
别指望一个插件通吃所有前端文件。HTML、CSS、SCSS 各自有语义规则,混用会出问题(比如把 Vue SFC 的 <script setup></script> 当普通 JS 处理)。
-
Sublime-HTMLPrettify:专治 HTML / JSX / Vue 模板,支持自定义标签不换行(如inline_elements配置["span", "a"]) -
Sublime-CSS-Prettify:比原生 CSS 缩进更懂 BEM 和嵌套语法,但遇到 PostCSS 插件语法(如@apply)可能误判 - 两个插件快捷键默认都是
Ctrl+Shift+H,冲突!必须进Key Bindings手动改其中一个,比如改成Ctrl+Shift+C
真正容易被忽略的是:格式化插件默认不处理选中区域——它总作用于整个文件。如果只想整理某段逻辑,得先选中文本,再触发命令;否则一按就全盘重排,可能把手工对齐的注释或表格打乱。











