VS Code莫名删除文件末尾内容或出现红色NULL字符求助
VS Code 代码莫名截断/出现NULL字符,编译时丢失代码行
问题现象
使用VS Code编码时频繁出现以下异常:
- 文件末尾代码被莫名截断,无手动删除操作也会发生。例如:
修改前代码:
异常后代码:print(qsel_nr(t, 0)) print(qsel_nr(t, 1)) print(qsel_nr(t, 2)) print(qsel_nr(t, 7)) print(qsel_nr(t, 8)) print(qsel_nr(t, 9))print(qsel_nr(t, 0)) print(qsel_nr(t, 1)) print(qsel_nr(t, 2)) print(qsel_nr(t, 7)) print(qse # 此处被截断 - 偶尔会出现红色NULL字符
- 即便在文件任意位置编辑,编译时也可能突然丢失部分代码行
已尝试无效的操作
- 重新安装VS Code
- 卸载并重装所有扩展
- 使用Prettier格式化工具
排查与解决建议
检查存储设备与文件系统
- 用系统自带工具扫描磁盘(Windows用
chkdsk,macOS用磁盘工具),排查是否存在磁盘坏道或文件系统错误 - 若使用云同步工具(如OneDrive、Dropbox),暂时关闭同步,直接在本地磁盘编辑文件,排除同步冲突导致的文件损坏
- 用系统自带工具扫描磁盘(Windows用
调整VS Code自动保存相关设置
- 打开设置,搜索
files.autoSave,设置为off,手动保存观察是否还出现异常 - 关闭
files.trimTrailingWhitespace和files.insertFinalNewline选项,避免格式化操作触发代码截断 - 检查
files.saveDelay设置,确保自动保存时机合理
- 打开设置,搜索
切换文件编码与换行符
- 点击右下角状态栏的编码标识(如UTF-8),尝试切换为
UTF-8 with BOM,保存后重新打开测试 - 切换换行符格式(CRLF/LF),排查是否因换行符不兼容导致文件解析异常
- 点击右下角状态栏的编码标识(如UTF-8),尝试切换为
排除后台进程干扰
- 关闭杀毒软件、文件监控类后台进程,避免它们在VS Code编辑时修改文件
- 以管理员身份运行VS Code,排除权限不足导致的文件写入异常
使用便携版VS Code测试
- 下载VS Code便携版,不加载任何扩展和自定义配置,直接编辑文件,确认是否是旧配置或扩展残留问题
内容的提问来源于stack exchange,提问作者K1000-O
相关产品推荐
相关产品推荐

