【问题标题】:PHPStorm reformat - how do I disable removing spaces in empty lines?PHPStorm 重新格式化 - 如何禁用删除空行中的空格?
【发布时间】:2014-07-23 16:34:28
【问题描述】:

当重新格式化文件时,phpstorm 将空行替换为空白行,例如^[tab][tab]$^$。如何禁用此功能?

【问题讨论】:

  • 为什么要关心空行中的空格?
  • 因为有些开发者使用 IDE 会在空行中放置 tab,所以每次重新格式化都会删除这些,并在 git diffs 中添加很多无用的信息。
  • diff 可以选择忽略空白差异。 git diff 不允许您使用该选项吗?
  • 我猜Github似乎没有那个选项?实际上,我不在乎空行中是否有空格,所以我希望 phpstorm 采取相应的行动。
  • 因为,我们不能总是在基于工具的 git add/commit 上指定“忽略空格”,突然提交审查的 1-3 行更正表明一半文件已更改!

标签: phpstorm reformat


【解决方案1】:

你不能——http://youtrack.jetbrains.com/issue/IDEA-73161

我认为禁用剥离空白字符完全可以完成这项工作:

通过更改 Settings | Editor | Strip trailing spaces on Save(现在有 Modified Lines 选项)

但显然它只适用于“保存”。

相关门票:


现在您也可以重新格式化代码

  1. Settings/Preferences
  2. Editor | Code Style
  3. $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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-22
    • 1970-01-01
    • 2021-03-09
    • 1970-01-01
    • 2021-05-07
    相关资源
    最近更新 更多