PyCharm 2025.3 Help

代码风格。 JavaScript

使用此页面为 JavaScript 文件配置格式设置。 当您更改这些设置时, 预览 窗格会显示这将如何影响您的代码。

制表符和缩进

使用制表符

  • 选中此复选框后,将使用制表符:

    • 在按下 Tab 键时

    • 用于缩进

    • 用于重新格式化代码

  • 清除此复选框后,PyCharm 将使用空格而非制表符。

智能制表符

缩进由两部分组成。 一部分源自代码块的嵌套,另一部分由对齐决定。

  • 选中此复选框后,来自嵌套的部分可同时包含制表符和空格(如有必要),而由对齐确定的部分仅包含空格。

  • 清除此复选框后,仅使用制表符。 这意味着在重新格式化后,符合指定制表符大小的一组空格会自动替换为一个制表符,这可能会破坏精细的对齐。

制表符大小

在此字段中,指定一个制表符包含的空格数。

缩进

在此字段中,指定每个缩进级别要插入的空格数。

续行缩进

在此字段中,指定在数组元素之间、表达式、方法声明和方法调用中要插入的空格数。

在空行上保留缩进

选中此复选框后,PyCharm 会在空行上保留缩进,就像其中包含某些代码一样。 清除此复选框后,PyCharm 会删除空行上的制表符和空格。

缩进链式方法

在函数声明中,链中的第二个及后续方法会显示在单独的一行上。

  • 选中此复选框后,链中的第二个及后续方法将与第一次调用对齐。

  • 清除此复选框后,链中的第二个及后续方法将与其调用的对象对齐。

缩进组中的所有链式调用

选中此复选框后,第一个及后续调用的方法都会缩进。

仅在选中 缩进链式方法 复选框时,此复选框才可用。

对所有链式调用进行缩进已关闭
对所有链式调用进行缩进已开启

空格

使用此选项卡指定 PyCharm 在何处自动插入空格。 选中相应位置说明旁的复选框,并在 预览 窗格中检查结果。

换行和大括号

在此选项卡中,自定义 PyCharm 在 重新格式化源代码时将应用于各种代码结构的例外情况、大括号放置和对齐选项。 在 预览 窗格中检查结果。

强制换行位置

在此字段中,指定元素右侧所需的空格数。 如果接受 默认 选项,则使用 全局设置中的值。

键入时换行

在此字段中,指定已编辑文本如何适配指定的 强制换行位置 字段。

  • 默认 :选择此选项以使用 全局设置 中的 键入时换行 值。

  • :选择此选项以使用 右边距 字段中的值。

  • :选择此选项时,行可以超过右边距中指定的值。

视觉参考线

在此字段中,指定多个右边距。 您可以保留默认值,或输入边距的空格数。 如需指定多个边距,请输入用逗号分隔的数字。

重新格式化时保留

使用复选框配置 PyCharm 在重新格式化源代码时要保留的例外情况。 例如,默认情况下会选中 换行 复选框。

如果您的代码包含短于标准约定的行,您可以在重新格式化之前清除 换行 复选框来进行转换。

换行选项

换行样式适用于左侧窗格中指定的各种代码结构(例如,方法调用参数或赋值语句)。

  • 不换行 - 选择此选项时,不应用特殊换行样式,并会忽略嵌套的对齐和大括号设置。

  • 如果很长则换行 - 选择此选项可将超过右边距的行按正确缩进进行换行。

  • 始终换行 - 选择此选项可对列表中的所有元素进行换行,使每行一个元素并具有正确的缩进。

  • 过长时分行 - 选择此选项可仅对超过右边距的列表元素进行换行,使每行一个元素并具有正确的缩进。

