5

私は今Scalaを学び、それをとても楽しんでいます。Javaではなく、将来のプロジェクトを開始したいと思っています。私があまり楽しんでいないのは、(比較的)貧弱なIDEサポートです。私は、Scalaプラグイン(ナイトリービルドを含む)を備えたIDEAとEclipseの両方が、少し信頼性が低いか、使いにくいことに気づきました-私は常に信頼できるものが欲しいです。たとえば、昨日、テストを実行するためのeclipse + pluginの新規インストールを取得できなかった、またはエディターウィンドウを開くことさえできませんでした!

どちらが目前のタスクに最も適しているかに応じてEclipse/IDEAを切り替えることを検討しており、さらに重要なことに、テストの構築と実行(ScalaTest)をIDEに依存することを減らしています。私はEclipseのJavaで育ったので、これは私にとって自明ではありません。Eclipse SVNを離れてGITを使用することは、当初は大きな問題でした。私が1つのツールを学ぶ時間しかないことを考えると、それはAnt、Maven、buildr、sbt、....である必要がありますか?他の人はどのように働いていますか?

4

5 に答える 5

10

私はScalaでMavenとsbtの両方を使用しましたが、どちらも非常に使いやすいことがわかりました。

ただし、ビルドファイルは(MavenのXMLではなく)Scala自体で記述され、sbtはビルドREPLを備え、継続的なコンパイルとテストなどを行うため、sbtはScalaにはるかに近いと感じます。

したがって、単純なScalaプロジェクトにはsbtを使用することをお勧めします。

しかし、WAR、EJBなどの標準的なJavaプロジェクトを作成したい場合は、Mavenがそれらをより適切にサポートしているように感じます。

また、Mavenには巨大なプラグインエコシステムがあり、事実上すべて、コードカバレッジ、レポート、コード標準チェック、ドキュメント生成などを実行できます。

于 2010-09-16T07:08:58.890 に答える
3

IDEAでSBTを使用します。試したことはありませんが、SBTとIDEAの統合がある程度サポートされていることは知っています。

とにかく、SBTはすべてのScalaの構築とテストのニーズに最適な基盤です。

于 2010-09-16T23:48:43.377 に答える
1

編集:Uuuups。ごめん。実際、私はあなたの質問を読み間違え、IDEについてのみコメントしました。私が使用するプロジェクトの構築に関しては、make;)がVimにうまく統合されているためです。

IDEなしでJavaプロジェクトを実行したくはありませんが、現在、Vimだけでかなり大規模なプロジェクトを実行しています。それはかなり「石器時代のアプローチ」であることを私は知っていますが、それはうまく機能します。

一方で、私はすべてのIDEのバグのある/遅い/不足しているScalaサポートにうんざりしていました。Scala、netbeans、IDEAを試してみたところ、(Scalaで)それらを操作するのはかなり苦痛でした。

一方、Scalaには、単純なエディターで作業するときに役立ついくつかのプロパティがあります。1つのファイルにさらに多くのクラスを含めることができるため、通常、Scalaクラスは非常に大きいため、パッケージ全体を1つのファイルに定義します。 (または非常に)小さい。したがって、私は通常、一度に2つまたは3つのファイルしか開いていないため、パッケージ/ファイル管理は必要ありません。

言語タグによるコード折り畳みを機能させることはできませんでしたが、Scalaのインデント規則に固執すれば、インデントによる折り畳みは問題なく機能します。

動作しないものの1つは、オートコンプリートです。しかし、繰り返しになりますが、これにより、より緩く結合されたオブジェクトを作成できます;)

于 2010-09-16T09:25:40.113 に答える
1

Buildrは、ScalaCheckとScalaSpecsをサポートするファーストクラスの言語として、ScalaとJavaをサポートしています。もちろん、Mavenの優れた候補にするのに十分なプラグインもあります。

于 2010-09-30T06:02:12.403 に答える
0

私の2セントを追加するだけです。Netbeansも試してみるべきだと思います。これは、3つの主要なプレーヤー(Eclipse、Idea、Netbeans)の中で最もScalaに適していると思われます。

私はNetbeans6.8とscala-2.8.0.r22602-b20100720020114をとても楽しんでいます

Netbeansプラグインがなかったら、今はScalaをプログラミングしていなかったと言っても過言ではありません。私はそれを他の人と同じようにスムーズに動作させるためにかなりの時間を費やしましたが、あまり成功しませんでした。

開発にはNetbeansを使用し、スタンドアロンビルドにはAntを使用します。ここでScala用のAntの構成に関する情報: http ://scriptlandia.blogspot.com/2007/04/how-to-compile-and-run-scala-program.html

于 2010-10-01T17:22:32.500 に答える