# Scala 类和文件

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

> **TL;DR**
> 必需插件：   Scala  ： [安装方法](get-started-with-scala.html#scala_plugin)

IntelliJ IDEA 支持将 Scala 编码拆分为小的功能块，每个块都保存在各自的文件中。 这些文件都有自己的 [特定图标](#scala-file-icons)。 可以在显示项目内容的   项目  工具窗口中看到这些图标。 在   新建 Scala 类/文件   窗口中添加新项目时，有些图标也会显示出来，例如 [添加新项目到项目中](#add-new-scala-files-classes)。

Procedure: 向项目中添加新的 Scala 文件或类

1. 在   项目   工具窗口（ `Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Ctrl+1` (NetBeans), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS))）中，右键点击要创建文件或类的节点，然后选择  `新建 | 新建 Scala 类/文件` 。

2. 请为新项输入名称并按 `Enter` (Windows), `⏎` (macOS), `⏎` (IntelliJ IDEA Classic (macOS)), `⏎` (macOS System Shortcuts), `Enter` (XWin), `Enter` (GNOME), `Enter` (KDE), `Enter` (Emacs), `Enter` (Sublime Text), `⏎` (Sublime Text (macOS)), `Enter` (Visual Studio), `⏎` (Visual Studio (macOS)), `Enter` (NetBeans), `Enter` (Eclipse), `⏎` (Eclipse (macOS))。

![新建 Scala 类/文件窗口](https://resources.jetbrains.com/help/img/idea/2026.3/scala_new_class_window.png)

请注意，文件名称必须与数据结构的名称相同。 另外请注意，文件中只包含一个数据结构的规则只适用于顶层结构。 在这些结构中，可以根据需要嵌套任意多个其他结构。

## Scala 文件图标

|  图标  |  描述  |
| --- | --- |
|  ![](https://resources.jetbrains.com/help/img/idea/2026.3/scalaCommunity.org.jetbrains.plugins.scala.images.expui.classScala.svg)  |  仅包含一个  `class`  或不带伴侣应用对象的  `case class`  的 Scala 文件。  |
|  ![](https://resources.jetbrains.com/help/img/idea/2026.3/scalaCommunity.org.jetbrains.plugins.scala.images.expui.classObjectScala.svg)  |  仅包含一个  `class`  或带有伴侣应用对象的  `case class`  的 Scala 文件。  |
|  ![](https://resources.jetbrains.com/help/img/idea/2026.3/scalaCommunity.org.jetbrains.plugins.scala.images.expui.traitScala.svg)  |  仅包含一个不带伴侣应用对象的  `特征`  的 Scala 文件。  |
|  ![](https://resources.jetbrains.com/help/img/idea/2026.3/scalaCommunity.org.jetbrains.plugins.scala.images.expui.traitObjectScala.svg)  |  仅包含一个带有伴侣应用对象的  `特征`  的 Scala 文件。  |
|  ![](https://resources.jetbrains.com/help/img/idea/2026.3/scalaCommunity.org.jetbrains.plugins.scala.images.expui.enumScala.svg)  |  仅包含一个不带伴侣应用对象的  `enum`  的 Scala 文件。  |
|  ![](https://resources.jetbrains.com/help/img/idea/2026.3/scalaCommunity.org.jetbrains.plugins.scala.images.expui.enumObjectScala.svg)  |  仅包含一个带有伴侣应用对象的  `enum`  的 Scala 文件。  |
|  ![](https://resources.jetbrains.com/help/img/idea/2026.3/scalaCommunity.org.jetbrains.plugins.scala.images.expui.typeObjectScala.svg)  |  仅包含一个带有伴侣应用对象的  `opaque type`  的 Scala 文件。  |
|  ![](https://resources.jetbrains.com/help/img/idea/2026.3/scalaCommunity.org.jetbrains.plugins.scala.images.expui.objectScala.svg)  |  仅包含一个  `对象`  的 Scala 文件。  |
|  ![](https://resources.jetbrains.com/help/img/idea/2026.3/scalaCommunity.org.jetbrains.plugins.scala.images.expui.scalaFile.svg)  |  包含多个数据结构的 Scala 文件。  |

