GoLand 2025.2 Help

代码样式。 JavaScript

使用此页面配置 JavaScript 文件的格式设置选项。 更改此设置时, 预览 窗格将显示对代码的影响。

制表符和缩进

使用制表符字符

  • 如果选中此复选框,则将使用制表符字符:

    • 按下 Tab 键时

    • 用于缩进

    • 用于重新格式化代码

  • 如果未选中该复选框,GoLand 将使用空格代替制表符。

智能制表符

缩进包含两个部分。 一部分是代码块嵌套导致的,另一部分由对齐决定。

  • 如果选中此复选框,嵌套部分(如有需要)将同时包含制表符和空格,而由对齐决定的部分仅使用空格。

  • 如果未选中此复选框,则仅使用制表符。这意味着重新格式化后,满足指定制表符大小的一组空格将自动替换为一个制表符,可能会导致对齐被破坏。 这意味着重新格式化后,满足指定制表符大小的一组空格将自动替换为一个制表符,可能会导致对齐被破坏。

制表符大小

在此字段中指定一个制表符可容纳的空格数。

缩进

在此字段中指定每一级缩进应插入的空格数。

继续缩进

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

在空行上保留缩进

如果选中此复选框,GoLand 将在空行上保留缩进,仿佛其中包含代码;如果取消选中,则会删除空行上的制表符和空格。 如果取消选中该复选框,GoLand 将删除空行上的制表符字符和空格。

缩进链式方法

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

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

  • 未选中该复选框时,链式调用中的第二个及后续方法将与调用它们的对象对齐。

缩进组中的所有链式调用

选中该复选框时,第一个及所有后续调用的方法将被缩进。

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

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

空格

使用此选项卡指定您希望 GoLand 自动插入空格的位置。 选择相关位置描述旁的复选框,然后在 预览 窗格中检查结果。

换行和大括号

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

强制换行位置

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

键入时换行

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

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

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

  • :如果选择该选项,则某行可以超过右侧边距中指定的值。

可视化参考线

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

重新格式化时保留

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

如果您的代码包含短于标准约定的行,重新格式化之前可通过取消选中 换行 复选框来进行转换。

换行选项

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

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

  • 如过长则换行- 选择此选项以对超出右侧边距的行进行换行,并使用正确缩进。

  • 始终换行- 选择此选项以将列表中的所有元素分别按行换行,并使用正确缩进。

  • 如过长则分行- 选择此选项以对超出右侧边距的列表元素进行换行,并使用正确缩进使每行包含一个元素。

对齐选项

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

  • <字符> 在下一行- 选中此复选框后,当行被换行时,指定的字符将移至下一行。

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

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

  • 特殊处理 else if- 如果选中此复选框, else if 语句将位于同一行。

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

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

  • 对象- 从列表中选择如何对齐对象:

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

    • 冒号处对齐 :连续行中的属性将根据冒号对齐。

    • 值处对齐 :连续行中的属性将根据值对齐。

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

    • 不对齐 :等号不进行对齐。

    • 多行时对齐 :多行 var 语句中的等号通过插入额外空格进行对齐。

    • 分组时对齐 :多个 var 语句中的等号通过插入额外空格进行对齐。

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

    ws_align_import_export_es6.png

    启用此选项后,GoLand 将自动对正在输入的新代码进行实时对齐。 现有的 importexport 语句将在按下 Ctrl+Alt+L重新格式化代码 后进行对齐。

大括号位置选项

大括号位置样式

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

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

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

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

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

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

强制使用花括号

从此列表中选择 ifforwhiledo () while 语句的花括号引入方式。 可用选项包括:

  • 不强制 :选择此选项可禁止自动添加花括号。

  • 多行时 :选择此选项可在语句占据多行时自动插入花括号。 请注意,GoLand 会分析整个语句所占行数,而不仅仅是其条件部分。

    if (true) return false;

    GoLand 将自动插入花括号:

    if (true) { return false; }
  • 始终 :选中该复选框时,GoLand 始终会自动插入花括号。

空行

使用此选项卡可定义重新格式化之后,GoLand 应在代码中保留和插入空行的位置与数量。 结果将显示在 预览 面板中。

保留最多空行数

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

最少空行数

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

标点符号

使用此选项卡中的列表可配置是否在代码中自动插入语句分号、单引号和双引号以及末尾逗号。

使用分号结束语句

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

  • 使用 使用分号结束语句 始终

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

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

引号

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

  • 使用 双引号 引号 始终

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

  • 使用 单引号 引号 始终

末尾逗号

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

  • 保留

  • 移除

  • 多行时添加

代码生成

使用此选项卡配置生成代码的代码风格。

命名约定

在此区域:

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

  • 选择生成文件名所使用的风格。 例如,当 GoLand 建议将某个类移动到新生成的文件中时,该文件名称将根据所选风格由类名生成。 详细信息请参阅 保持类与其包含文件名称一致

