当前位置: 首页 > 知识库问答 >
问题:

visual-studio-code - vscode 格式化 prettier 保存格式化,如果保留方法名和括号之间的空格?

巴宏恺
2024-07-12

rt,已配置自动保存,且已配置 insertSpaceBeforeFunctionParenthesis
.vscode/settings.json 编辑器配置

{
  "scss.lint.unknownAtRules": "ignore",
  "editor.codeActionsOnSave": {
    "source.fixAll": "explicit",
    "source.fixAll.eslint": "explicit"
  },
  "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
  "typescript.format.insertSpaceBeforeFunctionParenthesis": true,
  "npm.packageManager": "pnpm",
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "[typescriptreact]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[javascriptreact]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "editor.formatOnSave": true
}

但是在 ts 文件中声明方法,保存后还是会将方法名和括号之间的空格删掉……

// 保存前
function test () {}
// 保存后
function test() {}

共有1个答案

巢星纬
2024-07-12

在 VSCode 中使用 Prettier 进行格式化时,通常 Prettier 的行为是由其配置文件 .prettierrcprettier.config.js 或在 package.json 中定义的 Prettier 配置来控制的,而不是直接在 VSCode 的 settings.json 中。

虽然 VSCode 的 settings.json 允许你配置一些格式化相关的设置,但 Prettier 的一些具体规则(如函数名与括号之间的空格)仍然需要在 Prettier 的配置文件中设置。

在你的情况下,如果 Prettier 仍然删除了函数名和括号之间的空格,可能是因为你的项目中存在 .prettierrcprettier.config.js 文件,并且这些文件中的配置与你在 settings.json 中设置的相反。或者,Prettier 的默认配置就是这样。

为了解决这个问题,你可以在项目的根目录下创建一个 .prettierrc 文件,并添加如下配置来确保函数名和括号之间有一个空格:

{
  "trailingComma": "es5",
  "tabWidth": 2,
  "semi": true,
  "singleQuote": true,
  "printWidth": 80,
  "jsxSingleQuote": false,
  "bracketSpacing": true,
  "jsxBracketSameLine": false,
  "arrowParens": "always",
  "insertPragma": false,
  "requirePragma": false,
  "proseWrap": "preserve",
  "htmlWhitespaceSensitivity": "css",
  "vueIndentScriptAndStyle": true,
  "functionParenthesesSpace": true // 注意:这个选项可能不是标准的 Prettier 配置项,具体取决于你的 Prettier 版本
}

但是,请注意,functionParenthesesSpace 可能不是 Prettier 的一个标准配置项。在最新的 Prettier 版本中,通常是通过其他方式(如使用 ESLint 与 Prettier 一起)来管理这些空格的。

如果你正在使用 ESLint 并与 Prettier 集成,你可能需要在 ESLint 配置中设置相应的规则来保持这种空格。例如,使用 @typescript-eslint/space-before-function-paren 规则。

最后,确保你的 VSCode 插件和 Prettier 本身都是最新的,因为旧版本可能不支持某些配置选项。

 类似资料:
  • vscode里面的c#代码格式化无效,format on save已开启,看着是真难受啊 插件如下:

  • import React, { Component } from "react"; 如何设置,在格式化后{}之间保留空格呢?

  • 例如,当我写 它将被格式化为 我如何让它保持两个空格? 编辑: 这与如何在Visual Studio Code中更改缩进是不同的问题?

  • 在Visual Studio的Windows中,用于格式化或“美化”Visual Studio代码编辑器中的代码的Ctrl+K+F和Ctrl+D的等价物是什么?

  • 本文向大家介绍Python可视化mhd格式和raw格式的医学图像并保存的方法,包括了Python可视化mhd格式和raw格式的医学图像并保存的方法的使用技巧和注意事项,需要的朋友参考一下 mhd格式的文件里面包含的是raw图像的一些头信息,比如图片大小,拍摄日期等等,那么如何可视化图像呢? 这里path是mhd文件的路径,并且在该路径下需要有相应的raw文件 这里展示一下我的mdk文件和保存的pn

  • VSCode,eslint 报错 Delete ↹eslint (prettier/prettier)? 这个要怎么改?

  • 本文向大家介绍C#留言时间格式化,包括了C#留言时间格式化的使用技巧和注意事项,需要的朋友参考一下 平台:Vs2012 主要实现例如空间发表说说时间的显示,如:某人在10秒前回复了你这种效果,可用在Web浏览器,窗体,等... 计算两个时间差值的函数,返回时间差的绝对值: 以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 我最近将log4j-1x升级到log4j-2.17.2。这是我的格式模式: 但输出如下: 2022-07-08T00:59:59,392[localhost]INFO[]-Quartz调度程序版本:1.8.5 我不确定在日志优先级之后,空方括号是从哪里来的<在上述情况下,代码>信息。如何在不影响格式的情况下删除它。