重新格式化和重新排列代码
PhpStorm 允许您根据您在当前代码样式方案或.editorconfig文件中指定的要求重新格式化您的代码。如果 中未定义任何内容.editorconfig
,则从项目设置中获取。
您可以重新格式化代码的一部分、整个文件、文件组或目录。您还可以从重新格式化中排除部分代码或某些文件。
重新格式化代码片段
在编辑器中,选择要重新格式化的代码片段。
在重新格式化之前,您可以查看应用于所选代码的代码样式设置:按下Alt+Enter并单击调整代码样式设置。
从主菜单中,选择
或按Ctrl+Alt+L。
重新格式化文件
在编辑器中打开文件并按Ctrl+Alt+Shift+L或在项目工具窗口中,右键单击文件并选择 。
在打开的对话框中,如果需要,选择以下重新格式化选项:
优化导入:如果要删除未使用的导入、添加缺失的导入或组织导入语句,请选择此选项。
有关详细信息,请参阅优化导入部分。
重新排列条目:如果您需要根据代码样式设置中指定的排列规则重新排列代码,请选择此选项。
代码清理:选择此选项以运行代码清理检查。
不要保留换行符:根据代码样式设置重新格式化换行符。此选项在重新格式化时覆盖 设置。
重新格式化文件夹中的代码
在项目视图中,右键单击文件夹并从上下文菜单中选择重新格式化代码或按Ctrl+Alt+L。
在打开的对话框中,指定必要的选项并单击OK。
重新格式化行缩进
您可以根据指定的设置重新格式化行缩进。
在编辑器中,选择必要的代码片段并按Ctrl+Alt+I。
如果您需要调整缩进设置,在Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到 。
在适当的语言页面上,在Tabs and Indents选项卡上,指定适当的缩进选项并单击OK。
保存时自动重新格式化代码
您可以将 IDE 配置为在保存更改后自动重新格式化已修改文件中的代码。
按Ctrl+Alt+S打开 IDE 设置并选择工具 | 保存操作。
启用重新格式化代码选项。
此外,您可以配置 IDE 重新格式化代码的方式:
单击配置范围以指定要从重新格式化中排除的文件名和目录的模式。
从所有文件类型列表中,选择要重新格式化代码的文件类型。
如果您的项目受版本控制,请选择整个文件或更改的行。
如果您选择Changed lines,重新格式化将仅适用于已在本地更改但尚未签入存储库的代码行。
从重新格式化中排除文件
您可以从重新格式化、代码排列和导入优化中排除一组文件和目录。
在Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到 。
切换到Formatter选项卡并在Do not format字段中,输入要使用glob 模式排除的文件和目录。
您可以指定多个用分号分隔的 glob 模式
;
。如果单击,该字段将展开,并且每个模式将显示在单独的行上。应用更改并关闭对话框。
在编辑器中从重新格式化中排除代码片段
在Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到 。
切换到格式化程序选项卡并启用在代码注释中使用标记打开/关闭格式化程序选项。
在编辑器中,在要排除的区域的开头,创建行注释Ctrl+/并键入
@formatter:off
。在该区域的末尾,创建另一行注释并键入@formatter:on
。标记之间的代码不会被重新格式化。
下面的示例显示了两个代码片段。其中一个包含在@formatter:off
and@formatter:on
标记中,而另一个则没有。
保留原始格式:
两个代码片段中都没有保留原始格式:
保留现有格式
您可以选择重新格式化代码时将被忽略的格式化规则。例如,您可以调整 IDE 以将简单的方法和函数保留在一行中,而通常在重新格式化代码后将它们扩展为多行。
转到Wrapping and Braces选项卡。
,选择您的编程语言,然后打开在重新格式化时保留部分中,选择要忽略的格式规则并取消选择应应用的格式规则。
重新格式化您的代码( Ctrl+Alt+L)。
PhpStorm 将根据当前样式设置重新格式化您的代码,保留您选择的规则的现有格式。
重新排列代码
您可以根据代码样式中设置的排列规则重新排列代码。设置/首选项对话框的PHP页面。
配置分组规则
分组规则让您可以将相关的类方法放在一起。
在Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到 。在排列选项卡上,选择分组规则区域中的分组选项。
对于Keepdependent methods together选项,您可以选择depth-first order或width-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) 中,转到 。在排列选项卡上,单击。
在打开的“规则别名定义”对话框中,添加组名称及其规则。
现在可以在添加匹配规则时引用创建的别名。
创建部分规则
部分规则允许您将方法或变量移动到已定义的部分中。
在Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到 。在排列选项卡上,单击并在匹配规则区域中提供规则参数。
例如,您可以创建以下部分规则:
排列后,类中的方法将按照创建的节规则中的指定重新排列,并被注释包围:
//方法开始 public function test() {} private function a() { return 1; } static function r() {} //方法结束
重新排列代码条目
在Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到 。
选择您要为其创建排列规则的语言。
在排列选项卡上,指定适当的选项,例如分组和匹配规则。
单击确定以保存更改。
在编辑器中,选择要重新排列的代码条目,然后从主菜单中选择
。
保存时自动重新排列代码
您可以将 IDE 配置为在保存更改时自动重新排列已修改文件中的代码元素。
按Ctrl+Alt+S打开 IDE 设置并选择工具 | 保存操作。
启用重新排列代码选项。
此外,您可以单击配置排列规则来指定对所选语言的代码元素重新排序的规则。