Post

phpstrom莫名删除空格的问题

阅读此文可以解决以下问题:

  • php代码中的空格莫名消失不见
  • phpstrom自动删除变量定义末尾的不可见字符

最近帮朋友修改一个财务软件,客户要新增一个功能。使用phpstrom进行开发。

修改完成给客户验收的过程中,客户反应有一个txt表格导出功能错误了。之前是好的(这个功能是导出一个txt格式的表格,然后在其他软件导入)。

这次是新增功能,老的功能碰都没碰过,怎么能有问题呢?我心里OS道

下班后我立马用当前系统导出TXT,然后还原代码再导出一个txt,

接着使用文本分析软件一看,MD居然有很多不同的地方,最多的地方是表格标题的字符串定义后面的空格;

老系统标题后有几个空格,但是新系统代码没有了。卧槽,这TM咋回事。蒙蔽10分钟

后面查明,是phpstrom自动删除每行的空格,这个J8在搞事。

这里举例:

1
2
3
4
5
// 注意这段代码, 只是一个变量定义,定义了一个多行的字符串
// 如果在b处后面新增几个空格,然后保存.  重新打开文件后会发现空格神奇消失
$a = "a
b 
c"

解决方案当然是:关了就好

关闭地方如下图: 禁用Settings/Preferences | Editor | General | Trim trailing spaces on Save选项(设置为无") 或者: 禁用Settings/Preferences | Editor | General | Strip trailing spaces on Save选项(设置为None")

如上图,这里IDEA是真的坑!

值得一提的是,如果你项目里面有.editorconfig文件,请在这里修改trim_trailing_whitespace=false

这个文件将会覆盖默认值!!!

收队!!!!

This post is licensed under CC BY 4.0 by the author.