visual-studio-code - 更漂亮的扩展程序不会在文件保存时格式化代码

标签 visual-studio-code formatting prettier

我已安装 prettier VS Code 的扩展名,将其设置为默认格式化程序,并在 VS Code 的设置文件中将保存时的格式设置为 true,并将文件设置为在一段时间延迟后自动保存。

"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"files.autoSave": "afterDelay"
但是当文件在 2 秒延迟后自动保存时,更漂亮并没有格式化我的代码。代码仅在以下情况下格式化:
  • 使用 option + Shift + F 键盘快捷键手动格式化代码。
  • 按命令 + S

  • 这是我的 .prettierrc文件
    {
        "trailingComma": "es5",
        "tabWidth": 4,
        "semi": true,
        "singleQuote": true
    }
    
    如何在文件保存时自动使我的代码格式更漂亮?

    最佳答案

    经过一番搜索,我发现以下设置

    "editor.formatOnSave": true
    
    仅适用于:
  • 代码格式化程序可用。
  • 该文件不得在延迟后保存。
  • 并且编辑器不能关闭。

  • 我使用以下设置将 prettier 设置为默认格式化程序:
    "editor.defaultFormatter": "esbenp.prettier-vscode"
    
    但我已将文件设置为在以下设置中指定的延迟后自动保存:
    "files.autoSave": "afterDelay"
    
    在我的情况下,此设置是问题的原因。"files.autoSave"设置可以具有以下值之一:
  • "off" :脏编辑器永远不会自动保存。
  • "afterDelay" : 配置完files.autoSaveDelay后会自动保存脏编辑器.
  • "onFocusChange" :当编辑器失去焦点时,会自动保存脏编辑器。
  • "onWindowChange" :当窗口失去焦点时,脏编辑器会自动保存。

  • 设置 "files.autoSave"除了 "afterDelay" 之外的任何可能的值将解决问题。我通过设置 "files.autoSave" 解决了这个问题至 "onFocusChange" .

    关于visual-studio-code - 更漂亮的扩展程序不会在文件保存时格式化代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61922869/

    相关文章:

    javascript - 如何在VsCode上的Vue项目中添加eslint规则到prettier

    powershell - 事件屏幕阅读器

    c++ - 无法使用 gdb 在 VS 代码中调试 C++

    visual-studio-code - VSCode 扩展 : How do I open a new pane with an http url

    pdf - XSL/XSL-FO : Different formatting of a block depending on its page position on PDF page

    java - 如何转义 System.out.format 中的 ',' 字符?

    visual-studio-code - VS Code 中的 Prettier - 在双引号内设置双引号的格式

    go - 如何使用vscode调试go 1.11.x

    java - 在 Java 中使用 DecimalFormat 打印 0.0

    javascript - Eslint 或 prettier 在 vscode 的行尾添加 2 个分号