如何设置Prettier仅手动触发格式化,不影响VSCode自动保存及重做日志
配置方案
按以下步骤操作即可实现Prettier仅在手动按下格式化快捷键时触发,不会自动修改文件:
1. 关闭VSCode全局自动格式化配置
- 打开VSCode设置界面(快捷键
Ctrl+,/Cmd+,),搜索并取消勾选以下所有选项:Editor: Format On Save(保存时格式化)Editor: Format On Type(输入时格式化)Editor: Format On Paste(粘贴时格式化)
- 搜索
Default Formatter,确认默认格式化器选择esbenp.prettier-vscode,避免其他格式化扩展干扰
2. 关闭Prettier扩展自带自动触发逻辑
这是多数用户容易遗漏的配置点,Prettier扩展本身自带独立的自动运行开关:
- 在设置界面搜索
Prettier: Enable On Save,直接取消勾选 - 可选勾选
Prettier: Require Config,开启后如果项目没有单独的Prettier配置文件,Prettier不会主动运行,进一步避免自动格式化
3. 配置文件兜底
如果以上操作后仍出现自动修改的情况,直接编辑配置文件锁定规则:
按Ctrl+Shift+P/Cmd+Shift+P调出命令面板,搜索「打开设置(JSON)」,粘贴以下配置:
{ "editor.formatOnSave": false, "editor.formatOnType": false, "editor.formatOnPaste": false, "prettier.enableOnSave": false, "prettier.requireConfig": true, // 以下为你需要用Prettier格式化的文件类型配置,可按需增删 "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[html]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[css]": { "editor.defaultFormatter": "esbenp.prettier-vscode" } }
如果是单个项目出现问题,还要检查项目根目录.vscode/settings.json工作区配置,删除里面所有formatOnSave相关的开启规则,工作区配置优先级高于全局配置。
4. 确认快捷键绑定
按Ctrl+K Ctrl+S打开快捷键面板,搜索「格式化文档」,确认绑定的快捷键为Shift+Alt+F,没有被其他扩展占用即可。
内容的提问来源于stack exchange,提问作者d0c5i5
相关产品推荐
相关产品推荐