对齐选项

  • 多行时对齐 - 选中此复选框后,代码结构在后续各行都从同一列开始。 否则,代码结构的位置由当前缩进级别决定。

  • 将 <character(s)> 放在下一行 - 选中此复选框后,在换行时将指定的字符或字符序列移至下一行。

  • 将 'else' 放在新行 - 使用此复选框将相应的语句或字符移至下一行。

  • 在 <character> 后换行 - 选中此复选框后,将指定字符之后的代码移至新的一行。

  • 对 'else if' 进行特殊处理 - 选中此复选框后, else if 语句位于同一行。

    否则, else if 语句将移至下一行,并位于相应的缩进级别。

  • 缩进 case 分支 - 选中此复选框后, case 语句位于相应的缩进级别。 否则, case 语句与 switch 处于相同的缩进级别。

  • 对象 - 从列表中选择对象的对齐方式:

    • 不对齐 :连续行中的属性不对齐。

    • 按冒号对齐 :连续行中的属性将按冒号对齐。

    • 按值对齐 :连续行中的属性将按值对齐。

  • 变量声明 - 选择以下选项之一以配置等号的对齐:

    • 不对齐 :等号不对齐。

    • 多行时对齐 :通过插入附加空格,使多行 var 语句中的等号对齐。

    • 按组对齐 :通过插入附加空格,使多个 var 语句中的等号对齐。

  • ES6 import/export 选中 按 'from' 子句对齐: 复选框时,PyCharm 会在 ECMAScript 6 代码中自动对齐 importexport 语句,从而使您的代码更易于阅读和维护。 在 预览 窗格中比较已对齐与未对齐的代码片段的外观。

    ws_align_import_export_es6.png

    启用此选项后,PyCharm 将即时对齐新代码。 在您通过按下 Ctrl+Alt+L 重新格式化代码 后,现有的 importexport 语句将被对齐。

大括号放置选项

大括号放置样式

使用此列表指定在 类声明方法声明函数声明及其他类型声明中左大括号的位置。 可用选项如下:

  • 行尾 :选择此选项将左大括号放在声明行末尾。

  • 换行时置于下一行 :选择此选项将左大括号放在多行声明之后的下一行行首。

  • 下一行 :选择此选项将左大括号放在声明行之后的下一行行首。

  • 下一行缩进 :选择此选项将左大括号放在声明行之后的一行,并移至相应的缩进级别。

  • 每行缩进的下一行 :选择此选项将左大括号放在声明行之后的一行,并移至相应的缩进级别,同时将下一行移到下一个缩进级别。

强制大括号

在此列表中,为 ifforwhiledo () while 语句选择引入大括号的方法。 可用选项如下:

  • 不强制 :选择此选项以禁止自动插入大括号。

  • 多行时 :选择此选项,如果语句占用多行,则自动插入大括号。 请注意,PyCharm 会分析整个语句的行数,而不仅仅是其条件。

    if (true) return false;

    PyCharm 将自动插入大括号:

    if (true) { return false; }
  • 始终 :选中此复选框后,PyCharm 将始终自动插入大括号。

空行

使用此选项卡定义在重新格式化后,您希望 PyCharm 在代码中保留和插入空行的位置及数量。 结果显示在 预览 窗格中。

保留最大空行数

在此区域中,指定重新格式化后要保留的额外空行数。

最少空行数

在此区域中,配置是否在 import 语句块之后以及类、字段、方法或函数周围保留额外的空行。 在每个选项旁的字段中,指定要保留的最少额外空行数。

标点符号

使用此选项卡中的列表,设置自动插入语句结尾分号、单引号与双引号以及尾随逗号的指令。

语句结尾分号

  • 使用 语句结尾分号 在新代码中

  • 使用 语句结尾分号 始终

  • 不使用 语句结尾分号 在新代码中

  • 不使用 语句结尾分号 始终

引号

  • 使用 双引号 引号 在新代码中

  • 使用 双引号 引号 始终

  • 使用 单引号 引号 在新代码中

  • 使用 单引号 引号 始终

尾随逗号

使用此列表配置是否要在对象、数组以及方法定义和调用中的参数中使用 尾随逗号。 可用选项如下:

  • 保留

  • 移除

  • 多行时添加

代码生成

在此选项卡上,配置生成代码的代码风格。

命名约定

