如何自动生成intellij中的with ...类型方法

时间:2019-04-29 20:54:55

标签: scala intellij-idea

是否可以使用IntelliJ for Scala生成gradlew build类型的方法?

示例:

with...

我想找到一种工具来自动生成类型的方法:

case class Person(name: String, age: Int)

有可能吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

没有现成的东西,但是您可以创建自己的scala模板:

  1. 选择设置/首选项|编辑器实时模板。

  2. 从右侧的选项中,打开Scala模板列表。

  3. 单击+添加新模板。

您可以看到示例here

答案 1 :(得分:1)

我想自动生成这些方法,而不是显式地编写它们(即使使用IntelliJ模板),也可以使用将在编译时运行的注释宏来实现。

尤其是,您可以检查scalameta项目以获取有关此信息。但是请注意,宏是一种实验性功能,在Scala 3发布时可能会以微不足道的方式改变。我认为,您应该认真考虑编写withName(name)而不是copy(name=name)是否值得定义所有这些方法(无论是手动,通过IntelliJ代码段还是使用宏),而只需要宏,这样可以为您省去很多麻烦。