PHP-CS-FIXER 忽略了我的配置
PHP-CS-FIXER is ignoring my config
我在项目的根目录中创建了一个名为 .gm_cs
的文件,并且 php-cs-fixer
已全局安装。
在配置文件中如下
<?php
$rules = array(
'@PSR2' => true,
'combine_consecutive_unsets' => true,
'no_extra_consecutive_blank_lines' => array('break', 'continue', 'extra', 'return', 'throw', 'use', 'parenthesis_brace_block', 'square_brace_block', 'curly_brace_block'),
'no_useless_else' => true,
'no_useless_return' => true,
'ordered_class_elements' => true,
'array_syntax' => array('syntax' => 'short'),
'ordered_imports' => true,
'phpdoc_add_missing_param_annotation' => true,
'psr4' => true,
'strict_comparison' => true,
'strict_param' => true,
);
$fixers = array(
'-pre_increment'
);
return PhpCsFixer\Config::create()->setRiskyAllowed(false)->setRules($rules)->fixers($fixers)->in(__DIR__);
我在 windows 上从 git-bash 调用以下命令:
php-cs-fixer fix -vvv ./private --config-file=gm_cs
我也试过这些:
php-cs-fixer fix -vvv ./private --config-file=.gm_cs
php-cs-fixer fix -vvv ./private --config-file=./.gm_cs
php-cs-fixer fix -vvv ./private --config gm_cs
php-cs-fixer fix -vvv ./private --config .gm_cs
php-cs-fixer fix -vvv ./private --config ./.gm_cs
php-cs-fixer fix -vvv ./private --config=gm_cs
php-cs-fixer fix -vvv ./private --config=.gm_cs
php-cs-fixer fix -vvv ./private --config=./.gm_cs
无奈之下,我从 composer/vendor 文件夹中复制了 .php_cs
:
<?php
Symfony\CS\Fixer\Contrib\HeaderCommentFixer::setHeader($header);
return Symfony\CS\Config::create()
// use default SYMFONY_LEVEL and extra fixers:
->fixers(array(
'-pre_increment',
))
->finder(
Symfony\CS\Finder::create()
->exclude('Symfony/CS/Tests/Fixtures')
->in(__DIR__)
)
;
并减少修复程序以停止预增量,然后 运行 使用前面列出的所有命令,但仍然没有解决问题。
最重要的是,我只是希望它停止将 $i++
替换为 ++$i
,因为这是我继承的一个庞大项目,我没有时间测试所有这些更改尚未(尚无单元测试)。
任何人都可以提供任何建议或帮助,我们将不胜感激。
原来我使用的 php-cs-fixer
版本是 Symfony\CS\Fixer\
版本,不需要 $rules
.
另外,文件需要命名为.php_cs
Symfony 独立示例:http://www.inanzzz.com/index.php/post/m9yq/creating-a-standalone-composer-json-library-or-package
.php_cs
return PhpCsFixer\Config::create()
->setUsingCache(false)
->setRules([
'array_syntax' => ['syntax' => 'short'],
'ordered_imports' => true,
])
->setFinder(
PhpCsFixer\Finder::create()
->exclude(['bin', 'vendor'])
->in(__DIR__)
);
Symfony 依赖示例:
.php_cs
$finder = Symfony\CS\Finder::create()
->exclude(['app', 'spec', 'build', 'bin', 'web', 'vendor'])
->in(__DIR__);
return Symfony\CS\Config::create()
->fixers(['short_array_syntax', '-phpdoc_align', 'ordered_use'])
->finder($finder);
没有 .php_cs 文件的示例:
$ bin/php-cs-fixer fix src --fixers=short_array_syntax
我在项目的根目录中创建了一个名为 .gm_cs
的文件,并且 php-cs-fixer
已全局安装。
在配置文件中如下
<?php
$rules = array(
'@PSR2' => true,
'combine_consecutive_unsets' => true,
'no_extra_consecutive_blank_lines' => array('break', 'continue', 'extra', 'return', 'throw', 'use', 'parenthesis_brace_block', 'square_brace_block', 'curly_brace_block'),
'no_useless_else' => true,
'no_useless_return' => true,
'ordered_class_elements' => true,
'array_syntax' => array('syntax' => 'short'),
'ordered_imports' => true,
'phpdoc_add_missing_param_annotation' => true,
'psr4' => true,
'strict_comparison' => true,
'strict_param' => true,
);
$fixers = array(
'-pre_increment'
);
return PhpCsFixer\Config::create()->setRiskyAllowed(false)->setRules($rules)->fixers($fixers)->in(__DIR__);
我在 windows 上从 git-bash 调用以下命令:
php-cs-fixer fix -vvv ./private --config-file=gm_cs
我也试过这些:
php-cs-fixer fix -vvv ./private --config-file=.gm_cs
php-cs-fixer fix -vvv ./private --config-file=./.gm_cs
php-cs-fixer fix -vvv ./private --config gm_cs
php-cs-fixer fix -vvv ./private --config .gm_cs
php-cs-fixer fix -vvv ./private --config ./.gm_cs
php-cs-fixer fix -vvv ./private --config=gm_cs
php-cs-fixer fix -vvv ./private --config=.gm_cs
php-cs-fixer fix -vvv ./private --config=./.gm_cs
无奈之下,我从 composer/vendor 文件夹中复制了 .php_cs
:
<?php
Symfony\CS\Fixer\Contrib\HeaderCommentFixer::setHeader($header);
return Symfony\CS\Config::create()
// use default SYMFONY_LEVEL and extra fixers:
->fixers(array(
'-pre_increment',
))
->finder(
Symfony\CS\Finder::create()
->exclude('Symfony/CS/Tests/Fixtures')
->in(__DIR__)
)
;
并减少修复程序以停止预增量,然后 运行 使用前面列出的所有命令,但仍然没有解决问题。
最重要的是,我只是希望它停止将 $i++
替换为 ++$i
,因为这是我继承的一个庞大项目,我没有时间测试所有这些更改尚未(尚无单元测试)。
任何人都可以提供任何建议或帮助,我们将不胜感激。
原来我使用的 php-cs-fixer
版本是 Symfony\CS\Fixer\
版本,不需要 $rules
.
另外,文件需要命名为.php_cs
Symfony 独立示例:http://www.inanzzz.com/index.php/post/m9yq/creating-a-standalone-composer-json-library-or-package
.php_cs
return PhpCsFixer\Config::create()
->setUsingCache(false)
->setRules([
'array_syntax' => ['syntax' => 'short'],
'ordered_imports' => true,
])
->setFinder(
PhpCsFixer\Finder::create()
->exclude(['bin', 'vendor'])
->in(__DIR__)
);
Symfony 依赖示例:
.php_cs
$finder = Symfony\CS\Finder::create()
->exclude(['app', 'spec', 'build', 'bin', 'web', 'vendor'])
->in(__DIR__);
return Symfony\CS\Config::create()
->fixers(['short_array_syntax', '-phpdoc_align', 'ordered_use'])
->finder($finder);
没有 .php_cs 文件的示例:
$ bin/php-cs-fixer fix src --fixers=short_array_syntax