You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Prettier配置实现Eclipse Java风格的VSCode JS代码格式化?

问题:如何通过Prettier配置实现自定义代码格式?

我原本的JavaScript代码格式如下:

subRedirect() {

        let features = this.config.get('features')
        if (features !== null) {
            features.forEach(feature => {
                this.composeWith(require.resolve("../" + feature.type.toLowerCase()))

            })


        }

    }

使用Prettier在VSCode中保存后,代码被格式化为:

subRedirect() {
    let features = this.config.get("features");
    if (features !== null) {
      features.forEach((feature) => {
        this.composeWith(require.resolve("../" + feature.type.toLowerCase()));
      });
    }
  }

请问能否通过Prettier配置文件实现第一种代码格式?我试过多款VSCode扩展,但都对JavaScript无效。


解决方案

可以通过修改Prettier配置文件来匹配你想要的代码格式,针对两者的差异,对应配置项如下:

  • 缩进设置:原始代码用8空格缩进,Prettier默认是2空格,需配置tabWidth: 8
  • 箭头函数参数:原始单个参数时不加括号,Prettier默认添加,需配置arrowParens: "avoid"
  • 语句分号:原始代码不加分号,Prettier默认添加,需配置semi: false
  • 引号类型:原始用单引号,Prettier可能自动转双引号,需配置singleQuote: true
  • 空行处理:Prettier会合并连续空行,若要保留单个空行,确保代码中只留单行空行即可;如果需要避免代码自动换行,可设置较大的printWidth值

在项目根目录创建或修改.prettierrc.json配置文件,内容如下:

{
  "tabWidth": 8,
  "arrowParens": "avoid",
  "semi": false,
  "singleQuote": true,
  "printWidth": 120
}

配置完成后,在VSCode中确认以下设置:

  1. 打开设置(快捷键Ctrl+,)
  2. 搜索Default Formatter,选择esbenp.prettier-vscode
  3. 开启Format On Save选项,确保保存时自动应用配置

如果需要保留某些Prettier默认会调整的空行(比如函数开头的空行),可以在对应位置添加// prettier-ignore注释跳过格式化。

内容的提问来源于stack exchange,提问作者Mahmoud Elkafrawy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 09:44:53