温馨提示×

centos中phpstorm如何设置代码风格

小樊
43
2025-12-15 12:33:55
栏目: 编程语言

在 CentOS 中配置 PHPStorm 代码风格

一 基础设置与常用风格

  • 打开设置:依次点击 File → Settings → Editor → Code Style → PHP(macOS 为 Preferences)。在 Scheme 处可新建或导入团队风格;常用内置模板为 PSR-12(推荐)、PSR-1/PSR-2(PSR-2 已不推荐)。
  • 常用风格项:
    • Tabs and Indents:缩进用 4 个空格(推荐),或选择 Tab 并设定宽度。
    • Spaces:在运算符、括号内、逗号后等位置自动插入空格。
    • Wrapping and Braces:控制换行与花括号位置;将 Braces placement 设为 End of line 可让花括号与声明同行。
    • Line Separator:选择 Unix and macOS (\n),避免跨平台换行差异。
    • 代码对齐示例:开启 Align key-value pairs 可对数组 => 对齐;开启 Align consecutive assignments 可对连续 = 赋值对齐。
  • 快速格式化:使用快捷键 Ctrl + Alt + L 对选中文档或片段进行格式化。

二 保存时自动格式化与导入导出

  • 保存即格式化:进入 Settings → Editor → General → Auto Import,勾选 Reformat code on saveOptimize imports on the fly,每次保存自动格式化并优化导入。
  • 导入/导出风格:在 Settings → Editor → Code Style 右上角点击 Manage,可 Export 当前风格为 XML,或 Import 团队统一风格文件(便于多人协作一致)。

三 团队统一与代码规范检查

  • 使用 EditorConfig 统一基础风格:在项目根目录放置 .editorconfig,PHPStorm 会自动识别并应用缩进、换行等基础规则。
  • 集成 PHP_CodeSniffer 做规范校验:
    • 安装:composer require --dev squizlabs/php_codesniffer
    • 在 PHPStorm:Settings → Languages & Frameworks → PHP → Quality Tools → Code Sniffer,配置 phpcs 路径并 Validate
    • 开启检查:Settings → Editor → Inspections → Quality Tools → PHP Code Sniffer validation,选择规范(如 PSR2/PSR12)以在编辑器中高亮不符合项。

四 实用风格模板示例

  • 将以下配置保存为 PHPStorm.xml,在 Code StyleImport Scheme → IntelliJ IDEA code style XML 导入,即可获得常用的对齐与格式规则:
<code_scheme name="MyPHPStyle" version="173">
  <PHPCodeStyleSettings>
    <option name="ALIGN_KEY_VALUE_PAIRS" value="true"/>
    <option name="ALIGN_ASSIGNMENTS" value="true"/>
    <option name="ALIGN_PHPDOC_PARAM_NAMES" value="true"/>
    <option name="ALIGN_PHPDOC_COMMENTS" value="true"/>
    <option name="COMMA_AFTER_LAST_ARRAY_ELEMENT" value="true"/>
    <option name="PHPDOC_BLANK_LINE_BEFORE_TAGS" value="true"/>
    <option name="PHPDOC_BLANK_LINES_AROUND_PARAMETERS" value="true"/>
    <option name="PHPDOC_WRAP_LONG_LINES" value="true"/>
    <option name="LOWER_CASE_BOOLEAN_CONST" value="true"/>
    <option name="LOWER_CASE_NULL_CONST" value="true"/>
    <option name="ELSE_IF_STYLE" value="COMBINE"/>
    <option name="VARIABLE_NAMING_STYLE" value="CAMEL_CASE"/>
    <option name="BLANK_LINES_BEFORE_RETURN_STATEMENT" value="1"/>
    <option name="FORCE_SHORT_DECLARATION_ARRAY_STYLE" value="true"/>
    <option name="PHPDOC_USE_FQCN" value="true"/>
  </PHPCodeStyleSettings>
  <codeStyleSettings language="PHP">
    <option name="RIGHT_MARGIN" value="120"/>
    <option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false"/>
    <option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="0"/>
    <option name="BLANK_LINES_AFTER_PACKAGE" value="1"/>
    <option name="SPECIAL_ELSE_IF_TREATMENT" value="true"/>
    <option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true"/>
    <option name="ALIGN_MULTILINE_EXTENDS_LIST" value="true"/>
    <option name="METHOD_PARAMETERS_LPAREN_ON_NEXT_LINE" value="true"/>
    <option name="METHOD_PARAMETERS_RPAREN_ON_NEXT_LINE" value="true"/>
    <option name="EXTENDS_LIST_WRAP" value="1"/>
    <option name="EXTENDS_KEYWORD_WRAP" value="1"/>
    <option name="METHOD_CALL_CHAIN_WRAP" value="1"/>
    <option name="BINARY_OPERATION_WRAP" value="1"/>
    <option name="TERNARY_OPERATION_WRAP" value="1"/>
    <option name="FOR_STATEMENT_WRAP" value="1"/>
    <option name="ARRAY_INITIALIZER_WRAP" value="5"/>
    <option name="ARRAY_INITIALIZER_LBRACE_ON_NEXT_LINE" value="true"/>
    <option name="ARRAY_INITIALIZER_RBRACE_ON_NEXT_LINE" value="true"/>
    <option name="ASSIGNMENT_WRAP" value="1"/>
    <option name="PLACE_ASSIGNMENT_SIGN_ON_NEXT_LINE" value="true"/>
    <option name="IF_BRACE_FORCE" value="3"/>
    <option name="DOWHILE_BRACE_FORCE" value="3"/>
    <option name="WHILE_BRACE_FORCE" value="3"/>
    <option name="FOR_BRACE_FORCE" value="3"/>
  </codeStyleSettings>
</code_scheme>
  • 说明:该模板启用了 数组键值对对齐连续赋值对齐PHPDoc 对齐与换行返回前空行 等常用规则,可按团队规范继续微调。

0