VS Code按下Command+S保存时部分代码丢失,如何解决?
VS Code保存时自动删除import代码的排查方案
- 检查VS Code内置格式化相关设置:
打开设置(Command+,),搜索「editor.formatOnSave」,确认是否开启。即使卸载了Prettier和Eslint,VS Code自带的TypeScript格式化工具也可能生效,临时关闭该选项测试是否还会丢失代码。 - 排查项目配置文件:
查看项目根目录的.editorconfig、tsconfig.json或jsconfig.json,检查是否存在「移除未使用导入」的规则。比如tsconfig.json中的"noUnusedImports": true,若同时开启了VS Code的「Organize Imports on Save」(搜索「editor.codeActionsOnSave」里的source.organizeImports),会自动删除未被使用的import。先确认这些import是否在代码中实际用到,或者临时关闭该配置测试。 - 禁用其他第三方插件:
除Prettier和Eslint外,「Import Cost」「Auto Import」这类和导入管理相关的插件也可能触发该问题。逐一禁用这类插件,每次保存测试,定位到触发问题的插件。 - 检查工作区本地设置:
打开项目内的.vscode/settings.json,查看是否有editor.codeActionsOnSave、typescript.format.enable等和格式化、导入相关的配置,临时注释后测试。 - 新建文件复现测试:
创建空白tsx文件,手动添加丢失的import语句后保存,观察是否会被删除。若不会,说明问题出在当前index.tsx文件或项目特定配置;若仍会删除,大概率是VS Code全局设置或残留插件导致。
内容的提问来源于stack exchange,提问作者Josh May
相关产品推荐
相关产品推荐

