PhpStorm 2021.3 Help

重新格式化和重新排列代码

PhpStorm 允许您根据您在当前代码样式方案.editorconfig文件中指定的要求重新格式化您的代码。如果 中未定义任何内容.editorconfig,则从项目设置中获取。

您可以重新格式化代码的一部分、整个文件、文件组或目录。您还可以从重新格式化中排除部分代码或某些文件。

重新格式化代码片段

  1. 在编辑器中,选择要重新格式化的代码片段。

    在重新格式化之前,您可以查看应用于所选代码的代码样式设置:按下Alt+Enter并单击调整代码样式设置

  2. 从主菜单中,选择代码 | 重新格式化代码或按Ctrl+Alt+L

重新格式化文件

  1. 在编辑器中打开文件并按Ctrl+Alt+Shift+L或在项目工具窗口中,右键单击文件并选择重新格式化代码

  2. 在打开的对话框中,如果需要,选择以下重新格式化选项:

    • 优化导入:如果要删除未使用的导入、添加缺失的导入或组织导入语句,请选择此选项。

      有关详细信息,请参阅优化导入部分。

    • 重新排列条目:如果您需要根据代码样式设置中指定的排列规则重新排列代码,请选择此选项。

    • 代码清理:选择此选项以运行代码清理检查。

    • 不要保留换行符:根据代码样式设置重新格式化换行符。此选项在重新格式化时覆盖Keep | 换行设置。

重新格式化文件夹中的代码

  1. 在项目视图中,右键单击文件夹并从上下文菜单中选择重新格式化代码或按Ctrl+Alt+L

  2. 在打开的对话框中,指定必要的选项并单击OK

重新格式化行缩进

您可以根据指定的设置重新格式化行缩进。

  1. 在编辑器中,选择必要的代码片段并按Ctrl+Alt+I

  2. 如果您需要调整缩进设置,在Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到Editor | 代码风格

  3. 在适当的语言页面上,在Tabs and Indents选项卡上,指定适当的缩进选项并单击OK

保存时自动重新格式化代码

您可以将 IDE 配置为在保存更改后自动重新格式化已修改文件中的代码。

  1. Ctrl+Alt+S打开 IDE 设置并选择工具 | 保存操作

  2. 启用重新格式化代码选项。

  3. 此外,您可以配置 IDE 重新格式化代码的方式:

    • 单击配置范围以指定要从重新格式化中排除的文件名和目录的模式。

    • 所有文件类型列表中,选择要重新格式化代码的文件类型。

    • 如果您的项目受版本控制,请选择整个文件更改的行。

      如果您选择Changed lines,重新格式化将仅适用于已在本地更改但尚未签入存储库的代码行。

从重新格式化中排除文件

您可以从重新格式化、代码排列导入优化中排除一组文件和目录。

  1. Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到Editor | 代码风格

  2. 切换到Formatter选项卡并在Do not format字段中,输入要使用glob 模式排除的文件和目录。

    您可以指定多个用分号分隔的 glob 模式;。如果单击展开图标,该字段将展开,并且每个模式将显示在单独的行上。

  3. 应用更改并关闭对话框。

    指定用于从重新格式化中排除文件的 glob 模式

在编辑器中从重新格式化中排除代码片段

  1. Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到Editor | 代码风格

  2. 切换到格式化程序选项卡并启用在代码注释中使用标记打开/关闭格式化程序选项。

  3. 在编辑器中,在要排除的区域的开头,创建行注释Ctrl+/并键入@formatter:off。在该区域的末尾,创建另一行注释并键入@formatter:on

    标记之间的代码不会被重新格式化。

下面的示例显示了两个代码片段。其中一个包含在@formatter:offand@formatter:on标记中,而另一个则没有。

格式化标记关闭

保留原始格式:

格式化标记关闭

两个代码片段中都没有保留原始格式:

格式化标记关闭

保留现有格式