在此区域:

  • 配置或接受将自动添加到生成的字段和属性名称中的默认前缀。

  • 选择生成文件名称的样式。 例如,当 PyCharm 建议将类移动到新的自动生成文件时,该文件的建议名称会根据所选样式由类名生成。 详细了解请参阅 保持类名与包含文件名一致

注释代码

在此区域,配置生成注释的代码风格。

  • 行注释在第一列 :选中此复选框可使行注释从第一列开始。 清除此复选框后,行注释会在代码中对齐。

  • 在行注释开始处添加空格 :选中此复选框后,会在行注释字符与被注释行的第一个字符之间插入一个空格。

    在行注释开头添加空格已关闭
    在行注释开头添加空格开启
  • 在块注释周围添加空格 :选中此复选框以在块注释中添加前后空格。

    默认情况下,当您将代码片段括在块注释中时,文本会在起始 /* 字符之后立即开始,不带任何空格。 在结尾的 */ 字符之前也不会插入空格。 此默认代码风格可能与某些 linter 的规则冲突,例如, ESLint。

    在块注释中添加空格已关闭
    在块注释中添加空格开启

导入

合并同一模块的成员导入

  • 选中此复选框后,来自同一模块的导入符号将列在一条 import 语句中,并以逗号分隔。 成员按照其导入的顺序列出。 要按字母顺序排列,请选中 对导入的成员排序 复选框并运行 代码 | 优化导入

  • 清除此复选框后,每个导入的符号都会生成单独的 import 语句。

使用相对于项目、资源或源根目录的路径

此选项在 JavaScript 代码中自动生成 import 语句时生效。

  • 选中此复选框后,PyCharm 将建议相对于项目根目录、 resource 根目录或 sources 根目录的路径。

  • 默认情况下,此复选框被清除,PyCharm 将建议相对于当前文件的路径。

使用目录导入(Node 风格的模块解析)

假设您的项目具有以下结构:

目录导入:项目结构
  • 选中 使用目录导入 复选框后,文件 src/lib/index.js 将以 ./src/lib 的形式导入。

  • 清除此复选框后,文件 src/lib/index.js 将以 ./src/lib/index.js 的形式导入。

使用文件扩展名

在此字段中,配置 import 语句中的文件扩展名。

  • 自动 - 选择此选项时,PyCharm 始终为以下文件的名称添加扩展名:

    • .vue 文件。

    • 带有 .mjs.cjs 扩展名的文件。

    • package.json 中包含 "type":"module" 的项目中的文件。

  • 始终使用 .js - 选择此选项时,PyCharm 会在 import 语句中自动为文件名添加扩展名。 当您在需要完整文件名的浏览器中使用 ES6 模块时(例如,在 Chrome 中),这很重要。 无论是在自动生成 import 语句、进行代码补全时,还是使用 Alt+Enter 调用导入生成时,PyCharm 都会应用此设置。

  • 从不 - 选择此选项时,PyCharm 在生成 import 语句时始终插入不带扩展名的文件名。

使用路径别名

在此字段中,配置 importrequire 语句中的路径样式。

  • 始终 - 选择此选项时,PyCharm 始终使用来自您的 webpack.config.js system.js jsconfig.json 配置文件中的 别名

  • 从不 - 选择此选项时,PyCharm 在生成的导入中始终使用相对路径。

  • 仅在指定路径之外的文件中 - 选择此选项时,PyCharm 在为定义了相同别名的文件之间生成导入时使用相对路径。 在所有其他文件中将使用路径映射。

在下面的示例中,文件 Animal.js Bird.js 位于 animated 文件夹下的子文件夹中,其别名在 webpack.config.js 中指定。 文件 Dog.js 位于该别名之外。

JavaScript:示例项目结构

别名 Lib 的配置如下:

resolve: { alias: { Lib: path.resolve(__dirname, './lib/objects/earth/animated/') } }

因此, 始终从不 这两个选项对 Bird.js Dog.js 的应用方式相同。 选中 仅在指定路径之外的文件中 选项后,PyCharm 会生成不同风格的 import 语句:在 Bird.js 中使用相对路径,在 Dog.js 中使用别名。

