Sublime Text 3 - плагин PHPcs, добавляющий fullstops

У меня проблема с моими стандартами кодирования phpcs, используя Sublime Text 3.

Вопрос очерчен:

Я запускаю phpcs автоматически при сохранении в каждом из моих документов, и это потрясающая работа. У меня есть правильные пробелы и вкладки, но моя проблема возникает, когда я выполняю свою работу.

Мои коммиты почти нечитаемы, потому что мой стандарт кодирования PSR2 добавляет полные остановки и запятые к концу строк. У меня есть googled и не могу найти, как игнорировать части стандарта кодирования.

Пример:

Рисунок, показывающий мою фиксацию Diff с полной остановкой

Причиной этого является проблема:

Как вы можете видеть на приведенном выше рисунке, зеленые линии в верхней части изображения - это автоматически отредактированные строки. Проблема в том, что все остальные программы (Atom, Net Beans, Sublime Text 2) в офисе, используя стандарты кодирования PSR2, не добавляют эти полные стопы (и запятые) в свой код, поэтому мои коммиты действительно беспорядочны.

Душа:

Я действительно хотел бы очистить свои коммиты и игнорировать эти запятые / полные остановки, поэтому мои коммиты включают только код, который я действительно изменил. Любая помощь будет оценена по достоинству.

git,sublimetext3,phpcs,

1

Ответов: 1


1 принят

Вам необходимо настроить PHP Fixer Fixer с правилами, подходящими для вашего проекта.

Например, в Fixer для стандартов кодирования PHP есть правило, phpdoc_short_descriptionкоторое, если включено, означает, что краткие описания PHPDoc должны заканчиваться либо полной остановкой, либо восклицательным знаком, либо вопросительным знаком. ". Вот почему полные остановки добавляются в описания PHPDoc.

Если вы хотите использовать правила по умолчанию только с отключенным этим конкретным правилом, вы можете создать .php_csфайл в корне вашего проекта со следующим:

<?php

$finder = SymfonyCSFinderDefaultFinder::create()
    ->in(__DIR__)
;

return SymfonyCSConfigConfig::create()
    ->fixers(array('-phpdoc_short_description'))
    ->finder($finder)
;

См. Сайт Fixer для стандартов кодирования PHP для получения полного списка правил.

Некоторые правила Fixer для кодирования PHP:

