IntelliJ IdeaでSBTプロジェクトを作成するにはどうすればよいですか?



How Create Sbt Project With Intellij Idea

解決:

プロジェクトを作成する基本的な方法は3つあります。最新バージョンのIntelliJはsbtプロジェクトをすぐにインポートできます。それ以外の場合は、sbtプラグインを使用してIntelliJプロジェクトを生成するか、IntelliJScalaプラグインを使用してsbtプロジェクトを作成します。基本機能は両方のソリューションを使用してすぐに機能します。一部の複雑なビルドでは問題が発生する可能性があるため、他のツールを試して、そこで機能するかどうかを確認してください。

IntelliJ

IntelliJ IDEAは、最近非常に良くなっています。現在のバージョン(14.0.2)は、Scalaプラグインを使用してすぐにsbtプロジェクトをサポートします。プラグインをインストールするだけで、Scala / sbtプロジェクトを問題なく開くことができるはずです。



環境設定のプラグインの下にあるScalaプラグイン

プラグインを使用して、sbtプロジェクトをポイントするだけで、IDEAはその種のプロジェクトを開くためのウィザードを提供します。



sbtプロジェクトをインポートする

IntelliJスケールプラグイン

IntelliJプラグインはhttp://confluence.jetbrains.com/display/SCA/Scala+Plugin+for+IntelliJ+IDEAにあります。または、[設定]-> [プラグイン]ダイアログを使用してIDE内から直接インストールすることもできます。その後、[ファイル]-> [新しいプロジェクト]-> [Scala]-> [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またはPROJECT_DIR /プロジェクト/plugins.sbt

リゾルバー+ = 'sbt-idea-repo' at'http://mpeltonen.github.com/maven/ 'addSbtPlugin(' com.github.mpeltonen '%' sbt-idea '%' 1.6.0 ')

使用するIDEAプロジェクトファイルを作成するためのsbtのgen-idea。

デフォルトでは、sbtとライブラリの依存関係の分類子(つまり、ソースとjavadocs)が見つかった場合にロードされ、参照がIDEAプロジェクトファイルに追加されます。それらをダウンロード/参照したくない場合は、コマンドを使用してくださいgen-idea no-classifiersno-sbt-classifiers。


SBT 0.10.1 (プラグインの作者によると、0.10.0 しません 仕事!)

次の行を作成して〜/ .sbt / plugins /build.sbtに追加します。

リゾルバー+ = 'sbt-idea-repo' at'http://mpeltonen.github.com/maven/ 'libraryDependencies + =' com.github.mpeltonen '%%' sbt-idea '%' 0.10.0 '

使用するIDEAプロジェクトファイルを作成するためのgen-ideasbtタスク。

デフォルトでは、sbtとライブラリの依存関係の分類子(つまり、ソースとjavadocs)が見つかった場合にロードされ、参照がIDEAプロジェクトファイルに追加されます。それらをダウンロード/参照したくない場合は、コマンドを使用してくださいgen-idea no-classifiersno-sbt-classifiers。


SBT 0.7

これを使用するには、sbtシェルからこれを実行するだけで、プラグインを外部プログラムとして使用します。

> * sbtIdeaRepo(http://mpeltonen.github.com/maven/)> * ideaはcom.github.mpeltonensbt-idea-processor 0.4.0 ...>更新...>アイデア..。

必要に応じて、プロジェクト定義にトレイトを追加することもできます。

import sbt._ class MyProject(info:ProjectInfo)extends ParentProject(info)with IdeaProject {lazy val mySubProject = project( 'my-subproject'、 'my-subproject'、new DefaultProject(_)with IdeaProject)// .. .. } 

今のところ私はこれを手作業で行います。とても簡単です。

  1. SBTでプロジェクトを作成する
  2. 同じルートパスで新しいIDEAプロジェクトを作成します
  3. 同じルートパスでモジュールを作成する
  4. モジュールのsrcパスとしてsrc / main / scalaを設定します
  5. モジュールのテストパスとしてsrc / test / scalaを設定します
  6. ライブラリとしてscala-library.jarを追加します
  7. モジュールライブラリ内のjarディレクトリとしてlib(存在する場合)を追加します
  8. モジュールライブラリ内のjarディレクトリとしてlib_managed / compile(存在する場合)を追加します
  9. モジュールライブラリ内のjarディレクトリとしてlib_managed / test(存在する場合)を追加します

それは記憶からです。自動化したほうがいいのですが、今のように大したことではありません。

注意点:上記のアプローチは、依存関係をデフォルトでlib_managedにコピーしないため、新しい学校のsbt、つまりバージョン0.10以降ではうまく機能しません。あなたは付け加えられます

retrieveManaged:= true

build.sbtに依存関係をlib_managedにコピーします。


時が経つ そしてIntelliJIDEAは最近とても良くなっています。やっぱり2015年ですね。

そうは言っても、IntelliJ IDEA 14.0.2の最新バージョンは、Scalaプラグインを使用してすぐにsbtプロジェクトをサポートします。プラグインをインストールするだけで、Scala / sbtプロジェクトを問題なく開くことができるはずです。

環境設定のプラグインの下にあるScalaプラグイン

執筆時点で1.2.67.6.EAPであるプラグインの早期アクセスバージョンを使用しています。

プラグインを使用すると、sbtプロジェクトをポイントするだけで、IDEAはその種のプロジェクトを開くためのウィザードを提供します。

sbtプロジェクトをインポートする

sbt0.12.4のsbt-ideaについて

sbtの場合 0.12.4 システム全体のプラグイン構成ファイル-〜/ .sbt / plugins /build.sbtまたはPROJECT_DIR / project /plugins.sbt-次の行が必要です。

リゾルバー+ = 'http://oss.sonatype.org/content/repositories/snapshots/'の 'Sonatypeスナップショット' addSbtPlugin(dependency = 'com.github.mpeltonen'% 'sbt-idea'% '1.5.0-SNAPSHOT ')

走るsbtgen-IDEAプロジェクトファイルを生成するためのアイデア。

最新情報については、sbt-ideaプラグインのWebサイトをお読みください。また、私のブログエントリImporting sbt-based project to IntelliJ IDEA 13(with sbt-idea、Scala 2.11 and sbt 0.12)も役に立ちます。