# 代码样式。 Kotlin

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com.cn/help/idea/llms.txt).

> **TL;DR**
> `文件 | 设置 | 编辑器 | 代码风格 | Kotlin`  适用于 Windows 和 Linux
>
>
>
> `%instance% | 设置 | 编辑器 | 代码样式 | Kotlin`  适用于 macOS
>
>
>
> `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) !["设置"图标](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.settings.svg)

使用此页面配置 Kotlin 文件的格式选项。 当您更改这些设置时，   预览   面板将显示这将如何影响您的代码。

## 制表符和缩进

|  条目  |  描述  |
| --- | --- |
|    使用制表符    |     使用 `Tab` (Windows), `⇥` (macOS), `⇥` (IntelliJ IDEA Classic (macOS)), `⇥` (macOS System Shortcuts), `Tab` (XWin), `Tab` (GNOME), `Tab` (KDE), `Tab` (Emacs), `Tab` (Sublime Text), `⇥` (Sublime Text (macOS)), `Tab` (Visual Studio), `⇥` (Visual Studio (macOS)), `Tab` (NetBeans), `Tab` (Eclipse), `⇥` (Eclipse (macOS)) 密钥进行缩进。 当复选框未勾选时， IntelliJ IDEA 使用空格而非制表符。     |
|    智能制表符    |      * 如果选中此复选框，嵌套代码块的缩进将根据需要使用制表符和 Space，而对齐缩进将仅使用 Space。    * 如果此复选框未选中，将只使用选项卡。 这意味着一组符合指定制表符大小的空格将自动替换为一个制表符，这可能会导致精细对齐的破坏。        智能制表符   复选框在启用   使用制表符   选项时可用。     |
|    选项卡大小    |  在此字段中，指定一个制表符包含的 Space 数。  |
|    缩进    |  在此字段中，指定为每个缩进级别插入的空格数量。  |
|    连续缩进    |     指定从上一行延续的行的缩进，以明确它们属于同一语句或代码块。 当单个语句过长而无法放在一行时，将使用连续缩进。     |
|    保持空行的缩进    |     如果选中此复选框，IntelliJ IDEA 将会保持空行的缩进，就像它们包含了一些代码一样。       如果取消勾选此复选框，IntelliJ IDEA 将删除制表符和空格。     |

## 空格

使用此选项卡来指定您希望在代码中的哪些位置添加空格。 为了让 IntelliJ IDEA 在某个位置自动插入空格，请在列表中选择这个位置旁边的复选框。 结果将在预览窗格中显示。

## 换行和大括号

在此选项卡中，自定义代码样式选项，IntelliJ IDEA 将在 [重新格式化源代码](reformat-and-rearrange-code.html) 时应用。 左侧窗格包含异常列表（   重新格式化时保留  ），以及各种代码结构（列表、语句、操作、注解等）的放置和对齐选项。 右侧窗格显示预览。

> **Tip:**
> 对齐设置优先于缩进选项。

### 硬换行位置

使用   硬换行位置   字段指定元素右侧所需的边距空间。 如果您选择了   默认  选项，那么将使用 [全局设置](settings-code-style.html#rightMargin)中的右边距值。

### 在输入时换行

使用   在输入时换行   设置来指定如何将编辑的文本适应到指定的   硬换行位置   中：

* 默认 ：在这种情况下，IntelliJ IDEA 使用 在输入时换行 选项，该选项在 [全局设置](settings-code-style.html#wrapOnTyping) 中指定。

* 是 ：在这个例子中，IntelliJ IDEA 使用了在 右边距 字段里指定的值。

* 否 ：在这种情况下，此选项被关闭，一行可以超过右侧边距指定的值。

### 可视化参考线

使用   可视化参考线   字段来指定多个右边距。 您可以保留默认值，或者输入您的边距所需的空格数。 如果您想要指定多个边距，请输入由顿号分隔的数字。

### 重新格式化时保留

使用复选框配置 IntelliJ IDEA 在重新格式化源代码时的例外情况。 例如，默认情况下，   换行   复选框被选中。 如果您的代码包含的行数比标准规范短，您可以在   换行   多选框前取消选中，然后您再 [重新格式化源代码](reformat-and-rearrange-code.html)以转换它们。

### 包装选项

换行样式应用于左侧窗格中指定的各种代码构造（例如，方法调用参数、方法声明参数或赋值语句）。

|  条目  |  描述  |
| --- | --- |
|  包装风格  |     从这个列表中，选择您想要的换行样式：        * 不换行 ：选择此选项后，不会应用任何特殊的包装样式。 选择此选项后，将忽略嵌套对齐和大括号设置。    * 过长时换行 ：选择此选项可以让超出右边界的行以正确的缩进进行折叠。    * 始终换行 ：选择此选项以包装所有列表中的元素，使每行只有一个元素，并具有适当的缩进。    * 过长时分行 ：选择此选项可将超出右边距的列表中的元素进行换行，以便每行一个元素并带有适当的缩进。    |

### 对齐选项

|  条目  |  描述  |
| --- | --- |
|  多行时对齐  |  如果选中此复选框，代码构造将在每一行的同一列开始。 否则，代码结构的位置由当前的缩进级别确定。  |

## 空行

使用此选项卡定义在重新格式化后，您希望 IntelliJ IDEA 保留并在您的代码中插入多少空行以及在何处插入。 对于每种类型的位置，请指定要插入的空行数量。 结果将在预览窗格中显示。

|  条目  |  描述  |
| --- | --- |
|    保留最大空白行数    |  在此区域，指定在指定位置重新格式化后要保留的空行数。  |
|    最小空白行数    |     在此区域，指定在指定位置应存在的最少空行数。      > **Warning:** > 这些设置并不影响第一项之前和最后一项之后的空行数量。    |

## 导入

|  条目  |  描述  |
| --- | --- |
|  顶层符号  |     使用此区域定义如何导入顶级符号。 可能的选项包括：        * 使用单名称导入 ：如果选择了此选项，只有在代码生成或导入优化期间从包中导入特定声明。    * 使用 import 带‘*' ：如果选择此选项，将插入一条导入整个软件包的语句。    * 仅当使用的名称至少为 <n> 时使用带有 '*' 的导入 ：如果选择了此选项，请指定从单一包中导入的声明数，直到所有导入单一声明的语句都被替换为导入整个包的语句。    |
|  Java 静态成员与枚举成员  |  使用此区域定义如何导入 Java 静态文件和枚举。  |
|  其他  |     使用此区域定义如何导入其他符号。         插入嵌套类的导入  :        * 如果选中此复选框，IntelliJ IDEA 将为代码中引用的嵌套类创建导入。    * 如果未选择此选项，IntelliJ IDEA 会为顶级类生成导入，并使用其顶级类的名称来修饰嵌套类的名称。    |
|  使用 '*' 导入的软件包  |     按照以下方式使用表格：        * 软件包 ：在此列的文本字段中，指定要导入的包。    * 以及子软件包 ：选中此复选框，让 IntelliJ IDEA 导入所选包的所有子包。    |

## 其他

|  条目  |  描述  |
| --- | --- |
|  使用尾随逗号  |     在一系列元素的最后一项后添加逗号符号。       ```KOTLIN class Person(     val firstName: String,     val lastName: String,     val age: Int, // trailing comma )  ```      Kotlin 风格指南鼓励在声明位置使用尾部逗号，并将其留给您在调用位置自行决定。 有关更多信息，请参考 [Kotlin 编码规范](https://kotlinlang.org/docs/coding-conventions.html#trailing-commas)。     |

## 代码生成

|  条目  |  描述  |
| --- | --- |
|  评论代码  |     在此区域配置生成注释的代码样式（行 `Ctrl+/` (Windows), `⌘ /` (macOS), `⌘ /` (IntelliJ IDEA Classic (macOS)), `⌘ /` (macOS System Shortcuts), `Ctrl+/` (XWin), `Ctrl+/` (GNOME), `Ctrl+/` (KDE), `Alt+;` (Emacs), `Ctrl+/` (Sublime Text), `⌘ /` (Sublime Text (macOS)), `Ctrl+Alt+/` (Visual Studio), `⌘ ⌥ /` (Visual Studio (macOS)), `Ctrl+/` (NetBeans), `Ctrl+/` (Eclipse), `⌘ /` (Eclipse (macOS)) 和块 `Ctrl+Shift+/` (Windows), `⌘ ⌥ /` (macOS), `⌃ ⇧ /` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ /` (macOS System Shortcuts), `Ctrl+Shift+/` (XWin), `Ctrl+Shift+/` (GNOME), `Ctrl+Shift+/` (KDE), `Ctrl+Shift+/` (Emacs), `Ctrl+Shift+/` (Sublime Text), `⌘ ⌥ /` (Sublime Text (macOS)), `Ctrl+Shift+/` (Visual Studio), `⌘ ⌃ /` (Visual Studio (macOS)), `Ctrl+Shift+/` (NetBeans), `Ctrl+Shift+/` (Eclipse), `⌘ ⇧ /` (Eclipse (macOS))）：        * 行注释位于首列 ：在第一列开始行注释（ `Ctrl+/` (Windows), `⌘ /` (macOS), `⌘ /` (IntelliJ IDEA Classic (macOS)), `⌘ /` (macOS System Shortcuts), `Ctrl+/` (XWin), `Ctrl+/` (GNOME), `Ctrl+/` (KDE), `Alt+;` (Emacs), `Ctrl+/` (Sublime Text), `⌘ /` (Sublime Text (macOS)), `Ctrl+Alt+/` (Visual Studio), `⌘ ⌥ /` (Visual Studio (macOS)), `Ctrl+/` (NetBeans), `Ctrl+/` (Eclipse), `⌘ /` (Eclipse (macOS))）。 如果您禁用此选项，注释将与您的代码对齐。    * 在注释开头添加一个空格 ：在行注释字符和被注释行的第一个字符之间插入一个空格。    * 重新设置格式时强制 ：在现有评论中，当您正在 [重新格式化代码](reformat-and-rearrange-code.html)时，将空格插入行注释字符和被注释行的第一个字符之间。 请注意，第一个字符必须是字母数字符号，否则不会插入空格。 例如，reformatter 将会忽略 `//&Lorem ipsum` 的评论。 当 在注释开头添加一个空格 被启动时，此选项变为可用。    * 块注释位于首列 ：在第一列开始块注释（ `Ctrl+Shift+/` (Windows), `⌘ ⌥ /` (macOS), `⌃ ⇧ /` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ /` (macOS System Shortcuts), `Ctrl+Shift+/` (XWin), `Ctrl+Shift+/` (GNOME), `Ctrl+Shift+/` (KDE), `Ctrl+Shift+/` (Emacs), `Ctrl+Shift+/` (Sublime Text), `⌘ ⌥ /` (Sublime Text (macOS)), `Ctrl+Shift+/` (Visual Studio), `⌘ ⌃ /` (Visual Studio (macOS)), `Ctrl+Shift+/` (NetBeans), `Ctrl+Shift+/` (Eclipse), `⌘ ⇧ /` (Eclipse (macOS))）。 如果您禁用此选项，注释将与您的代码对齐。    * 在块注释周围添加 Space ：在块注释字符和被注释文本的第一个字符之间插入一个空格。    * 首选文档行注释 ：使用 Markdown 注释风格，而不是传统风格，在使用快速操作插入 [Javadoc](javadocs.html) 注释时。 > **Note:** > Markdown 文档注释仅适用于使用 Java 23 或更高版本的项目。    |

## 设置来源……

点击此链接，显示用作当前语言代码样式基础的语言列表。 只有适用于当前语言的设置才会被采用。 所有其他设置均不受影响。

此链接会在适用时出现在语言特定代码样式页面的右上角。

点击   重置   以放弃更改并返回至初始的代码样式设置。

## See also

### 过程

[代码样式方案](configuring-code-style.html)

### 语言和框架特定指南

[开始使用 Kotlin](get-started-with-kotlin.html)

