どちらかに切り替えて、どちらか一方を誓う人々から私は聞いたことがあります。
Eclipseの大ファンではあるがIntelliJを試す時間がなかったので、IntelliJでできること、つまりEclipseではできないことを "ex-Eclipsians"であるIntelliJユーザーから聞いてみたい。
注:これは主観的な質問でもなく、IDE聖戦に変わることを意味するものでもありません。 フレームベイトの回答はにしてください。
クリックしたオブジェクトが定義されている場所に移動するためのCTRL-クリックは、Javaコード内のJavaクラスや変数だけでなく、Spring設定(クラス名、プロパティ、またはBean名をクリックできます)でプロパティ名、クラス、または含まれているリソースをクリックできます。JavaクラスからSpringまたはHibernate Beanとして使用されている場所まで、ワンクリックで移動できます。含まれているJSPまたはJSTLタグをクリックしても機能し、JavaScriptの変数または関数をctrl-クリックして定義されている場所に移動するか、HTMLまたはJSP内の他の.jsファイルおよびJSコードを含む複数の場所がある場合はメニューを表示します。ファイル.
HSQL式、Hibernate設定(クラス名、プロパティ名、DBカラム名を含む)、Spring設定のオートコンプリート
<property name="propName" ref="<hit CTRL-SPACE>"
そしてそれはあなたがそのプロパティに注入できるそれらのbeanのリストをあなたに示すでしょう。
Javaコードにおける非常にスマートなオートコンプリート
interface Person {
String getName();
String getAddress();
int getAge();
}
//---
Person p;
String name = p.<CTRL-SHIFT-SPACE>
そしてそれはあなただけを示していますgetName()、getAddress()そしてtoString()(タイプによってのみ互換性があります)およびgetName()は、より関連性の高い名前を持つため、リストの最初にあります。まだEAPにある最新バージョン8には、さらにスマートなオートコンプリート機能があります。
interface Country{
}
interface Address {
String getStreetAddress();
String getZipCode();
Country getCountry();
}
interface Person {
String getName();
Address getAddress();
int getAge();
}
//---
Person p;
Country c = p.<CTRL-SHIFT-SPACE>
そしてそれは静かにそれをに自動補完するでしょう
Country c = p.getAddress().getCountry();
JavaScriptでのスマートオートコンプリート。
function Person(name,address) {
this.getName = function() { return name };
this.getAddress = function() { return address };
}
Person.prototype.hello = function() {
return "I'm " + this.getName() + " from " + this.get<CTRL-SPACE>;
}
他のJSオブジェクトにある*メソッドをどのように取得しても、getName()とgetAddress()のみが表示されます。プロジェクトをクリックし、this.getName()をCtrlキーを押しながらクリックすると、他にgetName()がある場合でも、これが定義されている場所に移動します。 はプロジェクト内で機能します。
<script src = ""、<img src = ""などのように、ファイルへのパスのオートコンプリートおよびCtrlキーを押しながらクリックすることについては説明しましたか。
HTMLタグ属性のオートコンプリート。 HTMLタグのstyle属性のオートコンプリート。属性名と値の両方。クラス属性のオートコンプリートも同様です。
<div class = "<CTRL-SPACE>と入力すると、プロジェクトに定義されているCSSクラスのリストが表示されます。選択してCtrlキーを押しながらクリックすると、定義されている場所にリダイレクトされます。
最新バージョンは言語インジェクションを持っているので、あなたはあなたがカスタムJSTLタグが通常JavaScriptを含むと宣言することができ、それはその中のJavaScriptを強調表示するでしょう。
<ui:obfuscateJavaScript>function something(){...}</ui:obfuscateJavaScript>
Javaクラスだけでなく、Hibernate、Spring、JSP、その他の場所も含め、あらゆるJavaクラスまたはメソッドのFind Usagesを使用できます。メソッド名の変更リファクタリングは、Javaクラスだけでなく、コメントを含むすべての場所でメソッドの名前を変更します(コメント内の文字列が本当にメソッド名であるかどうかはわからないため、尋ねます)。そして同じ名前の別のクラスのメソッドがあってもそれはあなたのメソッドだけを見つけるでしょう。優れたソース管理の統合(SVNはチェンジリストをサポートしますか?IDEAはすべてのソース管理をサポートします)、あなたが行った変更をコミットせずに他のチームメンバーに送信できるようにします。
デバッガのウォッチウィンドウでHashMapを見ると、論理ビュー - キーと値 - を見ました。前回Eclipseで行ったときは、ハッシュと次のフィールドを含むエントリが表示されていました。 m本当にデバッグしているわけではないHashMap、その内容を見たいだけです。
SpringとHibernateの設定は編集時に検証されるので、クラス名のスペルを間違えたことや、コンストラクタパラメータを追加したことを知るためにサーバを再起動する必要はないので、Springのcfgは無効です。
前回試したとき、Windows XP x64でEclipseを実行できませんでした。
そしてそれはあなたにperson.nameまたはperson.addressを提案するでしょう。 Ctrlキーを押しながらperson.nameをクリックすると、getName()メソッドに移動しますPerson クラス.
そこにPattern.compile("");
put \\と入力し、CTRL-SPACEを押して、正規表現に何を入れることができるかについての役に立つヒントを見てください。ここで言語インジェクションを使用することもできます - 文字列パラメータを受け取る独自のメソッドを定義し、IntelliLangオプションダイアログであなたのパラメータが正規表現であることを宣言します - そしてそれはそこでもオートコンプリートを与えます。言うまでもなく、正しくない正規表現が強調表示されます。
Eclipseに存在するかどうかわからない機能がいくつかあります。しかし、少なくともEclipseを使用している私たちのチームの各メンバーは、ローカルの変更をソース管理からの変更とマージするためのマージツールも使用しています。通常はWinMergeです。 IDEAにマージするだけで十分です。 3回クリックするとソース管理のファイルバージョンのリストが表示され、さらに3回クリックすると以前のバージョン、または以前のバージョンと現在のバージョンを比較してマージすることができます。
各ファイルを個別に選択することなく、すべての.jarsをWEB-INF\lib
フォルダー内に含める必要があることを指定できるため、誰かがそのフォルダーに新しい.jarをコミットすると、自動的にそれが選択されます。
上記のものはおそらくそれが行うものの10%です。私はMaven、Flex、Swing、EJB、その他多くのものを使用していませんので、それらがどのように役立つかはわかりません。しかしそうです。
私がintellijを使用し、Eclipseを使用しない理由は1つだけあります。ユーザビリティ
それがデバッグ、リファクタリング、自動補完であるかどうか。Intellijは一貫したキーバインディング、あなたがそれらを探す場所で利用可能なオプションなどで使うのがはるかに簡単です。後者にはintellijよりもはるかに多くの利用可能なプラグインがあり、そして容易に拡張可能です。
おそらく問題ではない何できない/できない、しかしどのように。
たとえば、両方ともプロジェクト、クラスパス、出力、構造などのドックパネルに囲まれたエディタがあります。しかし、Ideaでは、これらすべてを入力し始めると、自動的にコードに集中するようになりました。 Eclipseでは、これらすべてのパネルが開いたままになっているため、私のエディタ領域は非常に小さくなり、表示可能領域全体の約1/5になります。だから私はそれらのパネルで最小化するためにマウスとクリックをつかむ必要があります。一日中これを行うのは、Eclipseで非常にイライラする経験です。
正反対のことがビュー出力ウィンドウでも起こります。 Ideaでは、プログラムを実行すると、それが明らかに最小化されていてもプログラムの出力を見るために出力ウィンドウ/パネルが表示されます。 Eclipseでは、マウスをもう一度つかんで出力タブを探し、クリックしてプログラムの出力を表示する必要があります。これは、出力ウィンドウ/パネルは他のウィンドウと同じですが、Ideaでは次のように扱われるためです。 「ユーザーが自分のプログラムを実行したい場合、そのプログラムの出力を見たいと思う可能性が高いです。」私がそれを書くときそれはとても自然に思えます、しかしEclipseはこの基本的なユーザーインターフェース概念で失敗します。
おそらくEclipseにはこのショートカットがあります(編集中はアウトプットウィンドウを自動表示し、プログラムを実行すると自動的に表示します)。ナチュラル"。
これは、オートコンプリート、ワードラップ、クイックドキュメントビューなど、すべての機能のほとんどすべてに対して繰り返すことができます。 Ideaでは、Eclipseよりもユーザー・エクスペリエンスがはるかに快適であると思います。それからモットーが実現します「喜びをもって発展する」
Eclipseは、より高速な大規模プロジェクト(+ 300 jarおよび+ 4000クラス)を処理しますが、IntelliJ Idea 8がこれに取り組んでいると思います。
もちろんこれは主観的です。ユーザーエクスペリエンスをどのように測定できますか?
アイデア8.0は素敵です ctrl+shift+space 次のオートコンプリートを行うx 2
City city = customer.<ctrl-shift-space twice>
に解決
City city = customer.getAddress().getCity();
ゲッター/セッターのレベルを問わず。
「クリップボードと比較する」を忘れないでください。
IntelliJでいつも使っているもので、Eclipseにはこれと同等のものはありません。
IntelliJで私のお気に入りのショートカットで、Eclipseには同等のものはありません(私が見つけたもの)は、 'Go to symbol'と呼ばれます。 CTRL-ALT-SHIFT-N プロジェクト全体から、クラス、メソッド名、変数名などを入力してグロブアップできます。
私は新しいAndroid StudioのためにIntelliJに切り替えようとしました。しかし、今はとてもがっかりしています。私はCode RecommandersプラグインでEclipseを使っています。これがEclipseがとても素晴らしい理由の簡単な例です。
新しいSimpleTimeZone
を作成したいです。 SimpleTimeZone
には、引数がゼロのコンストラクタはありません。
Ctrl + Space Eclipseで
Ctrl + Space IntelliJで
IntelliJではSimpleTimeZone
がどんな種類のコンストラクタを持っているのか私にはわかりません。
後に Enter Eclipseで
前に選択したコンストラクタに、定義済みの変数名を入れます。そして私はすべての議論のタイプを見ることができます。コードリコメンダーを使用すると、Eclipseは現在のスコープ内で以前に定義された変数タイプによって正しいコンストラクターを推測し、そのコンストラクターをこれらのvarで埋めます。
後に Enter IntelliJでは何も起こりません。空のコンストラクタが出ます。私は押す必要があります Ctrl + P 期待される引数を見るために。
メソッド上にカーソルがある場合 CTRL+SHIFT+I メソッド実装をポップアップ表示します。メソッドがinterface
メソッドの場合は、上下矢印を使用して実装を切り替えることができます。
Map<String, Integer> m = ...
m.contains|Key("Wibble");
どこで| (例えば)あなたのカーソルがどこにあるかです。
IntelliJには、かなり高度なコード検査があります(FindBugと同等ですが異なる)。
IntelliJを使用しているときは、FindBugsプラグインが欠けています(Eclipse/FindBugsの統合はかなりクールです)。
こちら はIntelliJでサポートされているCodeInspectionsの公式リストです。
編集:最後に、IntelliJのための findbugs-plugin があります。それはまだ少しベータですが、コード検査とFindBugsの組み合わせはただ素晴らしいです!
はるかに、はるかに、はるかに多くのリファクタリング。
アイデアがもっと簡単な方法で解決するものはたくさんありますが、それに相当するものはありません。
オートコンプリートアクション: ctrl+shift+a キーボードのキーの組み合わせを覚えていなくても、キーボードから任意のアイデアアクションを呼び出すことができます。gnome-doまたはwindowsで起動することについて考えてみてください。また、この機能はCamelCasingの略語をサポートします。
Shelf:いくつかのコードを簡単に区別して、差分ビューアでそれらを見直すことができます。
地域の歴史:それははるかに良く管理され、そしてより単純です。
SVNの注釈と履歴:調べるのがより簡単で、そしてまたあなたはソースファイル全体のそのような部分だけのために履歴を簡単に見ることができます。
評価式やブレークポイント条件ウィンドウなど、どこでもオートコンプリートします。
Mavenの統合...はるかに、はるかに簡単に、そしてよく統合されています。
ループの挿入、折り返し/キャスト、名前の変更、変数の追加など、手元にはるかに近いリファクタリング。
非常に強力でよく整理されたものを見つけてください。大規模プロジェクトでも
同時に大きなプロジェクトのいくつかのブランチで動作するように安定していました(ブランチソースによる1.5Gbのかつてのバグ修正プログラム、およびそれらのブランチで同時に作業する必要があるため、そのアイデアはその堅実な能力を示しました)。
よりクリーンでシンプルなインターフェース.
そして、キーボードだけで使うほうが簡単で、たくさんの簡単な作業にマウスを使う必要がなくなり、時間を節約し、コードに集中することができます。
そして今、オープンソースになっています...アイデアユーザーベースは指数関数的に成長するでしょう。
私が定期的に使用することの1つはブレークポイントを設定することですが、その後それが何をするかを制御します。 (私の最後の仕事で、他のほとんどの人がEclipseを使っていました... Eclipseでこれを行う方法が誰にも見つからなかったことに驚きました。)
たとえば、ブレークポイントを実際に停止させるのではなく、単にメッセージをコンソールに記録させることができます。つまり、 "System.out.println(...)"でコードを整理してから再コンパイルする必要はありません。
構造検索と置換.
たとえば、次のように検索します。
System.out.println($string$ + $expr$);
$ string $はリテラル、$ expr $はmy.package.and.Class型の式です。その後、次のように置き換えます。
$expr$.inspect($string$);
私のタイミングはこのスレッドの観点からは少しずれているかもしれませんが、私はただ答えなければなりませんでした。
私はEclipseの大ファンです - 最初の登場以来それを使っています。そのとき(10年以上前)友人が私にそれがプレーヤーになるだろうと言った。彼は正しかったです。
しかしながら!私はちょうどIntelliJを使い始めたばかりで、あなたが見たことも使ったこともないのなら チェンジリスト - あなたはプログラミング天国を見逃しています。
変更されたファイルを追跡する機能(私の開発ブランチでは明らかに)、Eclipseのプラグインで探していたものがありました。 Intellijは1回のコミットですべての変更を追跡します。これは非常に簡単です。あなたは、カスタムリストで変更されたファイルを分離することができます。ローカルで一意でなければならないが、リポジトリと同期したり比較したりするときに常にフラグが立てられている設定ファイルにそれを使用します。私は作っている。
また、あなたのバグ追跡ソフトウェアと統合されていないそれらのSCCSのためのすべての変更のテキストを出力するコミットログプラグインがあります。ログをチケットの作業履歴に貼り付けると、ファイル、そのバージョン、日付/時刻、およびブランチ/タグが取得されます。それは地獄のようにクールです。
Eclipseのプラグイン(または将来の機能拡張)を介して、これらすべてをサポートできる可能性があります。それでも、Intellijはこれを簡単にしています。
最後に、私はこの製品に対する主流の愛、つまりキーストロークにとても興奮しています。
IntelliJデバッガには "Evaluate Expression"と呼ばれる非常に便利な機能があります。これは、eclipsesペンダントよりはるかに優れています。それは完全なコード補完を持っています、そして私はそれが一般的に「より有用である」ためにそれを簡潔にします。
ええと、私にとってそれは千の小さなことです。いくつかのマクロ、一般的なEclipseのGUIレイアウト、私はひどいと思います。 Eclipseの異なるウィンドウで複数のプロジェクトを開くことができません。複数のプロジェクトを開くことができますが、ビューベースのシステムでは、ファイルを切り替えるときにたくさんのことがやりとりされます。 IntelliJのコード検査はもっと良さそうです。よくある問題を修正するためのポップアップヘルパーはいいです。サイドバーのように、ホットスポットの上にカーソルを置くと、メソッドのすべての実装サブクラス、または私が実装しているメソッドがどこから得られるかがわかります。
私が使ったり、誰かが見たりしなければならないときはいつでも、Eclipseは私がIntelliJでできることのほとんどを実行できるように思えますが、時間がかかり、より面倒です。
変数を導入してください。 (Ctrl+Alt+V Windowsでは、 Cmd+Alt+V OSX上)
service.listAllPersons()
Hitというメソッドを呼ぶとしましょう。 Ctrl+Alt+V そして Enterそして、メソッド呼び出しからの戻り値の変数が挿入されます。
List<Person> list = service.listAllPersons();
入力する手間を省きます。呼び出しているメソッドの戻り値の型を確認する必要はありません。ジェネリックを使用するときに特に便利です。
new ArrayList<String>()
[変数を紹介]
ArrayList<String> stringArrayList = new ArrayList<String>();
(もちろん、ヒットする前に変数の名前を簡単に変更できます。 Enter)
IntelliJは、コードからjspxドキュメントへのインテリセンスおよびリファクタリングサポートを持っています。
私にとっては、それはIDEAのMavenサポート、特にバージョン9では誰にも負けません。プロジェクトとMavenモデルとのオンザフライの同期は非常に素晴らしく、開発を快適にします。
Intellijには、SubversiveやSubclipseよりもはるかに優れたSVNプラグインがあり、それが機能します。 Eclipseを使用してソースファイルをマージするのに浪費してきた時間は、考えても意味がありません。プラグインがあなたをもっと助けてくれるので、これはIntelliJの問題ではありません。
Subclipseプラグインも信頼できません - 他の開発者がSVNにチェックインしたコードがないとプラグインが考えていない場合がありますが、CIサーバーはそれらを処理しました。
私の意見で良い点の一つは、依存構造マトリックスです: http://www.jetbrains.com/idea/features/) dependency_analysis.html#link
LattixのWebサイト(スタンドアロン製品)には、DSMの使用方法と利点に関する優れた紹介があります。 http://www.lattix.com/files/dl/slides/s.php?directory=4tour
VIMエミュレータ。 IDEAでファイルを編集しながら、このプラグインはほぼ完全なvi/vim/gvimエミュレーションを提供します。以下の機能がサポートされています。
http://plugins.jetbrains.net/plugin/?id=164 からこのプラグインについてのいくつかのコメント
他のいくつかのこと:
IntelliJがEclipseに対して行わない2つのことは、私にとって非常に有益です。
メソッドセパレータ:メソッド間のグレーの細い線はコードをはるかに読みやすくする
テキストアンチエイリアス:IDEでコードをとても素敵に見せる
私の答えの前文:私のEclipseの使用は制限されています。 WindowsとMacの両方で動作するにはJava IDEが必要でした。Macの移植は日々遅くなっていました。これは何年も前のことで、今は大丈夫だと確信しています。しかし、それが私たちがIntelliJに切り替えることを可能にしたものであり、我々はそれに満足しています。
今私の答えを:私がまだ言及していない見たことのない大きな違いの1つは、技術サポートがIntelliJ/Jet Brainsの方が優れているということです。私たちはJetBrainsに電子メールを送り、1時間もしないうちに最終的な答えを受け取ります。 Eclipseの問題に対する答えを探すと、いつものように "You stupid idiot"という回答(通常は少数の回答)が得られます。しかし、実際の答えを得るには、ある程度のソートが必要です。
まず第一に私はintellijが大好きです。 Eclipseには欠けている少なくとも100の機能があります。リファクタリング、リネーム、動くこと、その他のことについて言及することはできません。
しかし、intellijがEclipseが許可していないことが1つあります。同じVMで複数のプロジェクトを同時に実行することはできません。
フロント、ミドル、コア、エージェントなど、それぞれが互いにやり取りする必要がある別々のプロジェクトがある場合は、同時に変更とデバッグを同時に行うことはできません。私が現在これに対処している唯一の方法は、依存スクリプトでjarをデプロイおよび更新するためにantスクリプトを使用するか、またはmavenを使用することです。
Eclipseでは、1つのIDEインスタンスの下で複数のプロジェクトをデバッグできます。
非常に便利な機能の1つは、必要な部分だけが含まれるようにMaven原子炉プロジェクトを部分的に構築する機能です。
これをもう少し明確にするために、 オーバーレイテクニック を使ってそれらの間で共有されている多くの共通リソース(例えばJavaScript、Spring設定ファイルなど)を持つWARファイルのコレクションの場合を考えてみましょう。 (Jettyで実行中の)何らかのWebページで作業していて、別のモジュールに保持されているオーバーレイコードを変更したい場合は、通常、Jettyを停止し、Mavenビルドを実行してJettyを再起動します。持続する。これはEclipseの場合で、他のほぼすべてのIDEと同じです。 IntelliJでは違います。プロジェクト設定を使用して、どのモジュールのどのファセットをバックグラウンドビルドに含めるかを定義できます。その結果、あなたはシームレスに見えるプロセスになります。プロジェクト内のほぼすべてのコードに変更を加え、ブラウザを更新した後すぐに使用可能になります。
とてもきれいで、そしてとても速いです。
YUIのようにDWR/SpringMVCにフロントエンドをコーディングすることは、それなしでは想像できませんでした。
データフロー分析 :ここで に記述されているように、手続き間バックワードフロー分析およびフォワードフロー分析。私の経験はCommunity Editionに基づいています。これはデータフロー分析をかなりうまく行っています。コードが非常に複雑な場合、失敗することはありません(何もすることを拒否されます)。
私がいつもIntelliJで使っているものは、タイプしているうちにリファクタリングしています。私は両方のIDEを使って(もともとEclipseで書かれた)プリントアウトからクラスを書き直したが、EclipseよりもIntelliJで同じクラスを書くのに約40%少ないキーストローク/マウスクリックを使った。
不完全なコードでのリファクタリングをサポートするまでは、Eclipseを使用したくありません。
これがIntelliJ 8.0/8.1の機能のより長いリストです[ http://www.jetbrains.com/idea/features/index.html]
IntelliJがEclipseよりもはるかに優れていることと、ポケットが空いていることが1つあります。
私はそれを使うことを好みます、そしてそれがEclipceに勝る大きな利点の一つは、大きなプロジェクトや遅いコンピュータのためにファイルシステムと同期する方法です。 IntelliJの方が初期インデックス作成時間が遅くても速いと思われるところでは苦労しています。
IntelliJ Communityエディションは明らかにそれを無料で使っていますが、間もなくそれらの追加のリファクタリングとCCエディションには含まれていないNice little goodiesが欲しいと思うでしょう。
私の意見では、一般的にユーザーエクスペリエンスは優れていますが、その価値があるかどうかは各開発者が自分で答えるための問題です。
しかし、NetBeansが常に良くなっている現在、私たちがJava用の最高3つの素晴らしいIDEを持っていることに感謝しましょう。
現在のところ、それはタブを別のウィンドウに引き裂くことができる唯一のものです。もっと画面があるときに便利です。
私は最近、Eclipseに対して2つ以上のIntelliJ IDEAの利点を発見しました。
JSPコードエディタでコードフォーマットを使用しようとすると、JSPスクリプトレットが壊れます。 Eclipseは少し狂ってきています、それはあちこちでコードのランダムな部分を宣伝します。 IDEAは非常にうまく動作します。
もう1つは、JBossサーバーへのアプリケーションのデプロイ速度です。 IntelliJはJBossのtmpフォルダ内のアプリケーションを置き換えているので、再デプロイは本当に速いです。 Eclipse WTPはdeployフォルダ内のアプリケーションに取って代わりつつあります。これは、結局のところずっと長持ちします。
EclipseでWord/line/method/class wrapが可能かどうか覚えていません
Intellij Ideaでは、あなたが使っています Ctrl+W
Maven POMからプロジェクトを開きます。 「プロジェクトを開く...」を選択してトップレベルのpom.xmlに移動し、Enterキーを押します。NetBeansにもこの機能が追加されました。
これがすでにカバーされている場合は申し訳ありませんが、ローカルの変更、着信の変更、リモートの変更を確認できる「変更」タブがあるだけで、それがなければ生きていくことはできません。機能です!
また、「オープン宣言」に結びつくミドルクリックのような単純なことが素晴らしいUIの追加です - 私もEclipseで実装されているのを見ることができない何か。
私の職場にはEclipseしかありませんが、個人的なIdeaライセンスを購入することを真剣に考えています。
IntelliJでは、 "Last Edit Location"で編集された最後の場所の履歴をジャンプすることができます。 Eclipseにも同様の機能がありますが、Eclipseは1レベルの編集場所に戻るだけです。
Eclipseが提供する1つのレベルではなく履歴を持つことは生産性の面で優れた機能です。変更を加えた場所に戻ることがよくあるので、自動ブックマークの一種として機能します。私はこの能力を1日に数回使っていますが、Eclipseを何かのために使うように頼まれたときにそれを持っていないという痛みを感じます。
すべての答えで明らかなように、2つには異なる機能とワークフローがいくつかあります。ただし、どのフレームワークを使用するかを決定する際には、各ツールで一般的な生産性の向上を考慮することも検討してください。
私はNetbeansとEclipseの大ファンであり、長年にわたって両方を使用してきました。それらは優れたツールであり、あなたがしていることに応じて、あなたはどちらかを選択したいと思うかもしれません。
しかし、約6か月前、HMT5 UIのための多くのJavaScriptフロントエンドコードを含む複雑なJava Webプロジェクトに取り組んでいる間、私はjsオートコンプリートバグのためにEclipseの代わりを探すことを余儀なくされました。私は自分のjsコードのために簡単なテキストエディタに戻ることを考えていたので私はとても必死でした!
私がIntellij Ideaに出会ったのは運が良かっただけです(残念ながらツールを研究する時間はありません)。
アイデアのやり方に慣れるまでには時間がかかりますが、特別な機能は別にしても、左右の小さいものから得られる生産性の向上は私の意見では最大の資産です。それは私にとっては単にうまく機能し、私は現在Idea Ultimateの購読料を支払っているクライアントです。これに慣れると、他のものに戻るのは非常に困難です。
何もフリーではありませんし、私はオープンソースの大ファンですが、結局あなたが生活のためにこれをやっているなら、物事を早くすることができるということは毎回成果を上げます。
私はあなたがこれらのIDEのどちらにも固執することができると思います。 「使用していないIDEに大きな利点がないことを心配しないように」という最善の兆候は、EclipseファンとIntelliJファンの間で見た非常に長い議論です。これは、双方がこの長い議論を生き残るために導いたほぼ同じ力を持っているという良い兆候です。