2016-10-17 17 views
1

я есть проблема с моим phpcs стандартов кодирования с использованием Sublime Text 3.Sublime Text 3 - PHPcs плагин добавления fullstops

Вопрос изложенным:

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

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

Пример:

The figure showing my commit Diff with fullstops

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

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

soultion:

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

ответ

1

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

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

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

<?php 

$finder = Symfony\CS\Finder\DefaultFinder::create() 
    ->in(__DIR__) 
; 

return Symfony\CS\Config\Config::create() 
    ->fixers(array('-phpdoc_short_description')) 
    ->finder($finder) 
; 

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

Некоторые из PHP Coding стандартных правил Fixer:

'-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. 
+0

Спасибо, братан! Я думаю, что я сортирую его сейчас :) –

Смежные вопросы