scala - 我什么时候会在 IntelliJ IDEA 中使用 "Mark directory as ..."选项?

标签 scala intellij-idea

我是一个新手,正在寻找解决 IntelliJ IDE 的方法,我目前正在使用它在 Scala 中进行编码。

在 Project 窗口中右键单击会弹出一个弹出窗口,其中包含“Mark Directory As ...”作为选项,其中包含以下选项:

  • 源根
  • 测试源根
  • 资源根
  • 测试资源根
  • 排除
  • 生成的源根

  • 我可以知道我会使用“将目录标记为...”选项吗?还有每个选择会做什么?我试过环顾四周,但到目前为止,大多数网站的解释都相当模糊。

    谢谢你的帮助。

    最佳答案

    让我们来看看选项:

  • 源根 - 这是您的实际项目代码所在的位置 - 通常在 src/main/scala (尽管您可以更改它,或在您的构建中添加额外的源目录)。嵌套在此级别以下的目录应该是包。 Intellij 需要知道这些是来源,以便它可以突出显示它们,检查它们是否有错误等。
  • 测试源根 - 同样,这是您的测试源所在的位置,并且通常会反射(reflect)您的 main 的包结构来源。
  • 资源根 - 非编译文件(例如 i18n 消息或配置)所在的位置,需要与最终工件(jar 或 war 或其他)一起部署。
  • 测试资源根 - 测试使用的非编译文件,例如 .sql固定装置等
  • 排除 - 任何您根本不希望 Intellij 索引或关心的内容。如果你的项目根目录中有一个目录树(例如一个数据库),它不是你的代码库的一部分,你应该将它标记为 排除 ,因为这将阻止 Intellij 索引文件。不仅在大型项目上索引需要很长时间,IDE 索引大量非项目文件会减慢常用的 Go to Class/File/Symbol 操作,并导致它们提供不相关的建议。
  • 生成的源根 - 由构建工具或其他一些过程管理的源。例如,Play 框架 (2.x) 在项目构建时自动从 HTML 和路由信息生成 Scala 代码。将生成的源标记为这样(与普通代码或非代码相反)很重要,以便 IDE 可以解析对它的引用(确保代码有效性),同时注意您不应该自己编辑它。这也将防止在转到类/文件/符号对话框中将生成的代码作为建议提供。

  • 如果您使用 SBT,您可能根本不需要手动使用“将目录标记为...”,因为 Intellij SBT 插件在自动从 build.sbt 推断源、资源和生成的源目录方面变得更加智能。文件。

    值得注意的是,Intellij 插件可以在“将目录标记为...”菜单中添加其他选项——例如,Python 插件有一个“模板文件夹”选项。

    关于scala - 我什么时候会在 IntelliJ IDEA 中使用 "Mark directory as ..."选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39254216/

    相关文章:

    intellij-idea - Gradle构建抛出错误

    java - java的lists.transform可以改变列表顺序吗?

    scala - 案例类 copy() 方法抽象

    在带有 Play 2.0 项目的 Intellij IDEA 11 中找不到 Scala 编译器

    intellij-idea - Dart 1.12.0 Intellij 升级问题

    gradle - 提供者org.jetbrains.plugins.gradle.tooling.builder.WarModelBuilderImpl无法实例化

    ruby - IntelliJ Idea Ultimate 红色下划线 Ruby shorthand hash literal

    scala - Scala : return, 本地的 Reader monad 和序列

    scala - 如何访问和更新 map map 的可变 map 中的值

    java - Spark spark-submit --jars arguments 想要逗号列表,如何声明一个 jars 目录?