Last active
August 23, 2020 14:57
-
-
Save bhushan/e2779b2cd587aebe0dee6063e2f6cd94 to your computer and use it in GitHub Desktop.
PHP CS Fixer for PHPStorm and VSCode
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
return PhpCsFixer\Config::create() | |
->setRules(array( | |
'@PSR2' => true, | |
'array_indentation' => true, | |
'array_syntax' => array('syntax' => 'short'), | |
'combine_consecutive_unsets' => true, | |
'method_separation' => true, | |
'no_multiline_whitespace_before_semicolons' => true, | |
'single_quote' => true, | |
'binary_operator_spaces' => array( | |
'align_double_arrow' => false, | |
'align_equals' => false, | |
), | |
// 'blank_line_after_opening_tag' => true, | |
'blank_line_before_statement' => true, | |
'braces' => array( | |
'allow_single_line_closure' => true, | |
), | |
'cast_spaces' => true, | |
// 'class_definition' => array('singleLine' => true), | |
'concat_space' => array('spacing' => 'one'), | |
'declare_equal_normalize' => true, | |
'function_typehint_space' => true, | |
'hash_to_slash_comment' => true, | |
'include' => true, | |
'lowercase_cast' => true, | |
// 'native_function_casing' => true, | |
// 'new_with_braces' => true, | |
'no_blank_lines_after_class_opening' => true, | |
// 'no_blank_lines_after_phpdoc' => true, | |
'no_empty_comment' => true, | |
'no_empty_phpdoc' => true, | |
'no_empty_statement' => true, | |
'no_extra_consecutive_blank_lines' => array( | |
'curly_brace_block', | |
'extra', | |
'parenthesis_brace_block', | |
'square_brace_block', | |
'throw', | |
'use', | |
), | |
'no_leading_import_slash' => true, | |
// 'no_leading_namespace_whitespace' => true, | |
// 'no_mixed_echo_print' => array('use' => 'echo'), | |
'no_multiline_whitespace_around_double_arrow' => true, | |
// 'no_short_bool_cast' => true, | |
// 'no_singleline_whitespace_before_semicolons' => true, | |
'no_spaces_around_offset' => true, | |
// 'no_trailing_comma_in_list_call' => true, | |
// 'no_trailing_comma_in_singleline_array' => true, | |
// 'no_unneeded_control_parentheses' => true, | |
'no_unused_imports' => true, | |
'no_whitespace_before_comma_in_array' => true, | |
'no_whitespace_in_blank_line' => true, | |
// 'normalize_index_brace' => true, | |
'object_operator_without_whitespace' => true, | |
'php_unit_fqcn_annotation' => true, | |
// 'phpdoc_align' => true, | |
// 'phpdoc_annotation_without_dot' => true, | |
// 'phpdoc_indent' => true, | |
// 'phpdoc_inline_tag' => true, | |
// 'phpdoc_no_access' => true, | |
// 'phpdoc_no_alias_tag' => true, | |
// 'phpdoc_no_empty_return' => true, | |
// 'phpdoc_no_package' => true, | |
// 'phpdoc_no_useless_inheritdoc' => true, | |
// 'phpdoc_return_self_reference' => true, | |
// 'phpdoc_scalar' => true, | |
// 'phpdoc_separation' => true, | |
// 'phpdoc_single_line_var_spacing' => true, | |
// 'phpdoc_summary' => true, | |
// 'phpdoc_to_comment' => true, | |
'phpdoc_trim' => true, | |
// 'phpdoc_types' => true, | |
// 'phpdoc_var_without_name' => true, | |
// 'pre_increment' => true, | |
'return_type_declaration' => true, | |
// 'self_accessor' => true, | |
// 'short_scalar_cast' => true, | |
'single_blank_line_before_namespace' => true, | |
'single_import_per_statement' => true, | |
// 'single_class_element_per_statement' => true, | |
// 'space_after_semicolon' => true, | |
'standardize_not_equals' => true, | |
'ternary_operator_spaces' => true, | |
// 'trailing_comma_in_multiline_array' => true, | |
'trim_array_spaces' => true, | |
'unary_operator_spaces' => true, | |
'whitespace_after_comma_in_array' => true, | |
'php_unit_method_casing' => true, | |
'ordered_imports' => array('sort_algorithm' => 'length'), | |
'not_operator_with_successor_space' => true, | |
'strict_comparison' => true, | |
'declare_strict_types' => true, | |
)) | |
//->setIndent("\t") | |
->setLineEnding("\n") | |
; |
Using this configuration in VSCode
Open VSCode and install this extension.
Now Open VSCode Settings and add following configuration to your user settings.
"php-cs-fixer.config": "~/.php_cs;",
"php-cs-fixer.onsave": true,
"[php]": {
"editor.defaultFormatter": "junstyle.php-cs-fixer"
},
"php-cs-fixer.executablePath": "${extensionPath}/php-cs-fixer.phar",
"php-cs-fixer.allowRisky": true,
Below configuration is the path to your .php_cs
file update it according to your environment.
"php-cs-fixer.config": "~/.php_cs;",
Notice: In VSCode you can skip php-cs-fixer
installation, however if you want to use your installed php-cs-fixer
then
update following path
"php-cs-fixer.executablePath": "${extensionPath}/php-cs-fixer.phar",
That's it.
Now whenever you save php
file fixes will be applied automatically.
Thanks! 👍
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Using this configuration in PHPStorm
I assume you already have composer installed if not install it from here then run following command.
If you do not want to use composer then install this tool.
Ideally you should be able to run
php-cs-fixer -V
in you terminal now.Now Open PHPStorm Settings and search
php cs fixer validation
enable it.Update PHP CS Fixer Path by clicking on PHP CS Fixer.
php cs fixer validation
in this option usecustom
Ruleset and point to the.php_cs
file where you have saved it.also enable
Allow risky rules
this option is required for following validations.volla..
It will show up errors automatically and fixes will be applied automatically for the current file when you click on
PHP CS Fixer: fix the whole file
.