VSCode代码格式化的完整解决方案

 更新时间:2026年03月18日 08:53:14   作者:还是大剑师兰特  
这篇文章主要介绍了VSCode代码格式化的完整解决方案,安装格式化插件,配置默认格式化器,设置自动/手动格式化,使用快捷键触发,以下是通用+分语言的详细方案,需要的朋友可以参考下

VSCode 格式化代码核心流程:安装格式化插件 → 配置默认格式化器 → 设置自动/手动格式化 → 使用快捷键触发。以下是通用+分语言的详细方案,覆盖前端、Python、Java 等主流场景。

一、必装格式化插件(按语言推荐)

1. 通用全能型(前端/全栈首选)

Prettier - Code formatter(最推荐)

  • 作者:esbenp.prettier-vscode
  • 支持:JS/TS/HTML/CSS/JSON/Vue/React/Markdown 等几乎所有前端语言
  • 优势:规则统一、开箱即用、团队协作友好,解决“格式圣战”
  • 安装:
    1. 打开扩展面板:Ctrl+Shift+X(Windows/Linux)/ Cmd+Shift+X(macOS)
    2. 搜索 Prettier - Code formatter → 点击「安装」
    3. 安装后重启 VSCode 生效

2. 语言专用插件(按需安装)

语言推荐插件插件ID核心优势
PythonBlack Formatterms-python.black-formatter严格统一Python格式,无配置争议
Pythonautopep8ms-python.autopep8兼容PEP8规范,轻量易用
JavaLanguage Support for Javaredhat.java内置格式化,无需额外插件
C/C++C/C++ms-vscode.cpptools支持ClangFormat,自定义规则
GoGogolang.go内置gofmt,符合Go官方规范

二、核心配置(settings.json + 插件规则)

1. 打开配置文件(2种方式)

  • 方式1(推荐):Ctrl+Shift+P(Windows)/ Cmd+Shift+P(macOS)→ 输入 Preferences: Open Settings (JSON) → 回车
  • 方式2:Ctrl+,(Windows)/ Cmd+,(macOS)打开设置UI → 点击右上角「打开设置(JSON)」图标

2. 全局基础配置(必加)

{
  // 1. 全局默认格式化器(设为Prettier)
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  // 2. 保存时自动格式化(核心!)
  "editor.formatOnSave": true,
  // 3. 格式化选中代码(手动触发)
  "editor.formatOnSelection": true,
  // 4. 粘贴代码时自动格式化
  "editor.formatOnPaste": true
}

3. 分语言指定格式化器(解决多插件冲突)

{
  // 前端:统一用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" }
}

4. Prettier 自定义规则(项目根目录创建 .prettierrc)

在项目根目录新建 .prettierrc 文件,写入以下规则(按需修改):

{
  "printWidth": 100,        // 每行最大字符数
  "tabWidth": 2,            // 缩进2空格
  "singleQuote": true,      // 使用单引号
  "semi": true,             // 语句末尾加分号
  "trailingComma": "es5",   // ES5兼容的尾随逗号
  "arrowParens": "avoid",   // 单参数箭头函数省略括号
  "endOfLine": "lf"         // 换行符用LF(Unix风格)
}

5. 解决 Prettier + ESLint 冲突(前端必备)

安装依赖: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错误
  }
};

三、格式化快捷键(手动触发)

1. 全局默认快捷键(最常用)

  • 格式化整个文档Shift+Alt+F(Windows/Linux)/ Shift+Option+F(macOS)
  • 格式化选中代码:先选中代码 → 按上述快捷键,或右键「格式化选中内容」

2. 命令面板触发(快捷键冲突时用)

  1. Ctrl+Shift+P(Windows)/ Cmd+Shift+P(macOS)
  2. 输入:
    • 格式化文档:Format Document
    • 格式化选中:Format Selection
    • 切换默认格式化器:Format Document With... → 选择插件

3. 自定义快捷键(修改 keybindings.json)

  1. 打开:Ctrl+K Ctrl+S(Windows)/ Cmd+K Cmd+S(macOS)
  2. 点击右上角「打开键盘快捷方式(JSON)」
  3. 添加配置(示例:设 Ctrl+Alt+L 为格式化):
[
  {
    "key": "ctrl+alt+l",
    "command": "editor.action.formatDocument",
    "when": "editorTextFocus"
  }
]

四、完整操作流程(一步到位)

  1. 安装插件:优先装 Prettier,再按需装语言专用插件
  2. 配置 settings.json:复制上述全局+分语言配置,保存生效
  3. 创建 .prettierrc:在项目根目录添加自定义规则
  4. 启用自动格式化:确保 editor.formatOnSave: true,保存文件时自动格式化
  5. 手动触发:按 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代码格式化的资料请关注脚本之家其它相关文章!

相关文章

  • 基于webstorm卡顿问题的2种解决方法

    基于webstorm卡顿问题的2种解决方法

    下面小编就为大家分享一篇使用2种方法解决webstorm卡顿的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • vscode debug设置参数与环境变量图文详解

    vscode debug设置参数与环境变量图文详解

    这篇文章主要给大家介绍了关于vscode debug设置参数与环境变量的相关资料,文中通过图文以及代码示例介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • Vscode 打字特效插件Power Mode安装使用介绍

    Vscode 打字特效插件Power Mode安装使用介绍

    本文给大家推荐的是一款Vscode的打字特效的插件Power Mode的安装使用说明,插件非常的炫酷,推荐给大家,希望大家能够喜欢
    2020-02-02
  • 性能测试监控网络吞吐量过程详解

    性能测试监控网络吞吐量过程详解

    这篇文章是关于性能的文章,主要介绍了性能测试中测试监控网络吞吐量过程,文中给了详细的示例分析,有需要的朋友可以借鉴参考下
    2021-09-09
  • git pull和git clone的区别详解

    git pull和git clone的区别详解

    本文主要介绍了git pull和git clone的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • VS2019无法添加引用问题

    VS2019无法添加引用问题

    这篇文章主要介绍了VS2019无法添加引用问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • WebSocket部署到服务器出现连接失败问题的分析与解决

    WebSocket部署到服务器出现连接失败问题的分析与解决

    这篇文章主要给大家介绍了关于WebSocket部署到服务器出现连接失败问题的分析与解决方法,文中给出了详细的介绍供大家参考学习,文末也给出了demo下载地址,需要的朋友们可以下载学习,下面随着小编来一起学习学习吧。
    2017-10-10
  • 目标检测mAP的概念及公式详解

    目标检测mAP的概念及公式详解

    这篇文章主要为大家介绍了我们在进行目标检测时需要用到的mAP概念及公式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 自定义 Github Action 库实战详解

    自定义 Github Action 库实战详解

    这篇文章主要为大家介绍了自定义 Github Action 库实战详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • IE 浏览器安全级别详情及区别小结

    IE 浏览器安全级别详情及区别小结

    排查问题时,定位到可能和当前浏览器的安全级别设置有关,顺便整理了下Windows 7下IE9安全级别的详情内容,及各安全级别下的默认设置差异
    2016-01-01

最新评论