import 语句使用 Lib 别名。

始终选项:使用别名

import 语句使用相对路径。

从不选项:使用相对路径

PyCharm 会生成不同风格的 import 语句:在 Bird.js 中使用相对路径,在 Dog.js 中使用 Lib 别名。

import 语句:使用别名或相对路径

不要精确从以下位置导入

在此字段中,指定在符号自动导入期间 PyCharm 应跳过的精确路径。 相反,PyCharm 将查找用于导入该符号的替代路径。

这对于允许导入其子模块而非整个模块的模块尤其有用。 例如,为了优先使用类似 import {Observable} from 'rxjs/Observable' 的导入,而不是更通用的 import {Observable} from 'rxjs' ,请将 rxjs 添加到列表。

要管理要跳过的模块列表:

  1. 点击字段右侧的

  2. 在打开的 更改模块 对话框中,点击 添加图标 ,并在 添加模块 对话框中指定模块名称。 要从列表中移除模块,请选择该模块并点击

对导入的成员排序

  • 选中此复选框后,PyCharm 会按字母顺序列出合并的 import 语句中的导入成员。 请注意,成员会以逗号分隔,并按其导入顺序列出,只有在您运行 代码 | 优化导入 时才会重新排序。

  • 清除此复选框后,合并的 import 语句中的成员始终以逗号分隔,并按其导入顺序列出。

按模块排序导入

  • 选中此复选框后,在您运行 代码 | 优化导入 时,将按模块名称的字母顺序重新排序 import 语句。

  • 清除此复选框后, import 语句始终按生成时的顺序显示,并且在您运行 代码 | 优化导入 后也不会更改该顺序。

排列

在此选项卡中,定义一组规则,以根据您的偏好重新排列 JavaScript 代码。

分组规则

使用此区域设置分组规则。

  • 将属性字段按相应getter/setter 分组

  • 使用包含方法的箭头函数初始化的组字段

  • 保持重写方法在一起

    选中此复选框后,将按类和接口将重写的方法分组在一起。 在 顺序 列表中,选择 保持排序按名称排序 选项。

匹配规则

使用此区域将元素顺序定义为规则列表,其中每条规则都有一组匹配项,例如修饰符或类型。

  • 添加按钮 :使用此按钮添加规则。 空规则 区域打开。

  • 移除按钮 :使用此按钮从列表中移除该规则。

  • 编辑按钮 :使用此按钮编辑现有规则。 要查看此按钮,请导航到您要编辑的规则并点击该按钮。 在打开的弹出窗口中,修改规则字段。

  • 上移按钮 下移按钮 :使用这些按钮上移或下移所选规则。

空规则

使用此区域创建新的匹配规则或编辑现有规则。 您可以从以下筛选器中进行选择:

  • 类型 :使用此筛选器为您的规则选择类或方法。

    请注意,连续点击某个类型关键字两次会对该条件取反。

  • 修饰符 :使用此筛选器选择该规则的修饰符类型。

    请注意,连续点击某个修饰符关键字两次会对该条件取反。

  • 名称 :使用此字段在规则中指定条目名称。 此筛选器仅匹配条目名称,例如字段名、方法名、类名等。 该筛选器支持正则表达式,并使用 标准语法。 匹配针对整个名称进行。

  • 顺序 :使用此列表选择该规则的排序顺序。 当多个元素使用相同的匹配规则时,此选项很有用。 在这种情况下,选择 Keep order 将保持与重新排列之前相同的顺序,选择 Order by Name 将按名称对具有相同匹配规则的元素排序。

  • 别名 :此选项显示在 规则别名定义 对话框中定义的别名。 您可以移除不需要的别名。

按字母顺序排序按钮

当您在 顺序 列表中选择 Order by Name 时,此图标会出现。 该图标表示此规则中的项按字母顺序排序。

设置来源

该链接在适用时会显示在页面右上角。 点击此链接并选择将用作当前语言代码风格基础的语言。

要返回初始的代码风格设置并放弃更改,请点击 重置

最后修改日期: 2025年 12月 2日