在整个项目中自动导入

时间:2015-02-25 16:17:10

标签: scala

我有一些几乎在我项目中的每个文件中使用的类和函数, 这样每个文件都以import com.organization.myapp.MyObject._

开头

是否可以在整个项目中自动进行此导入? (类似Predef,但仅限于我的项目)

我尝试使用package object但是从我收集的内容来看,它只适用于它定义的级别,即: 如果我得到了包裹:

- com.organization.myapp.package1
- com.organization.myapp.package2
- com.organization.myapp.package3

定义

package com.organization
package object myapp {...}

不会在package1package2package3

中自动导入

3 个答案:

答案 0 :(得分:3)

如果你有一个com.organization.myapp包对象,即:

// This file is in the com/organization/myapp folder
package com.organization

package object myapp {
    // Definitions such as
    val MyConstant = "foo"
}

定义将在com.organization.myapp包中的文件范围内。

如果您希望这些定义也在com.organization.myapp.package1包中的文件的范围内,您只需稍微改变您声明该文件包的方式:

// This file is in the com/organization/myapp/package1 folder
package com.organization.myapp
package package1

class MyClass {
    val foo = MyConstant // in scope
}

答案 1 :(得分:1)

不,那是不可能的。没有办法做到这一点。

答案 2 :(得分:1)

Scala不支持。

如果你真的想要它,你可以'破解'如果你的IDE支持创建模板,那么你可以定义一个包含你需要的导入的新文件模板。