IDE编辑文件总是自动清除末尾空格的问题
Posted 神神的蜗牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDE编辑文件总是自动清除末尾空格的问题相关的知识,希望对你有一定的参考价值。
修改一个多年前的 Vue
项目,编辑一个 markdown
文件,结果遇到个很神奇的问题:
每次保存总是自动清除每一行末尾的空格,导致 md
文件的语句末尾双空格换行语法失效,一番折腾无果,让人很崩溃。。。
一开始以为是 markdown 插件的问题,不过又觉得不可能有这么低级的错误,停用后果然问题依旧,又测试其他文件格式,连 txt 文件居然也会自动清理,无语了。
排除插件问题,那可能是编辑器的配置问题?设置面板中搜索相关配置,trailing space
取消后问题依然存在。
然后开一个新项目,发现就没有这个问题,其他地方实在找不到相关设置了。
想想还有点儿关系的可能的也就是 eslint ,webpack,文件监测之类的了先检查下相关配置文件。
结果发现了一个 .editorconfig
文件,想起之前好像是为了统一缩进格式放了这么个文件。
查看配置参数,果然有个 trim_trailing_whitespace = true
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 4
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
就是 trim_trailing_whitespace
这个全局配置参数导致的,他会覆盖 IDE 自身的设置参数,
具体语法规则可以参考官网说明:
What is EditorConfig
https://editorconfig.org/
很多IDE都支持该配置文件,以前也没遇到这种问题,没有太注意配置参数的副作用还是挺坑的。
改了下配置:
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 4
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false
这样就好了,或者全局设置为 false 或者不设置使用IDE配置,然后给指定后缀开启。
如果需要配置多个后缀,就这样写:
[*.{txt,md}]
trim_trailing_whitespace = false
以上是关于IDE编辑文件总是自动清除末尾空格的问题的主要内容,如果未能解决你的问题,请参考以下文章