您可以选择重新格式化代码时将被忽略的格式化规则。例如,您可以调整 IDE 以将简单的方法和函数保留在一行中,而通常在重新格式化代码后将它们扩展为多行。

  1. 转到设置/首选项 | 编辑 | Code Style,选择您的编程语言,然后打开Wrapping and Braces选项卡。

  2. 重新格式化时保留部分中,选择要忽略的格式规则并取消选择应应用的格式规则。

  3. 重新格式化您的代码( Ctrl+Alt+L)。

PhpStorm 将根据当前样式设置重新格式化您的代码,保留您选择的规则的现有格式。

重新排列代码

您可以根据代码样式中设置的排列规则重新排列代码。设置/首选项对话框的PHP页面。

配置分组规则

分组规则让您可以将相关的类方法放在一起。

  • Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到Editor | 代码风格 | PHP。在排列选项卡上,选择分组规则区域中的分组选项。

    分组规则示例

    对于Keepdependent methods together选项,您可以选择depth-first orderwidth-first order。前者会根据嵌套层次排列方法;后者会将来自同一嵌套级别的兄弟方法组合在一起。

    类 foo { public function parent() { $this->child1(); $this->child2(); } 私有函数 child1() { $this->nested1(); } 私有函数 nested1() { $this->nested2(); } 私有函数 nested2() { } 私有函数 child2() { } }
    类 foo { public function parent() { $this->child1(); $this->child2(); } 私有函数 child1() { $this->nested1(); } 私有函数 child2() { } 私有函数 nested1() { $this->nested2(); } 私有函数 nested2() { } }

创建匹配规则

匹配规则允许您将元素顺序定义为规则列表,其中每个规则都有一组匹配条件,例如修饰符或类型。

  • Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到Editor | 代码风格 | PHP。在排列选项卡上,单击并在匹配规则区域添加按钮中提供规则参数。

    • 使用TypeModifier过滤器来选择应该由规则管理的代码结构及其可见性修饰符。请注意,双击过滤器会否定该条件。

    • 使用名称字段指定规则应影响的条目名称。此过滤器仅匹配条目名称,例如属性名称、方法名称、类名称等。该过滤器支持正则表达式并使用标准语法。匹配是针对整个名称执行的。

    • 要按字母顺序对代码条目进行排序,请选择适当的匹配规则条目并将Order字段设置为order by name

      匹配规则示例

    您还可以创建规则组(别名)并在创建新的匹配规则时引用它们。

创建规则别名

使用别名,您可以将多个排列规则组合到一个实体中,并在添加新的匹配规则时引用它。

  1. Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到Editor | 代码风格 | PHP。在排列选项卡上,单击配置匹配规则别名

  2. 在打开的“规则别名定义”对话框中,添加组名称及其规则。

    规则别名定义

现在可以在添加匹配规则时引用创建的别名。

匹配规则别名示例

创建部分规则

部分规则允许您将方法或变量移动到已定义的部分中。

  • Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到Editor | 代码风格 | PHP。在排列选项卡上,单击并在匹配规则区域添加部分规则按钮中提供规则参数。

    例如,您可以创建以下部分规则:

    部分匹配规则示例

    排列后,类中的方法将按照创建的节规则中的指定重新排列,并被注释包围:

    //方法开始 public function test() {} private function a() { return 1; } static function r() {} //方法结束

重新排列代码条目

  1. Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到Editor | 代码风格

  2. 选择您要为其创建排列规则的语言。

  3. 排列选项卡上,指定适当的选项,例如分组和匹配规则。

  4. 单击确定以保存更改。

  5. 在编辑器中,选择要重新排列的代码条目,然后从主菜单中选择Code | 重新排列代码

保存时自动重新排列代码

您可以将 IDE 配置为在保存更改时自动重新排列已修改文件中的代码元素。

  1. Ctrl+Alt+S打开 IDE 设置并选择工具 | 保存操作

  2. 启用重新排列代码选项。

    此外,您可以单击配置排列规则来指定对所选语言的代码元素重新排序的规则。

最后修改:2022 年 1 月 14 日