PHPStorm 重新格式化 - 如何禁用删除空行中的空格?
Posted
技术标签:
【中文标题】PHPStorm 重新格式化 - 如何禁用删除空行中的空格?【英文标题】:PHPStorm reformat - how do I disable removing spaces in empty lines? 【发布时间】:2014-07-23 16:34:28 【问题描述】:当重新格式化文件时,phpstorm 将空行替换为空白行,例如^[tab][tab]$
到 ^$
。如何禁用此功能?
【问题讨论】:
为什么要关心空行中的空格? 因为有些开发者使用 IDE 会在空行中放置 tab,所以每次重新格式化都会删除这些,并在 git diffs 中添加很多无用的信息。diff
可以选择忽略空白差异。 git diff
不允许您使用该选项吗?
我猜Github似乎没有那个选项?实际上,我不在乎空行中是否有空格,所以我希望 phpstorm 采取相应的行动。
因为,我们不能总是在基于工具的 git add/commit 上指定“忽略空格”,突然提交审查的 1-3 行更正表明一半文件已更改!
【参考方案1】:
你不能——http://youtrack.jetbrains.com/issue/IDEA-73161
我认为禁用剥离空白字符完全可以完成这项工作:
通过更改
Settings | Editor | Strip trailing spaces on Save
(现在有Modified Lines
选项)
但显然它只适用于“保存”。
相关门票:
http://youtrack.jetbrains.com/issue/IDEA-99173现在您也可以重新格式化代码:
Settings/Preferences
Editor | Code Style
$language$ | Tabs and Indents | Keep indents on empty lines
复选框
(此选项是在提供此答案后引入的:https://youtrack.jetbrains.com/issue/IDEA-103941#comment=27-807213)
【讨论】:
我已将“保存时去除尾随空格”设置为“无”。但是重新格式化仍然像我最初描述的那样起作用。这是预期的吗? “是”和“否”同时出现。 “是”是因为现在无法避免(无论出于何种原因——参见上面提到的票 IDEA-73161)和“否”,因为我希望上述选项即使在重新格式化期间也能正常工作。我会稍微改变一下我的答案。 是否可以在.blade.php
文件上禁用条带空间,但对所有其他文件(包括 index.php 等)启用它?
@Adam 使用.editorconfig
文件(它具有此类内容的标准选项)并在 IDE 设置中启用了 EditorConfig 支持——是的,这应该可以正常工作(即使在每个文件级别,如果配置正确) .注意:启用后,来自.editorconfig
的设置覆盖 IDE 设置。【参考方案2】:
我在相反的主题中找到了解决方案:Configure editor to remove whitespaces in blank lines。
它可以在 WebStorm 中工作,并且应该也可以在 PHPStorm 中工作:
Settings | Editor | Code Style | PHP | Tabs and Indents (tab) | Keep Indents on Empty Lines" (check box)
【讨论】:
以上是关于PHPStorm 重新格式化 - 如何禁用删除空行中的空格?的主要内容,如果未能解决你的问题,请参考以下文章