'-psr0', // [PSR-0] Classes must be in a path that matches their namespace, be at least one namespace deep, and the class name should match the file name.
'-encoding', // [PSR-1] PHP code MUST use only UTF-8 without BOM (remove BOM).
'-short_tag', // [PSR-1] PHP code must use the long <?php ?> tags or the short-echo <?= ?> tags; it must not use the other tag variations.
'-braces', // [PSR-2] The body of each structure MUST be enclosed by braces. Braces should be properly placed. Body of braces should be properly indented.
'-elseif', // [PSR-2] The keyword elseif should be used instead of else if so that all control keywords looks like single words.
'-eof_ending', // [PSR-2] A file must always end with a single empty line feed.
'-function_call_space', // [PSR-2] When making a method or function call, there MUST NOT be a space between the method or function name and the opening parenthesis.
'-function_declaration', // [PSR-2] Spaces should be properly placed in a function declaration.
'-indentation', // [PSR-2] Code MUST use an indent of 4 spaces, and MUST NOT use tabs for indenting.
'-line_after_namespace', // [PSR-2] There MUST be one blank line after the namespace declaration.
'-linefeed', // [PSR-2] All PHP files must use the Unix LF (linefeed) line ending.
'-lowercase_constants', // [PSR-2] The PHP constants true, false, and null MUST be in lower case.
'-lowercase_keywords', // [PSR-2] PHP keywords MUST be in lower case.
'-method_argument_space', // [PSR-2] In method arguments and method call, there MUST NOT be a space before each comma and there MUST be one space after each comma.
'-multiple_use', // [PSR-2] There MUST be one use keyword per declaration.
'-parenthesis', // [PSR-2] There MUST NOT be a space after the opening parenthesis. There MUST NOT be a space before the closing parenthesis.
'-php_closing_tag', // [PSR-2] The closing ?> tag MUST be omitted from files containing only PHP.
'-single_line_after_imports', // [PSR-2] Each namespace use MUST go on its own line and there MUST be one blank line after the use statements block.
'-trailing_spaces', // [PSR-2] Remove trailing whitespace at the end of non-blank lines.
'-visibility', // [PSR-2] Visibility MUST be declared on all properties and methods; abstract and final MUST be declared before the visibility; static MUST be declared after the visibility.
'-array_element_no_space_before_comma', // [symfony] In array declaration, there MUST NOT be a whitespace before each comma.
'-array_element_white_space_after_comma', // [symfony] In array declaration, there MUST be a whitespace after each comma.
'-blankline_after_open_tag', // [symfony] Ensure there is no code on the same line as the PHP open tag and it is followed by a blankline.
'-concat_without_spaces', // [symfony] Concatenation should be used without spaces.
'-double_arrow_multiline_whitespaces', // [symfony] Operator => should not be surrounded by multi-line whitespaces.
'-duplicate_semicolon', // [symfony] Remove duplicated semicolons.
'-empty_return', // [symfony] A return statement wishing to return nothing should be simply "return".
'-extra_empty_lines', // [symfony] Removes extra empty lines.
'-function_typehint_space', // [symfony] Add missing space between function's argument and its typehint.
'-include', // [symfony] Include and file path should be divided with a single space. File path should not be placed under brackets.
'-join_function', // [symfony] Implode function should be used instead of join function.
'-list_commas', // [symfony] Remove trailing commas in list function calls.
'-multiline_array_trailing_comma', // [symfony] PHP multi-line arrays should have a trailing comma.
'-namespace_no_leading_whitespace', // [symfony] The namespace declaration line shouldn't contain leading whitespace.
'-new_with_braces', // [symfony] All instances created with new keyword must be followed by braces.
'-no_blank_lines_after_class_opening', // [symfony] There should be no empty lines after class opening brace.
'-no_empty_lines_after_phpdocs', // [symfony] There should not be blank lines between docblock and the documented element.
'-object_operator', // [symfony] There should not be space before or after object T_OBJECT_OPERATOR.
'-operators_spaces', // [symfony] Binary operators should be surrounded by at least one space.
'-phpdoc_indent', // [symfony] Docblocks should have the same indentation as the documented subject.
'-phpdoc_inline_tag', // [symfony] Fix PHPDoc inline tags, make inheritdoc always inline.
'-phpdoc_no_access', // [symfony] access annotations should be omitted from phpdocs.
'-phpdoc_no_empty_return', // [symfony] return void and @return null annotations should be omitted from phpdocs.
'-phpdoc_no_package', // [symfony] package and @subpackage annotations should be omitted from phpdocs.
'-phpdoc_params', // [symfony] All items of the @param, @throws, @return, @var, and @type phpdoc tags must be aligned vertically.
'-phpdoc_scalar', // [symfony] Scalar types should always be written in the same form. "int", not "integer"; "bool", not "boolean"; "float", not "real" or "double".
'-phpdoc_separation', // [symfony] Annotations in phpdocs should be grouped together so that annotations of the same type immediately follow each other, and annotations of a different type are separated by a single blank line.
'-phpdoc_short_description', // [symfony] Phpdocs short descriptions should end in either a full stop, exclamation mark, or question mark.
'-phpdoc_to_comment', // [symfony] Docblocks should only be used on structural elements.
'-phpdoc_trim', // [symfony] Phpdocs should start and end with content, excluding the very first and last line of the docblocks.
'-phpdoc_type_to_var', // [symfony] type should always be written as @var.
'-phpdoc_types', // [symfony] The correct case must be used for standard PHP types in phpdoc.
'-phpdoc_var_without_name', // [symfony] var and @type annotations should not contain the variable name.
'-pre_increment', // [symfony] Pre incrementation/decrementation should be used if possible.
'-print_to_echo', // [symfony] Converts print language construct to echo if possible.
'-remove_leading_slash_use', // [symfony] Remove leading slashes in use clauses.
'-remove_lines_between_uses', // [symfony] Removes line breaks between use statements.
'-return', // [symfony] An empty line feed should precede a return statement.
'-self_accessor', // [symfony] Inside a classy element "self" should be preferred to the class name itself.
'-short_bool_cast', // [symfony] Short cast bool using double exclamation mark should not be used.
'-single_array_no_trailing_comma', // [symfony] PHP single-line arrays should not have trailing comma.
'-single_blank_line_before_namespace', // [symfony] There should be exactly one blank line before a namespace declaration.
'-single_quote', // [symfony] Convert double quotes to single quotes for simple strings.
'-spaces_before_semicolon', // [symfony] Single-line whitespace before closing semicolon are prohibited.
'-spaces_cast', // [symfony] A single space should be between cast and variable.
'-standardize_not_equal', // [symfony] Replace all <> with !=.
'-ternary_spaces', // [symfony] Standardize spaces around ternary operator.
'-trim_array_spaces', // [symfony] Arrays should be formatted like function/method arguments, without leading or trailing single line space.
'-unalign_double_arrow', // [symfony] Unalign double arrow symbols.
'-unalign_equals', // [symfony] Unalign equals symbols.
'-unary_operators_spaces', // [symfony] Unary operators should be placed adjacent to their operands.
'-unneeded_control_parentheses', // [symfony] Removes unneeded parentheses around control statements.
'-unused_use', // [symfony] Unused use statements must be removed.
'-whitespacy_lines', // [symfony] Remove trailing whitespace at the end of blank lines.
'-align_double_arrow', // [contrib] Align double arrow symbols in consecutive lines.
'-align_equals', // [contrib] Align equals symbols in consecutive lines.
'-concat_with_spaces', // [contrib] Concatenation should be used with at least one whitespace around.
'-echo_to_print', // [contrib] Converts echo language construct to print if possible.
'-ereg_to_preg', // [contrib] Replace deprecated ereg regular expression functions with preg. Warning! This could change code behavior.
'-header_comment', // [contrib] Add, replace or remove header comment.
'-logical_not_operators_with_spaces', // [contrib] Logical NOT operators (!) should have leading and trailing whitespaces.
'-logical_not_operators_with_successor_space', // [contrib] Logical NOT operators (!) should have one trailing whitespace.
'-long_array_syntax', // [contrib] Arrays should use the long syntax.
'-multiline_spaces_before_semicolon', // [contrib] Multi-line whitespace before closing semicolon are prohibited.
'-newline_after_open_tag', // [contrib] Ensure there is no code on the same line as the PHP open tag.
'-no_blank_lines_before_namespace', // [contrib] There should be no blank lines before a namespace declaration.
'-ordered_use', // [contrib] Ordering use statements.
'-php4_constructor', // [contrib] Convert PHP4-style constructors to __construct. Warning! This could change code behavior.
'-php_unit_construct', // [contrib] PHPUnit assertion method calls like "->assertSame(true, )" should be written with dedicated method like "->assertTrue()". Warning! This could change code behavior.
'-php_unit_strict', // [contrib] PHPUnit methods like "assertSame" should be used instead of "assertEquals". Warning! This could change code behavior.
'-phpdoc_order', // [contrib] Annotations in phpdocs should be ordered so that param annotations come first, then throws annotations, then return annotations.
'-phpdoc_var_to_type', // [contrib] var should always be written as @type.
'-short_array_syntax', // [contrib] PHP arrays should use the PHP 5.4 short-syntax.
'-short_echo_tag', // [contrib] Replace short-echo <?= with long format <?php echo syntax.
'-strict', // [contrib] Comparison should be strict. Warning! This could change code behavior.
'-strict_param' // [contrib] Functions should be used with  param. Warning! This could change code behavior.
мерзавец, sublimetext3, phpcs,
Похожие вопросы