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

Written by

in

文章目录
  • 安装插件:优先装 Prettier,再按需装语言专用插件 配置 settings.json:复制上述全局+分语言配置,保存生效 创建 .prettierrc:在项目根目录添加自定义规则 启用自动格式化:确保 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保存代码自动格式化无效的解决方法
  • 目录
    • 一、必装格式化插件(按语言推荐)
      • 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 等几乎所有前端语言
          • 优势:规则统一、开箱即用、团队协作友好,解决“格式圣战”
          • 安装:
            1. 打开扩展面板:Ctrl+Shift+X(Windows/Linux)/ Cmd+Shift+X(macOS)
            2. 搜索 Prettier - Code formatter → 点击「安装」
            3. 安装后重启 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)
          • 格式化选中代码:先选中代码 → 按上述快捷键,或右键「格式化选中内容」

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

          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代码格式化的资料请关注风君子博客其它相关文章!

          您可能感兴趣的文章:

          • vscode保存代码时自动eslint格式化图文教程
          • VSCode Linux的C++代码格式化配置的实现
          • vscode 与pycharm 配置 autopep8自动格式化代码
          • vscode autopep8无法格式化python代码问题解决
          • VSCode保存代码自动格式化无效的解决方法

          站内搜索