この 1 年間、Scala 言語に関する誇大宣伝がますます増えているのを耳にしました。Scala サポートを IDE に統合する計画がある既存のプロジェクトがいくつかあることは知っています。ただし、統合が実際にどれほど優れているかは必ずしも明確ではありません。
Eclipse や Netbeans が Java 言語に対して行うのと同様に、現在 Intellisense をサポートしていますか? インスタント検証もサポートしていますか?
この 1 年間、Scala 言語に関する誇大宣伝がますます増えているのを耳にしました。Scala サポートを IDE に統合する計画がある既存のプロジェクトがいくつかあることは知っています。ただし、統合が実際にどれほど優れているかは必ずしも明確ではありません。
Eclipse や Netbeans が Java 言語に対して行うのと同様に、現在 Intellisense をサポートしていますか? インスタント検証もサポートしていますか?
IntelliJまたはNetBeansプラグインの安定性について個人的に話すことはできませんが(良いことは聞いたことがありますが)、Scala IDEforEclipseは最近Scala2.7.4で新しいリリースを作成しました。アーキテクチャ上、このリリースは、JDT(およびその他のクロスプラグイン拡張)を拡張するために公式にサポートされているメカニズムであるEquinox Aspectsを使用するという点で、以前のリリースとはまったく異なります。Scalaプラグインは、プライベートAPIとリフレクションを使用して文字通りJDT内部にハッキングし、システムをだまして適切に動作させる必要がありましたが、今では、拡張ポイントを宣言して、残りをシステムに任せることができます。これがどれほど安定して物事を作るかを説明することさえ難しいです。まだすべてが太陽とバラだと言っているわけではありませんが、過去にプラグインを試したり拒否したりしたことがある場合は(私が持っていたように)、
機能面での積み重ねに関しては、SDTはリファクタリングをサポートしていません(IntelliJには「名前の変更」などの基本的な機能があります)。また、エディターは「オカレンスのマーク」などの機能もありません。ただし、NetBeansよりも大幅に優れたアウトライン、IDEAよりも優れたコンパイラサポート、および非常に優れたセマンティックハイライト機能を備えています。3つのプラグインはすべてコンテンツアシスト(またはMicrosoftが呼んでいる「インテリセンス」)をサポートしていますが、この分野で特に信頼できるプラグインはまだありません。Scala IDE for Eclipseは、インクリメンタルコンパイル(Alla EclipseのJavaツール)をサポートする唯一のIDEです。
私のアドバイス:買い物をしてください。3つすべてを試して、どれが最適かを確認してください。私が聞いているところによると、Scala IDE for Eclipseは最新リリースで競争を一気に飛躍させましたが、他のIDEは一貫した安定性と着実な進歩を示しており、まだ数えられません。
現在、3つの主要なIDEはすべてほぼ同じレベルのサポートです。
上記のすべては、すべてのコンテキストでASTを解析できないという問題があります。たとえば、トレイトと暗黙のdefを混在させることで、それらを混同するのは非常に簡単です。構文エラーを通知するIDEは信頼できません。確実にコンパイラにフォールバックします。
IntelliJ IDEA 8.1とそのScalaプラグインを使用して非常に満足しており、推奨できます。不足しているお気に入りの機能に投票することで影響を与えることができるロードマップもあります:)残念ながら、他のIDEのScalaサポートの経験はありません。
同様の質問があります: Scala 開発に最適な IDE はどれですか?
Eclipse 用の Scala IDEと Netbeans 用のScala プラグインに関する私の非常に短い経験では、Netbeans プラグインは Eclipse プラグインよりも少ししっかりしているように見えました。
Scala IDE for Eclipse では、Hello World タイプの Scala オブジェクトの実行に問題があり、構文の強調表示が機能しなくなることがありました。次に、Netbeans プラグインを試してみましたが、Eclipse プラグインよりも機能的であると思われました。
どちらの Scala IDE プラグインもあまり深く使用したことがないので、多くの経験から話すことはできませんが、最初の印象から、Netbeans プラグインは Eclipse よりも少し安定しているように見えました。 1。
EclipseScalaプラグインを使用しています。かなり良いですが、Javaツールと同じレベルではありません。
intelliJについては、わかりません。しかし、Eclipse と Netbeans の間では、Maven を sbt と交換するつもりがなく、Maven の邪魔にならない IDE が必要な場合は特に、Netbeans と言わざるを得ません。
Netbeans の Maven サポートは、あまりにも優れています。
Netbeans のスカラ エディタも非常にうまく機能するようです。私は、netbeans に統合された scala 開発キットやコンパイラ プラグイン、またはそのようなヘルパーは気にしません。netbeans に私が期待することは次の 3 つだけです: (a) Maven の邪魔をせず、Maven にビルドを実行させてください (b) 適切なエディターを提供してください (c) .scala ファイルからソース コードにドリルダウンさせてください私のmaven依存関係によって参照されるライブラリ。
そして、Netebeans は 3 つすべてを非常にうまく提供できると私は信じています。
私が言えることは、(1)タスクはmaven次第であるため、コンパイルの問題に遭遇しないということです。Maven コンパイラ プラグインは少し遅すぎます。しかし、scala と Java のコンパイルは常にそうで、苦痛です。それでも、Java を JavaScript にコンパイルする GWT を試したことがあれば、さらに苦痛です。
(2) Netbeans はソースコードを理解して依存関係を完璧に解決し、リフトの CSS マッパーなどの最もあいまいな sacala オペレーターにドリルインできます。
Eclipseに関しては、Eclipse Mavenの統合は常に厄介でした。依存関係とモジュールが多すぎる大きなプロジェクトがある場合、Netbeans maven 統合は非常に困難になる可能性があります。次に、netbeans によって行われる外部変更のチェックが恐ろしく遅くなります。それがネットビーンズの欠点です。
しかし、もしあなたが SBT のファンなら、答えは別かもしれません。
しかし、私にとっては、maven が今日のようになったので、「Web アプリケーション プロジェクト」、「ライブラリ プロジェクト」などに戻りたくありません。新しいプロジェクトを作成するときに使用できるウィザードのようなオプションです。 IDE。私は単に「Maven プロジェクト」が欲しいだけです。pom を読んで、私の出力アーティファクトが何であるかを理解してください。