프로젝트를 작성하는 세 가지 기본 방법이 있습니다. 최신 버전의 IntelliJ는 sbt 프로젝트를 즉시 가져올 수 있습니다. 그렇지 않으면 sbt 플러그인을 사용하여 IntelliJ 프로젝트를 생성하거나 IntelliJ Scala 플러그인을 사용하여 sbt 프로젝트를 작성할 수 있습니다. 기본 기능은 두 솔루션을 모두 사용하여 즉시 사용할 수 있으며 일부 복잡한 빌드에는 문제가있을 수 있으므로 다른 도구를 사용하여 작동하는지 확인하십시오.
IntelliJ
IntelliJ IDEA는 요즘 훨씬 나아졌습니다. 현재 버전 (14.0.2)은 Scala 플러그인으로 sbt 프로젝트를 즉시 지원합니다. 플러그인을 설치하기 만하면 아무 문제없이 Scala / sbt 프로젝트를 열 수 있습니다.
플러그인을 사용하면 sbt 프로젝트를 가리키면 IDEA에서 해당 종류의 프로젝트를 열 수있는 마법사를 제공합니다.
IntelliJ 스칼라 플러그인
IntelliJ 플러그인은 http://confluence.jetbrains.com/display/SCA/Scala+Plugin+for+IntelliJ+IDEA 에서 찾을 수 있습니다
. 있거나 설정-> 플러그인 대화 상자를 사용하여 IDE 내에서 직접 설치할 수 있습니다. 그 후 파일-> 새 프로젝트-> 스칼라-> SBT 기반으로 할 수 있습니다. IntelliJ는 기본 build.sbt를 생성하고 필요한 종속성을 다운로드하고 프로젝트를 엽니 다.
SBT 플러그인
sbt 파일을 기반으로 아이디어 프로젝트를 생성하는 sbt 플러그인은 여기에서 찾을 수 있습니다 : https://github.com/mpeltonen/sbt-idea
SBT 12.0+ 및 13.0+
간단하게 추가 addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.2")
로build.sbt
; 추가 리졸버가 필요하지 않습니다.
이전 버전 :
SBT 0.11+
다음 행을 작성하여 ~/.sbt/plugins/build.sbt
OR에 추가하십시오.PROJECT_DIR/project/plugins.sbt
resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")
사용하다 gen-idea
IDEA 프로젝트 파일을 만들 수 SBT에.
기본적으로 sbt 및 라이브러리 종속성의 분류 자 (예 : 소스 및 javadoc)는 발견되고 참조가 IDEA 프로젝트 파일에 추가되면로드됩니다. 다운로드 / 참조하지 않으려면 command를 사용하십시오 gen-idea no-classifiers no-sbt-classifiers
.
SBT 0.10.1
(플러그인 저자에 따르면 0.10.0 이 작동 하지 않습니다 !)
~ / .sbt / plugins / build.sbt에 다음 줄을 만들고 추가하십시오.
resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"
libraryDependencies += "com.github.mpeltonen" %% "sbt-idea" % "0.10.0"
사용 gen-idea
IDEA 프로젝트 파일을 만들 SBT 작업을.
기본적으로 sbt 및 라이브러리 종속성의 분류 자 (예 : 소스 및 javadoc)는 발견되고 참조가 IDEA 프로젝트 파일에 추가되면로드됩니다. 다운로드 / 참조하지 않으려면 command를 사용하십시오 gen-idea no-classifiers no-sbt-classifiers
.
SBT 0.7
그것을 사용하려면 간단히 sbt 쉘에서 이것을 실행하면 플러그인을 외부 프로그램으로 사용합니다.
> *sbtIdeaRepo at http://mpeltonen.github.com/maven/
> *idea is com.github.mpeltonen sbt-idea-processor 0.4.0
...
> update
...
> idea
...
원하는대로 프로젝트 정의에 특성을 추가 할 수도 있습니다.
import sbt._
class MyProject(info: ProjectInfo) extends ParentProject(info) with IdeaProject {
lazy val mySubProject = project("my-subproject", "my-subproject", new DefaultProject(_) with IdeaProject)
// ...
}