注释代码

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

  • 行注释在第一列 :选中此复选框会将行注释放在第一列。 取消选中复选框时,行注释将在代码中对齐。

  • 在行注释开始处添加空格 :选中此复选框时,将在行注释符号与注释行首个字符之间插入一个空格。

    关闭行注释起始添加空格
    开启行注释起始添加空格
  • 在块注释周围添加空格 :选中此复选框可为块注释添加前导和尾部空格。

    默认情况下,当您将代码片段置于块注释中时,文本紧接在开头 /* 字符之后开始,不带空格。 在结束 */ 字符之前也不会插入空格。 此默认代码风格可能与某些 linter 的规则(如 ESLint)冲突。

    关闭块注释添加空格
    开启块注释添加空格

导入

合并来自同一模块成员的 import

  • 选中此复选框时,来自同一模块的符号将以逗号分隔形式列在单个 import 语句中。 成员将按其引入的顺序列出。 如需按字母顺序排列,请选中 排序导入的成员 复选框并运行 代码 | 优化导入

  • 取消选中此复选框时,每个符号将使用单独的 import 语句引入。

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

此选项将应用于 JavaScript 代码中的 import 语句自动生成过程中。

  • 选中此复选框后,GoLand 会建议相对于项目根目录、 资源根目录或 源代码根目录的路径。

  • 默认情况下未选中此复选框,GoLand 会建议相对于当前文件的路径。

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

假设您的项目结构如下:

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

  • 取消选中复选框后,文件 src/lib/index.js 将作为 ./src/lib/index.js 导入。

使用文件扩展名

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

  • 自动 — 启用此选项后,GoLand 始终会将扩展名添加到以下文件的名称中:

    • .vue 文件。

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

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

  • 始终使用 .js — 启用此选项后,GoLand 会自动将扩展名添加到 import 语句中的文件名中。 当在需要完整文件名的浏览器中使用 ES6 模块时(例如 Chrome),这非常重要。 GoLand 在自动生成 import 语句、使用代码补全,或在通过 Alt+Enter 调用生成 import 时都会应用此设置。

  • 从不 — 启用此选项后,GoLand 在生成 import 语句时始终插入不带扩展名的文件名。

使用路径别名

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

  • 始终 — 启用此选项后,GoLand 始终使用来自 webpack.config.js system.js jsconfig.json 配置文件中的 别名

  • 从不 — 启用此选项后,GoLand 始终在生成的 import 中使用相对路径。

  • 仅限在指定路径之外的文件中 — 启用此选项后,GoLand 在为定义了相同别名的文件生成 import 时使用相对路径。 在所有其他文件中将使用路径映射。

在下例中,文件 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 。 选中 仅限在指定路径之外的文件中 选项后,GoLand 会生成不同样式的 import 语句:在 Bird.js 中使用相对路径,在 Dog.js 中使用别名。

import 语句使用 Lib 别名。

选项“始终”:使用别名

import 语句使用相对路径。

选项“从不”:使用相对路径

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

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

避免从此路径导入

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

这在允许导入子模块而非整个模块的模块中尤其实用。 例如,如需优先选择类似 import {Observable} from 'rxjs/Observable' 的导入,而不是更通用的 import {Observable} from 'rxjs' ,请将 rxjs 添加到列表中。

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

  1. 点击字段右侧的

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

排序导入成员

  • 选中此复选框后,GoLand 会按字母顺序排列合并 import 语句中的导入成员。 请注意,成员将以逗号分隔的形式列出,按导入顺序排列,且仅在运行 代码 | 优化导入 时重新排序。

  • 取消选中此复选框后,合并的 import 语句中的成员始终以逗号分隔形式,按导入顺序排列。

按模块排序导入

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

  • 取消选中此复选框后, import 语句将始终按生成顺序显示,并且在运行 代码 | 优化导入 后该顺序不会改变。

排列

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

分组规则

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

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

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

  • 保持重写方法在一起

    选中此复选框以按类和接口对重写的方法进行分组。 在 顺序 列表中,选择 保持排序按名称排序 选项。

匹配规则

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

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

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

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

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

空规则

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

  • 类型 :使用此筛选器选择类或方法以创建规则。

    请注意,重复点击类型关键字将否定该条件。

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

    请注意,重复点击修饰符关键字将否定该条件。

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

  • 顺序 :使用此列表选择规则的排序顺序。 当多个元素使用相同匹配规则时,此选项很有用。 在这种情况下,选择 按原顺序 将保留重新排列前设置的顺序,选择 按名称排序 将根据名称对具有相同匹配规则的元素进行排序。

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

按字母顺序排序按钮

当您从 顺序 列表中选择 按名称排序 时,将出现此图标。 该图标表示此规则中的条目按字母顺序排序。

设置来源

如适用,链接将显示在页面右上角。 点击此链接,并选择要作为当前语言代码样式基础的语言。

要恢复初始代码样式设置并放弃更改,请点击 重置

最后修改日期: 2025年 9月 26日