文章目录
- Prettier – Code formatter(最推荐) 作者:esbenp.prettier-vscode 支持:JS/TS/HTML/CSS/JSON/Vue/React/Markdown 等几乎所有前端语言 优势:规则统一、开箱即用、团队协作友好,解决“格式圣战” 安装: 打开扩展面板:Ctrl+Shift+X(Windows/Linux)/ Cmd+Shift+X(macOS) 搜索 Prettier – Code formatter → 点击「安装」 安装后重启 VSCode 生效
- 语言 推荐插件 插件ID 核心优势 Python Black Formatter ms-python.black-formatter 严格统一Python格式,无配置争议 Python autopep8 ms-python.autopep8 兼容PEP8规范,轻量易用 Java Language Support for Java redhat.java 内置格式化,无需额外插件 C/C++ C/C++ ms-vscode.cpptools 支持ClangFormat,自定义规则 Go Go golang.go 内置gofmt,符合Go官方规范
- 方式1(推荐):Ctrl+Shift+P(Windows)/ Cmd+Shift+P(macOS)→ 输入 Preferences: Open Settings (JSON) → 回车 方式2:Ctrl+,(Windows)/ Cmd+,(macOS)打开设置UI → 点击右上角「打开设置(JSON)」图标
- { // 1. 全局默认格式化器(设为Prettier) “editor.defaultFormatter”: “esbenp.prettier-vscode”, // 2. 保存时自动格式化(核心!) “editor.formatOnSave”: true, // 3. 格式化选中代码(手动触发) “editor.formatOnSelection”: true, // 4. 粘贴代码时自动格式化 “editor.formatOnPaste”: true }
- { // 前端:统一用Prettier “[javascript]”: { “editor.defaultFormatter”: “esbenp.prettier-vscode” }, “[typescript]”: { “editor.defaultFormatter”: “esbenp.prettier-vscode” }, “[html]”: { “editor.defaultFormatter”: “esbenp.prettier-vscode” }, “[vue]”: { “editor.defaultFormatter”: “esbenp.prettier-vscode” }, “[css]”: { “editor.defaultFormatter”: “esbenp.prettier-vscode” }, // Python:指定Black “[python]”: { “editor.defaultFormatter”: “ms-python.black-formatter” }, // Java:内置格式化器 “[java]”: { “editor.defaultFormatter”: “redhat.java” } }
- 在项目根目录新建 .prettierrc 文件,写入以下规则(按需修改): { “printWidth”: 100, // 每行最大字符数 “tabWidth”: 2, // 缩进2空格 “singleQuote”: true, // 使用单引号 “semi”: true, // 语句末尾加分号 “trailingComma”: “es5”, // ES5兼容的尾随逗号 “arrowParens”: “avoid”, // 单参数箭头函数省略括号 “endOfLine”: “lf” // 换行符用LF(Unix风格) }
- 安装依赖:npm install eslint-config-prettier eslint-plugin-prettier –save-dev在 .eslintrc.js 中添加配置: module.exports = { extends: [ “eslint:recommended”, “plugin:prettier/recommended” // 关键:合并Prettier规则 ], plugins: [“prettier”], rules: { “prettier/prettier”: “error” // Prettier规则作为ESLint错误 } };
- 格式化整个文档:Shift+Alt+F(Windows/Linux)/ Shift+Option+F(macOS) 格式化选中代码:先选中代码 → 按上述快捷键,或右键「格式化选中内容」
- Ctrl+Shift+P(Windows)/ Cmd+Shift+P(macOS) 输入: 格式化文档:Format Document 格式化选中:Format Selection 切换默认格式化器:Format Document With… → 选择插件
- 打开:Ctrl+K Ctrl+S(Windows)/ Cmd+K Cmd+S(macOS) 点击右上角「打开键盘快捷方式(JSON)」 添加配置(示例:设 Ctrl+Alt+L 为格式化): [ { “key”: “ctrl+alt+l”, “command”: “editor.action.formatDocument”, “when”: “editorTextFocus” } ]
目录
- 一、必装格式化插件(按语言推荐)
- 1. 通用全能型(前端/全栈首选)
- 2. 语言专用插件(按需安装)
- 二、核心配置(settings.json + 插件规则)
- 1. 打开配置文件(2种方式)
- 2. 全局基础配置(必加)
- 3. 分语言指定格式化器(解决多插件冲突)
- 4. Prettier 自定义规则(项目根目录创建 .prettierrc)
- 5. 解决 Prettier + ESLint 冲突(前端必备)
- 三、格式化快捷键(手动触发)
- 1. 全局默认快捷键(最常用)
- 2. 命令面板触发(快捷键冲突时用)
- 3. 自定义快捷键(修改 keybindings.json)
- 四、完整操作流程(一步到位)
- 五、常见问题解决
- 六、最终推荐配置(复制即用)
VSCode 格式化代码核心流程:安装格式化插件 → 配置默认格式化器 → 设置自动/手动格式化 → 使用快捷键触发。以下是通用+分语言的详细方案,覆盖前端、Python、Java 等主流场景。

Prettier – Code formatter(最推荐)
- 作者:esbenp.prettier-vscode
- 支持:JS/TS/HTML/CSS/JSON/Vue/React/Markdown 等几乎所有前端语言
- 优势:规则统一、开箱即用、团队协作友好,解决“格式圣战”
- 安装:
- 打开扩展面板:
Ctrl+Shift+X(Windows/Linux)/Cmd+Shift+X(macOS) - 搜索
Prettier - Code formatter→ 点击「安装」 - 安装后重启 VSCode 生效
- 打开扩展面板:
| 语言 | 推荐插件 | 插件ID | 核心优势 |
|---|---|---|---|
| Python | Black Formatter | ms-python.black-formatter | 严格统一Python格式,无配置争议 |
| Python | autopep8 | ms-python.autopep8 | 兼容PEP8规范,轻量易用 |
| Java | Language Support for Java | redhat.java | 内置格式化,无需额外插件 |
| C/C++ | C/C++ | ms-vscode.cpptools | 支持ClangFormat,自定义规则 |
| Go | Go | golang.go | 内置gofmt,符合Go官方规范 |
- 方式1(推荐):
Ctrl+Shift+P(Windows)/ Cmd+Shift+P(macOS)→ 输入 Preferences: Open Settings (JSON) → 回车
- 方式2:
Ctrl+,(Windows)/ Cmd+,(macOS)打开设置UI → 点击右上角「打开设置(JSON)」图标
Ctrl+Shift+P(Windows)/ Cmd+Shift+P(macOS)→ 输入 Preferences: Open Settings (JSON) → 回车Ctrl+,(Windows)/ Cmd+,(macOS)打开设置UI → 点击右上角「打开设置(JSON)」图标
{
// 1. 全局默认格式化器(设为Prettier)
"editor.defaultFormatter": "esbenp.prettier-vscode",
// 2. 保存时自动格式化(核心!)
"editor.formatOnSave": true,
// 3. 格式化选中代码(手动触发)
"editor.formatOnSelection": true,
// 4. 粘贴代码时自动格式化
"editor.formatOnPaste": true
}
{
// 前端:统一用Prettier
"[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[html]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[vue]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[css]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
// Python:指定Black
"[python]": { "editor.defaultFormatter": "ms-python.black-formatter" },
// Java:内置格式化器
"[java]": { "editor.defaultFormatter": "redhat.java" }
}
在项目根目录新建 .prettierrc 文件,写入以下规则(按需修改):
{
"printWidth": 100, // 每行最大字符数
"tabWidth": 2, // 缩进2空格
"singleQuote": true, // 使用单引号
"semi": true, // 语句末尾加分号
"trailingComma": "es5", // ES5兼容的尾随逗号
"arrowParens": "avoid", // 单参数箭头函数省略括号
"endOfLine": "lf" // 换行符用LF(Unix风格)
}
安装依赖:npm install eslint-config-prettier eslint-plugin-prettier --save-dev
在 .eslintrc.js 中添加配置:
module.exports = {
extends: [
"eslint:recommended",
"plugin:prettier/recommended" // 关键:合并Prettier规则
],
plugins: ["prettier"],
rules: {
"prettier/prettier": "error" // Prettier规则作为ESLint错误
}
};
- 格式化整个文档:
Shift+Alt+F(Windows/Linux)/ Shift+Option+F(macOS)
- 格式化选中代码:先选中代码 → 按上述快捷键,或右键「格式化选中内容」
Shift+Alt+F(Windows/Linux)/ Shift+Option+F(macOS)
Ctrl+Shift+P(Windows)/ Cmd+Shift+P(macOS)
- 输入:
- 格式化文档:
Format Document
- 格式化选中:
Format Selection
- 切换默认格式化器:
Format Document With... → 选择插件
Ctrl+Shift+P(Windows)/ Cmd+Shift+P(macOS)- 格式化文档:
Format Document - 格式化选中:
Format Selection - 切换默认格式化器:
Format Document With...→ 选择插件
- 打开:
Ctrl+K Ctrl+S(Windows)/ Cmd+K Cmd+S(macOS)
- 点击右上角「打开键盘快捷方式(JSON)」
- 添加配置(示例:设
Ctrl+Alt+L 为格式化):
[
{
"key": "ctrl+alt+l",
"command": "editor.action.formatDocument",
"when": "editorTextFocus"
}
]
Ctrl+K Ctrl+S(Windows)/ Cmd+K Cmd+S(macOS)Ctrl+Alt+L 为格式化):
- 安装插件:优先装
Prettier,再按需装语言专用插件
- 配置 settings.json:复制上述全局+分语言配置,保存生效
- 创建 .prettierrc:在项目根目录添加自定义规则
- 启用自动格式化:确保
editor.formatOnSave: true,保存文件时自动格式化
- 手动触发:按
Shift+Alt+F 一键格式化,或选中代码后格式化
Prettier,再按需装语言专用插件editor.formatOnSave: true,保存文件时自动格式化Shift+Alt+F 一键格式化,或选中代码后格式化
格式化不生效
- 检查:插件是否安装并启用、
defaultFormatter是否正确配置、文件是否保存 - 修复:右键文件 →「格式化文档」→ 选择正确插件 → 设为默认
Prettier 与 ESLint 冲突
- 按上述「冲突解决」配置,安装
eslint-config-prettier屏蔽冲突规则
Python 格式化失败
- 确保安装
Python插件 +Black Formatter,并在[python]中指定默认格式化器
// settings.json 完整配置
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"editor.formatOnSelection": true,
"editor.formatOnPaste": true,
"[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[html]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[vue]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
"[python]": { "editor.defaultFormatter": "ms-python.black-formatter" },
"[java]": { "editor.defaultFormatter": "redhat.java" },
"prettier.singleQuote": true,
"prettier.tabWidth": 2,
"prettier.semi": true
}
以上就是VSCode代码格式化的完整解决方案的详细内容,更多关于VSCode代码格式化的资料请关注风君子博客其它相关文章!
您可能感兴趣的文章:
- vscode保存代码时自动eslint格式化图文教程
- VSCode Linux的C++代码格式化配置的实现
- vscode 与pycharm 配置 autopep8自动格式化代码
- vscode autopep8无法格式化python代码问题解决
- VSCode保存代码自动格式化无效的解决方法