【问题标题】:Exclude array alignment in php-cs-fixer Netbeans 8.x在 php-cs-fixer Netbeans 8.x 中排除数组对齐
【发布时间】:2018-08-02 11:52:27
【问题描述】:

我正在使用php-cs-fixerNetbeans 8.2。除了一种情况外,它运行良好。我的数组格式如下

$array = [
    'asdf' => 'a',
    'a'    => 'b',
    'asd'  => 'c'
];

但是用php-cs-fixer修复后,都变成了

$array = [
    'asdf' => 'a',
    'a' => 'b',
    'asd' => 'c'
];

有没有办法只忽略这一部分?

【问题讨论】:

    标签: netbeans netbeans-8 php-cs-fixer


    【解决方案1】:

    有什么办法可以只忽略这一部分吗?

    不,没有办法。查看对 PHP-CS-Fixer 问题#3846: How to ignore specific lines? 的回复

    这是一个设计决策,您不应允许每个例外情况 代码块。 将来可能会或可能不会引入,具体取决于 关于请求它的人数和愿意挑战的人 实现它。

    目前,如果您确实需要,您可以禁用文件 完全固定。但这意味着它不会被任何其他人修复 规则也是如此。

    所以我想您可以更新现有问题以添加您的声音,并希望他们倾听。

    或者,您可以提出一个新问题,要求 PHP-CS-Fixer 中有一个新规则,该规则在格式化数组时保留空格。在我看来,您的格式肯定比 PHP-CS-Fixer 的格式更好。

    【讨论】:

      【解决方案2】:

      为了在关联数组中保持双箭头 ('=>') 之后的对齐方式(旧规则 align_double_arrow),您需要运行 PHP-CS-Fixer v2 或 v3 版本:

      php-cs-fixer fix path \
      --rules='{"binary_operator_spaces": {"operators": {"=>": "align_single_space_minimal"}}}'
      
      

      你也可以对任何二元运算符这样做:

      php-cs-fixer fix path \
      --rules='{"binary_operator_spaces": {"default": "align_single_space_minimal"}}'
      
      

      更多阅读: https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/3.0/doc/rules/operator/binary_operator_spaces.rst

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-02-11
        • 2020-12-27
        • 1970-01-01
        • 1970-01-01
        • 2019-12-07
        • 2017-06-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多