visual-studio-code - 更漂亮的扩展在文件保存时不格式化代码
问题描述
我已经为 VS Code 安装了更漂亮的扩展,将其设置为默认格式化程序,还在 VS Code 的设置文件中将保存时的格式设置为 true,并且文件设置为在一段时间延迟后自动保存。
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"files.autoSave": "afterDelay"
但是当文件在延迟 2 秒后自动保存时,prettier 并没有格式化我的代码。仅在以下情况下才格式化代码:
- option使用++Shift键盘F快捷键手动格式化代码。
- 按command+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"
。
推荐阅读
- python-3.x - 侧载静态数据
- iframe - 带有 Cypress 的 iframe:如何在 iframe 中等待 api 调用
- broadcastreceiver - 屏幕锁定在android 10中时setFullScreenIntent不起作用
- javascript - 在 Vue 组件中处理潜在的多个模式的正确方法?
- azure - Azure Bot Framework - Direct Line 集成在用户键入内容之前不会显示介绍性消息
- selenium - 在 TestNG 中使用 @Factory 和 @DataProvider 并映射到迭代器
- ios - 在 Swift 中将 UIDate Picker 编程为固定在屏幕底部
- sql-server - 确定报告在一个月内可以访问多少次
- asp.net-mvc - ASP.NET MVC 多个模型/助手在同一个视图中
- android - Android ListPreference 复选框不显示所选项目