相关技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > 相关技巧 > VSCode代码格式化

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

作者:还是大剑师兰特

这篇文章主要介绍了VSCode代码格式化的完整解决方案,安装格式化插件,配置默认格式化器,设置自动/手动格式化,使用快捷键触发,以下是通用+分语言的详细方案,需要的朋友可以参考下

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

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

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

Prettier - Code formatter(最推荐)

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种方式)

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. 全局默认快捷键(最常用)

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 一键格式化,或选中代码后格式化

五、常见问题解决

格式化不生效

Prettier 与 ESLint 冲突

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代码格式化的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文