【问题标题】:PhpStorm array is not closing on line startPhpStorm 阵列未在行开始时关闭
【发布时间】:2020-07-17 11:26:57
【问题描述】:

我前段时间编辑了代码样式设置,但我“破坏”了一些关于我无法修复的短数组语法。

例如,假设我调用一个函数并传递一个数组:

my_func([]);

如果我按 Enter 在多行上写入数组元素,我会得到这个(我觉得很糟糕):

my_func([

        ]);


为了让我的数组像这样,我应该在设置中进行哪些更改:
my_func([

]);

我在 Ubuntu 上使用 PhpStorm 2019.3。

EDIT:这里是设置的导出:

<code_scheme name="Default" version="173">
  <PHPCodeStyleSettings>
    <option name="ALIGN_PHPDOC_PARAM_NAMES" value="true" />
    <option name="ALIGN_PHPDOC_COMMENTS" value="true" />
    <option name="ALIGN_ASSIGNMENTS" value="true" />
    <option name="ALIGN_INLINE_COMMENTS" value="true" />
    <option name="CONCAT_SPACES" value="false" />
    <option name="COMMA_AFTER_LAST_ARRAY_ELEMENT" value="true" />
    <option name="PHPDOC_BLANK_LINE_BEFORE_TAGS" value="true" />
    <option name="PHPDOC_BLANK_LINES_AROUND_PARAMETERS" value="true" />
    <option name="LOWER_CASE_BOOLEAN_CONST" value="true" />
    <option name="LOWER_CASE_NULL_CONST" value="true" />
    <option name="KEEP_RPAREN_AND_LBRACE_ON_ONE_LINE" value="true" />
    <option name="ALIGN_CLASS_CONSTANTS" value="true" />
    <option name="FORCE_SHORT_DECLARATION_ARRAY_STYLE" value="true" />
    <option name="NAMESPACE_BRACE_STYLE" value="2" />
    <option name="PLACE_PARENS_FOR_CONSTRUCTOR" value="1" />
  </PHPCodeStyleSettings>
  <codeStyleSettings language="JSON">
    <indentOptions>
      <option name="INDENT_SIZE" value="4" />
    </indentOptions>
  </codeStyleSettings>
  <codeStyleSettings language="PHP">
    <option name="LINE_COMMENT_AT_FIRST_COLUMN" value="false" />
    <option name="LINE_COMMENT_ADD_SPACE" value="true" />
    <option name="ALIGN_MULTILINE_CHAINED_METHODS" value="true" />
    <option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
    <option name="ALIGN_MULTILINE_FOR" value="false" />
    <option name="ALIGN_MULTILINE_TERNARY_OPERATION" value="true" />
    <option name="SPACE_AFTER_TYPE_CAST" value="true" />
    <option name="CALL_PARAMETERS_LPAREN_ON_NEXT_LINE" value="true" />
    <option name="CALL_PARAMETERS_RPAREN_ON_NEXT_LINE" value="true" />
    <option name="METHOD_PARAMETERS_WRAP" value="1" />
    <option name="METHOD_PARAMETERS_LPAREN_ON_NEXT_LINE" value="true" />
    <option name="METHOD_PARAMETERS_RPAREN_ON_NEXT_LINE" value="true" />
    <option name="METHOD_CALL_CHAIN_WRAP" value="1" />
    <option name="TERNARY_OPERATION_WRAP" value="1" />
    <option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
    <option name="ARRAY_INITIALIZER_WRAP" value="5" />
    <option name="ARRAY_INITIALIZER_LBRACE_ON_NEXT_LINE" value="true" />
    <option name="ARRAY_INITIALIZER_RBRACE_ON_NEXT_LINE" value="true" />
  </codeStyleSettings>
  <codeStyleSettings language="SCSS">
    <indentOptions>
      <option name="INDENT_SIZE" value="4" />
    </indentOptions>
  </codeStyleSettings>
  <codeStyleSettings language="Shell Script">
    <indentOptions>
      <option name="INDENT_SIZE" value="4" />
    </indentOptions>
  </codeStyleSettings>
  <codeStyleSettings language="yaml">
    <indentOptions>
      <option name="INDENT_SIZE" value="4" />
    </indentOptions>
  </codeStyleSettings>
</code_scheme>

【问题讨论】:

  • 似乎工作:- 3v4l.org/fsLAe
  • @AnantSingh---AlivetoDie 是的,它可以工作,但这就是代码风格,我不希望它缩进关闭 ] 的数组。
  • 这是support / forum 的问题。与编程无关。
  • @MarkusZeller 我总是在 SO 上找到 PHPStorm 设置问题的答案,但我同意。
  • 我不知道你尝试了什么.. 但是如果我取消选中Function/constructor call arguments 下的所有 3 个复选框,它会将]) 放在行首。特别是Align when multiline 选项。其他 2 个在 ( 之后和 ) 之前控制空行。见postimg.cc/Z0zgHFWB

标签: php phpstorm editor


【解决方案1】:

Settings/Preferences | Editor | Code Style | PHP | Wrapping and Braces 选项卡上检查内容——应该是Function/constructor call argumentsArray initializer nodes 下的选项之一...

根据您导出的代码样式文件,这将是Function/constructor call arguments | Align when multiline 选项。另外两个控制(之后和)之前的空行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-11
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    相关资源
    最近更新 更多