Visual Studio Code保存golang文件时损坏的解决方案求助
VSCode保存Go文件损坏临时解决方案
通用临时规避措施
- 关闭Go扩展的保存时自动操作:打开VSCode设置,搜索
go.formatOnSave取消勾选,再搜索go.codeActionsOnSave,关闭所有Go相关的保存时自动动作,改为手动触发格式化 - 开启VSCode本地历史备份:搜索设置项
files.localHistory.enabled勾选开启,默认保留30天的文件修改记录,文件损坏后可直接从历史版本恢复 - 保存大文件前先手动复制当前内容到临时文档备份,避免内容丢失
回退到稳定版gopls操作步骤
已知v0.8.3及更早版本的gopls不会触发该保存损坏问题,回退操作如下:
- 卸载当前版本gopls,执行命令:
go clean -i golang.org/x/tools/gopls@latest - 安装v0.8.3稳定版gopls,执行命令:
go install golang.org/x/tools/gopls@v0.8.3 - 获取gopls安装路径:Linux/macOS执行
which gopls,Windows执行where gopls,复制返回的路径 - 打开VSCode Go扩展设置,搜索
gopls.path,粘贴刚才复制的路径 - 关闭gopls自动更新:搜索设置项
gopls.autoUpdate,选择off,避免自动升级到问题版本
应急备选方案
- 临时禁用VSCode Go扩展,仅用VSCode做纯文本编辑,所有格式化、运行操作切换到终端手动执行
go fmt、go run等命令 - 为项目配置git自动提交钩子,每次保存前自动提交本地修改,文件损坏后可直接回滚最近的提交恢复内容
内容的提问来源于stack exchange,提问作者ThisEndUp
相关产品推荐
相关产品推荐

