昨年、私はScala言語に関する誇大宣伝が増えていると聞いてきました。 ScalaのサポートをIDEと統合する予定のプロジェクトがいくつか存在します。しかし、統合が本当にどれだけ良いかは必ずしも明らかではありません。Scalaのツーリングの現在の状態は何ですか?
現在、IntellisenseはEclipseとNetbeansをJava言語でサポートしていますか?彼らは即時検証もサポートしていますか?
昨年、私はScala言語に関する誇大宣伝が増えていると聞いてきました。 ScalaのサポートをIDEと統合する予定のプロジェクトがいくつか存在します。しかし、統合が本当にどれだけ良いかは必ずしも明らかではありません。Scalaのツーリングの現在の状態は何ですか?
現在、IntellisenseはEclipseとNetbeansをJava言語でサポートしていますか?彼らは即時検証もサポートしていますか?
IntelliJまたはNetBeansプラグインの安定性については個人的には話せませんが(私は良いことを聞いたことがありますが)、Scala IDEは最近Scala 2.7.4で新リリースをしました。アーキテクチャ上、このリリースは、JDT(およびその他のクロスプラグイン拡張機能)を拡張する正式にサポートされているEquinox Aspectsを使用している点で、前のリリースとはかなり異なっています。 Scalaプラグインが文字通りプライベートAPIとリフレクションを使ってJDT内部をハックしてシステムを正しく動作させなければならなかったのに対し、今では拡張ポイントを宣言してシステムに残しておくことができます。これがどれくらい安定しているかを記述することさえ困難です。私はそれがまだ日差しとバラであると言っているわけではありませんが、あなたが過去に(私が持っていたように)プラグインを試して拒否した場合、もう一度見てみましょう。
SDTにはリファクタリングのサポートがありません(IntelliJには「名前を変更」などの基本的な機能があります)。また、「発生回数をマークする」などの機能もありません。ただし、NetBeansよりもはるかに優れたアウトライン、IDEAよりも優れたコンパイラサポート、非常に優れたセマンティックハイライトを備えています。 3つのプラグインはすべてコンテンツアシスト(Microsoftが呼んでいるように「インテリセンス」)をサポートしていますが、まだこの分野で特に信頼できるものはありません。 Eclipse用のScala IDEは、インクリメンタルコンパイル(alla EclipseのJavaツール)をサポートする唯一のツールです。
私のアドバイスは以下の通りです: 3つすべてを試し、どの作品があなたのために最も効果的かを見てください。私が聞いたことから、Eclipse用のScala IDEは、最新のリリースで競合を飛び越えてきましたが、他のスタジオでは安定性と安定性が一貫して示されています。
がここに同様の質問です:Netbeansのプラグインは、Eclipseの1より少し固体だったようScala IDE for EclipseとScala Plugin for Netbeansと私の非常に短い経験で Which is the best IDE for Scala development?
、それが見えました。
Eclipse用のScala IDEでは、Hello World型のScalaオブジェクトを実行する際に問題が発生しました。また、構文の強調表示が機能しなくなることもありました。その後、Netbeansプラグインを試してみましたが、Eclipseよりも機能的なようでした。
私はScala IDEプラグインをもっと深く使っていないので、多くの経験を話すことはできませんが、私の最初の印象から、Netbeansプラグインはもう少し見えましたEclipseよりも安定しています。
ええ、私はもう一つの質問を見ましたが、それは基本的にどちらか一方の人が投票したことだけでした。私は彼らとの実際の実践経験にもっと興味を持っていました。ご意見ありがとうございます! :) Netbeansプロジェクトはより成熟しており、少し速いペースで動いているように思えます。 – jsight
これは本当の年前のことかもしれませんが、今日は真実ではありません。 Eclipseプラグインは非常に生産的です。 –
現在、3つのメインIDEはすべてほぼ同じレベルのサポートになっています。
上記のすべては、すべての状況でASTを解析できないという問題があります。たとえば、暗黙のdefで特性を混合することによって、それらを混乱させることは非常に簡単です。構文エラーが発生した場合、IDEは信頼できません。特定のコンパイラに戻ります。
私はEclipse Scalaプラグインを使用しています。 Javaツールと同じレベルではないが、かなり良いです。
私はIntelliJ IDEA 8.1とそのScala pluginを使用してとてもうれしく、それをお勧めします。残念ながら、他のIDEのScalaのサポートについての経験はありません。roadmapがあります。
インテリジェントのAS、考えられません。 しかし、EclipseとNetbeansの間では、NetBeansを特に言います。特に、あなたがsbtのための取引を望んでおらず、あなたがmavenのやり方では得られないIDEを望むならば。
Netbeansのサポートはちょうど良い方法です。
Netbeansのscalaエディタも同様にうまく機能しているようです。 私は、netbeansやコンパイラプラグイン、またはそのようなヘルパーの統合スカラ開発キットを気にしません。 netbeansから、私は三つしか期待していません。 (a)私のビルドを実行するようにしてください。 (b)まともなエディタを教えてください。 (c)私の.scalaファイルから私の依存関係によって参照されるライブラリのソースコード。
Netebeansは3つすべてを非常にうまく配信することができます。
私が言うことができるのは、 です。(1)タスクが最大化されているので、コンパイルの問題に遭遇しません。 mavenコンパイラプラグインの速度が遅すぎます。しかし、javaとscalaをコンパイルするのは、常に痛みを伴うものです。それでもGWTをJavaでコンパイルしようとすると、もっと痛いです。
(2)Netbeansは、依存関係の完全なソースコードを完全に把握し、リフトのCSSマッパーなどの最も曖昧なsacala演算子にドリルインすることができます。
eclipseの場合、eclipseの統合は常に厄介です。 依存関係やモジュールが多すぎる大きなプロジェクトがある場合、Netbeansの統合は非常に厄介になります。それから、netbeansによって行われた外部変更のチェックはひどく遅いです。それはネットビーンの欠点です。
しかし、あなたがSBTファンであれば...まあ、多分答えは別のものかもしれません。
しかし、私にとっては、今日のことがMavenになって以来、私はそれらを「Webアプリケーションプロジェクト」、「ライブラリプロジェクト」などに戻したいとは思っていません。 IDEの新しいプロジェクト。 私は単に "maven project"がほしいと思うので、pomを読んで、私の出力の人為的なものが何であるか把握してください。
そして悲しいことに、私はEclipseプラグインにもJava用に用意されている良い "ビルド実行可能なjar"機能があるとは思わない。 Netbeansプラグインがそれを持っているという事実が私の勝者です。 – Rayne
私は決してJavaプロジェクトでもEclipse内にJARを構築しません。それはIDEを信頼しないという問題ではありません...実際、そうです。私の意見:あなたのプロジェクトがJARのメリットを生かすほど深刻なものであれば、適切なビルドシステムを導入するには十分深刻です。 Scalaビルドのすべてのニーズ(JARingを含む)を処理するBuildrビルドスクリプトを作成するには、4つの短い行が必要です。 –
シンプルなプロジェクトを書いていて、シェルスクリプトなどを書かなくても簡単に使えるように配布したいのであれば、「ビルド」ボタンをクリックするといいですね。 – Rayne