Słyszałem od ludzi, którzy zmienili się w jedną stronę i którzy przysięgają na jedno lub drugie.
Będąc wielkim fanem Eclipse, ale nie mając czasu na wypróbowanie IntelliJ, jestem zainteresowany usłyszeniem od użytkowników IntelliJ, którzy są „byłymi Eclipsianami”, pewnych konkretnych rzeczy, które możesz zrobić z IntelliJ, których nie możesz zrobić z Eclipse.
Uwaga : To nie jest pytanie subiektywne ani w ogóle nie ma na celu przekształcenia się w świętą wojnę IDE. Prosimy zanegować wszelkie odpowiedzi dotyczące przynęty ogniowej .
java
eclipse
ide
intellij-idea
Epaga
źródło
źródło
Odpowiedzi:
Klawisz CTRL działa wszędzie
CTRL-kliknięcie, które prowadzi do miejsca, w którym zdefiniowano kliknięty obiekt, działa wszędzie - nie tylko w klasach Java i zmiennych w kodzie Java, ale w konfiguracji Spring (możesz kliknąć nazwę klasy, właściwości lub nazwy fasoli), w Hibernacji (możesz może kliknąć nazwę właściwości lub klasę lub dołączony zasób), możesz przejść jednym kliknięciem z klasy Java do miejsca, w którym jest ona używana jako fasola wiosenna lub hibernacyjna; kliknięcie dołączonego znacznika JSP lub JSTL również działa, kliknięcie z wciśniętym klawiszem Ctrl na zmienną lub funkcję JavaScript prowadzi do miejsca, w którym jest zdefiniowane lub wyświetla menu, jeśli jest więcej niż jedno miejsce, w tym inne pliki .js i kod JS w HTML lub JSP akta.
Autouzupełnianie dla wielu języków
Hibernować
Autouzupełnianie w wyrażeniach HSQL, w konfiguracji Hibernacji (w tym nazw klas, właściwości i kolumn DB), w konfiguracji Spring
i wyświetli listę ziaren, które możesz wstrzyknąć do tej właściwości.
Jawa
Bardzo inteligentne autouzupełnianie w kodzie Java:
i pokazuje TYLKO getName () , getAddress () i toString () (tylko te są kompatybilne według typu), a getName () jest pierwszy na liście, ponieważ ma bardziej odpowiednią nazwę. Najnowsza wersja 8, która jest jeszcze w EAP, ma jeszcze więcej inteligentnego autouzupełniania.
i po cichu automatycznie je uzupełni
JavaScript
Inteligentne autouzupełnianie w JavaScript.
i to tylko pokazuje getName () i getAddress () , bez względu na to w jaki sposób może uzyskać * Metody masz w JS innych obiektów w projekcie, a Ctrl-kliknięcie this.getName () przenosi Cię do miejsca, gdzie ten jest określony, nawet jeśli W twoim projekcie jest kilka innych funkcji getName () .
HTML
Czy wspomniałem o autouzupełnianiu i klikaniu w Ctrl ścieżek do plików, takich jak <script src = "", <img src = "" itp.?
Autouzupełnianie w atrybutach znaczników HTML. Autouzupełnianie w atrybucie stylu znaczników HTML, zarówno nazw atrybutów, jak i wartości. Autouzupełnianie również w atrybutach klasy.
Wpisz <div class = "<CTRL-SPACE>, a wyświetli się lista klas CSS zdefiniowanych w twoim projekcie. Wybierz jedną, kliknij ją, przytrzymując klawisz Ctrl, a zostaniesz przekierowany do miejsca, w którym jest zdefiniowany.
Łatwe wyróżnianie własnego języka
Najnowsza wersja ma wstrzykiwanie języka, więc możesz zadeklarować, że niestandardowy tag JSTL zwykle zawiera JavaScript i podświetli w nim JavaScript.
Indeksowane wyszukiwanie we wszystkich projektach.
Możesz użyć funkcji Znajdź użycie dowolnej klasy lub metody Java, a znajdzie ona miejsce, w którym jest używana, w tym nie tylko klasy Java, ale także Hibernacja, Wiosna, JSP i inne miejsca. Zmień nazwę metody refaktoryzacja zmienia nazwę metody nie tylko w klasach Java, ale w dowolnym miejscu łącznie z komentarzami (nie ma pewności, czy ciąg znaków w komentarzach jest tak naprawdę nazwą metody, więc zapyta). I znajdzie tylko twoją metodę, nawet jeśli istnieją metody innej klasy o tej samej nazwie. Dobra integracja kontroli źródła (czy SVN obsługuje listy zmian? IDEA obsługuje je dla każdej kontroli źródła), możliwość tworzenia łatki ze swoimi zmianami, aby można było przesyłać zmiany do innego członka zespołu bez ich popełniania.
Ulepszony debugger
Kiedy patrzę na HashMap w oknie obserwacyjnym debuggera, widzę logiczny widok - klucze i wartości, kiedy ostatnio to zrobiłem w Eclipse, pokazywał wpisy z hashem i następnymi polami - tak naprawdę nie debuguję HashMap , chcę tylko spojrzeć na to zawartość.
Sprawdzanie poprawności konfiguracji Spring & Hibernate
Sprawdza poprawność konfiguracji Spring i Hibernacji bezpośrednio podczas jej edycji, więc nie muszę restartować serwera, aby wiedzieć, że źle napisałem nazwę klasy lub dodałem parametr konstruktora, więc moja Spring cfg jest nieprawidłowa.
Ostatnim razem, gdy próbowałem, nie mogłem uruchomić Eclipse na Windows XP x64.
i zasugeruje Ci person.name lub person.address . Naciśnij klawisz Ctrl i kliknij person.name , aby przejść do metody getName () klasy Person .
Wpisz
Pattern.compile("");
put \\ tam, naciśnij CTRL-SPACE i zobacz pomocną wskazówkę dotyczącą tego, co możesz umieścić w wyrażeniu regularnym. Możesz także użyć funkcji wstrzykiwania języka - zdefiniuj własną metodę, która pobiera parametr ciągu, zadeklaruj w oknie dialogowym opcji IntelliLang, że parametr jest wyrażeniem regularnym - i tam również otrzymasz autouzupełnianie. Nie trzeba dodawać, że podkreśla nieprawidłowe wyrażenia regularne.Inne funkcje
Istnieje kilka funkcji, które nie jestem pewien, czy są obecne w Eclipse, czy nie. Ale przynajmniej każdy członek naszego zespołu, który korzysta z Eclipse, używa również narzędzia do scalania, aby scalić lokalne zmiany ze zmianami kontroli źródła, zwykle WinMerge. Nigdy tego nie potrzebuję - wystarczy mi połączenie w IDEA. Po 3 kliknięciach widzę listę wersji plików w kontroli źródła, po 3 kolejnych kliknięciach mogę porównać poprzednie wersje lub poprzednie i bieżące i ewentualnie scalić.
Pozwala określić, że potrzebuję wszystkich plików .jars w
WEB-INF\lib
folderze, bez wybierania każdego pliku osobno, więc gdy ktoś zatwierdza nowy plik .jar w tym folderze, automatycznie go pobiera.Wymieniono powyżej prawdopodobnie 10% tego, co robi. Nie używam Maven, Flex, Swing, EJB i wielu innych rzeczy, więc nie mogę powiedzieć, jak to pomaga. Ale tak jest.
źródło
Jest tylko jeden powód, dla którego używam intellij, a nie zaćmienia: użyteczność
Niezależnie od tego, czy jest to debugowanie, refaktoryzacja, autouzupełnianie. Intellij jest znacznie łatwiejszy w użyciu dzięki spójnym powiązaniom klawiszy, opcjom dostępnym tam, gdzie ich szukasz itp. Jeśli chodzi o funkcje, Intellij będzie ciężko dogonić Eclipse, ponieważ ta ostatnia ma znacznie więcej dostępnych wtyczek niż intellij i jest łatwa do rozszerzenia.
źródło
Prawdopodobnie nie jest to kwestia tego, co można / nie można zrobić, ale jak .
Na przykład oba mają edytor otoczony panelami dokowania dla projektu, ścieżki klas, danych wyjściowych, struktury itp. Ale w programie Idea, kiedy zaczynam pisać, wszystkie te zawinięcia automatycznie pozwalają mi skupić się na kodzie, który sam jest; W zaćmieniu wszystkie te panele pozostają otwarte, pozostawiając obszar mojego edytora bardzo ograniczony, około 1/5 całkowitego widocznego obszaru. Więc muszę chwycić mysz i kliknąć, aby zminimalizować te panele. Robienie tego przez cały dzień jest bardzo frustrującym doświadczeniem w zaćmieniu.
Dokładnie odwrotnie dzieje się z oknem wyjściowym widoku. W programie Idea uruchomienie programu powoduje wyświetlenie okna / panelu wyjściowego, aby zobaczyć dane wyjściowe programu, nawet jeśli zostało to w sposób oczywisty zminimalizowane. W Eclipse muszę ponownie złapać mysz i poszukać zakładki danych wyjściowych i kliknąć ją, aby wyświetlić dane wyjściowe programu, ponieważ okno / panel wyjściowy jest po prostu kolejnym, tak jak wszystkie pozostałe okna, ale w Pomysłach jest traktowany w specjalny sposób: „Jeśli użytkownik chce uruchomić swój program, najprawdopodobniej chce zobaczyć wyniki tego programu!” Kiedy piszę, wydaje się to takie naturalne, ale zaćmienie tej podstawowej koncepcji interfejsu użytkownika kończy się niepowodzeniem.
Prawdopodobnie jest to skrót w Eclipse (okno ukrywania danych wyjściowych podczas edycji i automatyczne wyświetlanie podczas uruchamiania programu), ale podobnie jak inne dziesiątki funkcji, skrótu należy szukać na forach, pomocy online itp., Podczas gdy w Idea jest trochę więcej ” naturalny".
Można to powtórzyć dla prawie wszystkich funkcji, które mają obie, autouzupełnianie, zawijanie wyrazów, szybki widok dokumentacji, wszystko. Myślę, że wrażenia użytkownika są o wiele przyjemniejsze w Idea niż w zaćmieniu. Wtedy motto się spełnia: „Rozwijaj się z przyjemnością”
Eclipse obsługuje szybsze większe projekty (+300 słoików i +4000 klas) i myślę, że IntelliJ Idea 8 nad tym pracuje.
Wszystko to oczywiście jest subiektywne. Jak możemy zmierzyć doświadczenie użytkownika?
źródło
Idea 8.0 ma piękny ctrl+shift+spacex 2, który wykonuje następującą autouzupełnianie:
rozwiązuje do
przez dowolną liczbę poziomów pobierających / ustawiających.
źródło
Nie zapomnij „porównaj ze schowkiem”.
Coś, czego używam cały czas w IntelliJ i które nie ma odpowiednika w Eclipse.
źródło
Mój ulubiony skrót w IntelliJ, który nie ma odpowiednika w Eclipse (który znalazłem), nazywa się „Idź do symbolu”. CTRL-ALT-SHIFT-Npozwala rozpocząć pisanie i generowanie klas, nazw metod, nazw zmiennych itp. z całego projektu.
źródło
Próbowałem przejść na IntelliJ z powodu nowego Android Studio. Ale teraz jestem bardzo rozczarowany. Korzystam z Eclipse z wtyczką Code Recommendanders . Oto prosty przykład, dlaczego Eclipse jest tak niesamowity:
Chcę stworzyć nowy
SimpleTimeZone
.SimpleTimeZone
nie ma Konstruktora z zerowymi argumentami.Ctrl + Space w Eclipse
Ctrl + Space w IntelliJ
W IntelliJ nie otrzymuję informacji, jaki rodzaj konstruktorów
SimpleTimeZone
ma.After Enterin Eclipse
Dostaję wcześniej wybrany konstruktor z predefiniowanymi nazwami zmiennych. I widzę rodzaj każdego argumentu. Dzięki Code Polecającym Eclipse odgaduje właściwy konstruktor na podstawie wcześniej zdefiniowanych typów zmiennych w bieżącym zakresie i wypełnia konstruktor tymi zmiennymi.
Po Enterw IntelliJ nic się nie dzieje. Dostaję pustego konstruktora. Muszę nacisnąć, Ctrl + Paby zobaczyć oczekiwane argumenty.
źródło
Jeśli masz kursor na metodzie, CTRL+SHIFT+Ipojawi się okienko implementacji metody. Jeśli metoda jest
interface
metodą, możesz używać strzałek w górę i w dół, aby przechodzić między implementacjami:Gdzie | jest (na przykład) tam, gdzie jest twój kursor.
źródło
IntelliJ ma kilka całkiem zaawansowanych inspekcji kodu (porównywalne, ale inne niż FindBugs).
Chociaż poważnie brakuje mi wtyczki FindBugs podczas korzystania z IntelliJ (integracja Eclipse / FindBugs jest całkiem fajna).
Oto oficjalna lista CodeInspections obsługiwanych przez IntelliJ
EDYCJA: Wreszcie, jest wtyczka findbugs dla IntelliJ. To wciąż trochę wersja beta, ale połączenie inspekcji kodu i FindBugs jest po prostu niesamowite!
źródło
Daleko, daleko, znacznie więcej refaktoryzacji.
źródło
Jedną z rzeczy, których używam regularnie, jest ustalenie punktu przerwania, ale następnie kontrolowanie tego, co robi. (Podczas mojej ostatniej pracy większość innych używała Eclipse ... Pamiętam, że byłem zaskoczony, że nikt nie mógł znaleźć tego w Eclipse.)
Na przykład może nie zatrzymywać punktu przerwania, ale po prostu zapisać komunikat w konsoli. Co oznacza, że nie muszę zaśmiecać mojego kodu za pomocą „System.out.println (...)”, a następnie ponownie skompilować.
źródło
System.out.println("here"); false
Drukować, ale nie łamać (ostatnie zdanie jest wyrażeniem logicznym, które określa, czy powinniśmy złamać)Istnieje wiele rzeczy, które pomysł rozwiązuje w znacznie prostszy sposób, lub nie ma odpowiednika:
Akcje autouzupełniania: czynność ctrl+shift+amożna wywołać dowolną akcję pomysłu z klawiatury, nie pamiętając kombinacji klawiszy ... Pomyśl o gnome-do lub uruchom w Windows, a masz pomysł! Ponadto ta funkcja obsługuje skróty CamelCasing;)
Półka: Pozwala łatwo rozdzielić niektóre fragmenty kodu, a następnie przejrzeć je za pomocą przeglądarki różnic.
Historia lokalna: jest o wiele lepiej zarządzany i prostszy.
Adnotacje i historia SVN: łatwiejsze do sprawdzenia, a także możesz łatwo zobaczyć historię tylko dla takiej części całego pliku źródłowego.
Autouzupełnianie wszędzie, na przykład okna oceny wyrażenia i warunku punktu przerwania.
Integracja z Maven ... o wiele prostsza i dobrze zintegrowana.
Refaktory są znacznie bliżej ręki, takie jak wstawianie pętli, zawijanie / rzutowanie, zmiana nazwy i dodawanie zmiennych.
Znajdź wiele potężnych i dobrze zorganizowanych. Nawet w dużych projektach
Dużo stabilny do pracy z kilkoma gałęziami dużego projektu w tym samym czasie (jako poprzedni korektor błędów 1,5 Gb według źródeł branżowych i potrzeba pracy nad nimi jednocześnie, pomysł pokazał jego solidne możliwości)
Czystszy i prostszy interfejs ...
I jest prostszy w użyciu tylko z klawiaturą, eliminując potrzebę używania myszy do wielu prostych czynności, oszczędzając czas i pozwalając skupić się na kodzie ... tam, gdzie ma to znaczenie!
A teraz, będąc open source ... baza użytkowników Idea będzie rosła wykładniczo.
źródło
Wyszukiwanie strukturalne i zamiana.
Na przykład wyszukaj coś takiego:
Gdzie $ string $ jest dosłowne, a $ expr $ to wyrażenie typu my.package.and.Class, a następnie zamień na:
źródło
Moje wyczucie czasu może być nieco opóźnione pod względem tego wątku, ale musiałem tylko odpowiedzieć.
Jestem wielkim fanem zaćmienia - używam go od pierwszego pojawienia się. Przyjaciel powiedział mi wtedy (ponad 10 lat temu), że to będzie gracz. On miał rację.
Jednak! Właśnie zacząłem używać IntelliJ, a jeśli nie widziałeś ani nie korzystałeś z list zmian - brakuje ci programowania nieba.
Możliwość śledzenia moich zmienionych plików (w mojej gałęzi programistycznej ala clearcase) była czymś, czego szukałem we wtyczce do zaćmienia. Intellij śledzi wszystkie zmiany w jednym zatwierdzeniu, niezwykle łatwo. Zmienione pliki można izolować za pomocą niestandardowych list. Używam tego do plików konfiguracyjnych, które muszą być unikalne lokalnie, ale są stale oflagowane podczas synchronizacji lub porównania z repozytorium - umieszczając je pod listą zmian, mogę je monitorować, ale starannie je schować, aby móc skupić się na prawdziwych dodatkach Robię.
Ponadto istnieje wtyczka Commit Log, która wyświetla tekst wszystkich zmian dla tych SCCS, które nie są zintegrowane z oprogramowaniem do śledzenia błędów. Wklejanie dziennika do historii pracy zgłoszenia rejestruje pliki, ich wersję, datę / godzinę oraz gałąź / tagi. Fajnie jak diabli.
Założę się, że wszystko to można obsługiwać za pomocą wtyczek (lub przyszłych ulepszeń) w środowisku Eclipse; jednak Intellij sprawia, że jest to proste.
Wreszcie, jestem naprawdę podekscytowany popularnością tego produktu - naciśnięciami klawiszy, więc jest to bolesne, ale zabawne.
źródło
Debuger IntelliJ ma bardzo przydatną funkcję o nazwie „Oceń wyrażenie”, która jest zdecydowanie lepsza niż zawieszka zaćmienia. Ma pełne uzupełnianie kodu i wydaje mi się, że jest ogólnie „bardziej użyteczny”.
źródło
Cóż, dla mnie to tysiąc drobiazgów. Niektóre makra, ogólny układ GUI w Eclipse uważam za okropny. Nie mogę otworzyć wielu projektów w różnych oknach w Eclipse. Mogę otwierać wiele projektów, ale wtedy system oparty na widoku zamienia na mnie wiele rzeczy podczas przełączania plików. Inspekcje kodu IntelliJ wydają się lepsze. Wyskakujące pomocniki do rozwiązywania typowych problemów są miłe. Wiele prostych rzeczy związanych z użytecznością, takich jak pasek boczny, w którym mogę najechać myszką na hot spot i pokaże mi każdą podklasę implementacji metody lub metody, którą wdrażam i skąd.
Ilekroć musiałem używać lub obserwować, jak ktoś używa, Eclipse wydaje się, że może robić większość rzeczy, które mogę robić w IntelliJ, ale zajmuje to dłużej i jest bardziej niezrozumiały.
źródło
Wprowadź zmienną. ( Ctrl+Alt+Vw systemie Windows, Cmd+Alt+Vw OSX)
Powiedzmy, że wywołujesz metodę,
service.listAllPersons()
Hit Ctrl+Alt+Vi Enter, i wstawiana jest zmienna dla wartości zwracanej z wywołania metody:Oszczędza pisania i nie musisz sprawdzać typu zwracanej metody, którą wywołujesz. Szczególnie przydatny przy stosowaniu leków generycznych, np
[wprowadź zmienną]
(oczywiście możesz łatwo zmienić nazwę zmiennej przed uderzeniem Enter)
źródło
control+1
(najbardziej oczywistego wiązania klawiszy na świecie, co?), Sugeruje to, co możesz zrobić w bieżącej lokalizacji kursora, podobnie jak w IDEA. Zawiera na przykład „przypisz lokalnie”, „przypisz pole” i inne opcje.control+2, L
jest skrótem do tego.ctrl+2, L
, nadal możesz zmienić typ utworzonej zmiennej na typ po prawej stronie (domyślnie) lub na dowolny nadtyp: typ zmiennej można wybrać za pomocą TAB.IntelliJ ma wsparcie Intellisense i refaktoryzacji z kodu do dokumentów jspx.
źródło
Dla mnie wsparcie maven IDEA, szczególnie w wersji 9, nie ma sobie równych. Synchronizacja projektu w locie z modelem maven jest po prostu fantastyczna i sprawia, że rozwój jest przyjemny.
źródło
Intellij ma znacznie lepszą wtyczkę SVN niż Subversive lub Subclipse i działa! Ilość czasu, który zmarnowaliśmy na scalanie plików źródłowych za pomocą Eclipse, nie oznacza, że trzeba o tym myśleć. To nie jest problem z IntelliJ, ponieważ wtyczka pomaga ci znacznie więcej.
Również wtyczka Subclipse jest niewiarygodna - regularnie mamy przypadki, w których wtyczka nie uważa, że kod SVN został zarejestrowany przez innych programistów, ale tak - serwer CI przetworzył je!
źródło
Emulator VIM . Ta wtyczka zapewnia prawie pełną emulację vi / vim / gvim podczas edycji plików w IDEA. Obsługiwana jest następująca funkcjonalność:
kilka komentarzy na temat tej wtyczki z http://plugins.jetbrains.net/plugin/?id=164
Nie widzę, aby kiedykolwiek wracał do innych pomysłów z powodu tej wtyczki .. Najlepsze z obu światów ... Niesamowite! tego mi brakowało we wszystkich IDE.źródło
Moim zdaniem jednym z dobrych punktów jest macierz struktury zależności : http://www.jetbrains.com/idea/features/dependency_analysis.html#link0
W witrynie Lattix (samodzielny produkt) znajduje się dobre wprowadzenie do korzystania z DSM i korzyści: http://www.lattix.com/files/dl/slides/s.php?directory=4tour
źródło
Kilka innych rzeczy:
źródło
Dwie rzeczy, które IntelliJ robi, że Eclipse nie są dla mnie bardzo cenne:
Separatory metod: te słabe szare linie między metodami znacznie poprawiają czytelność kodu
Antyaliasing tekstu: sprawia, że kod wygląda tak ładnie w IDE
źródło
Jedną z bardzo przydatnych funkcji jest możliwość częściowego zbudowania projektu reaktora Maven, aby uwzględnić tylko potrzebne części.
Aby to trochę wyjaśnić, rozważ przypadek kolekcji plików WAR z wieloma wspólnymi zasobami (np. JavaScript, pliki konfiguracyjne Spring itp.) Udostępnianymi między nimi za pomocą techniki nakładania. Jeśli pracujesz na jakiejś stronie internetowej (działającej w Jetty) i chcesz zmienić część kodu nakładki, który jest przechowywany w osobnym module, zwykle oczekujesz, że będziesz musiał zatrzymać Jetty, uruchomić kompilację Maven, uruchomić Jetty ponownie i kontyntynuj. Tak jest w przypadku Eclipse i niemal każdego innego środowiska IDE, z którym pracowałem. Nie w IntelliJ. Za pomocą ustawień projektu możesz zdefiniować, który aspekt modułu chcesz włączyć do kompilacji w tle. W rezultacie powstaje proces, który wydaje się bezproblemowy. Zmieniasz praktycznie dowolny kod w projekcie i natychmiast jest on dostępny po odświeżeniu przeglądarki.
Bardzo schludnie i bardzo szybko.
Bez niego nie wyobrażam sobie kodowania interfejsu w coś takiego jak wsparcie YUI na DWR / SpringMVC.
źródło
Preambuła do mojej odpowiedzi: Moje użycie Eclipse jest ograniczone. Potrzebowaliśmy środowiska Java IDE do pracy zarówno w systemie Windows, jak i Mac, a port Mac zwalniał z dnia na dzień. To było lata temu i jestem pewien, że teraz jest OK. Ale to właśnie skłoniło nas do przejścia na IntelliJ i jesteśmy z tego zadowoleni.
Teraz moja odpowiedź: jedną wielką różnicą, o której jeszcze nie wspomniałem, jest to, że wsparcie techniczne jest lepsze w przypadku IntelliJ / Jet Brains. Wysyłamy wiadomość e-mail do JetBrains i otrzymujemy ostateczną odpowiedź w ciągu mniej niż godziny. Szukanie odpowiedzi na problemy z Eclipse skutkuje zwykłymi odpowiedziami „Ty głupi idioto” (zwykle niewielka liczba odpowiedzi) wraz ze znacznie większą liczbą wnikliwych, pomocnych odpowiedzi. Jednak uzyskanie prawdziwej odpowiedzi wymaga pewnego sortowania.
źródło
Coś, czego używam w IntelliJ cały czas, refaktoryzuje podczas pisania. Mam przepisane klasy z wydruku (pierwotnie napisanego w środowisku Eclipse) przy użyciu obu IDE i wykorzystałem około 40% mniej uderzeń klawiszy / kliknięć myszą, aby napisać te same klasy w IntelliJ niż Eclipse.
Nie chciałbym używać Eclipse, dopóki nie będą one obsługiwać tyle samo refaktoryzacji przy niekompletnych fragmentach kodu.
Oto dłuższa lista funkcji w IntelliJ 8.0 / 8.1 [ http://www.jetbrains.com/idea/features/index.html]
źródło
Jest jedna rzecz, którą IntelliJ robi o wiele lepiej niż Eclipse i opróżnia twoje kieszenie!
Wolę jednak go używać, a jedną wielką zaletą w stosunku do Eclipce jest sposób synchronizacji z systemem plików, w przypadku dużych projektów i powolnych komputerów (tak w środowiskach roboczych komputery są znacznie wolniejsze niż nasze w domu) Eclipse wydaje się walka, w której IntelliJ wydaje się być szybszy, choć z wolniejszym początkowym czasem indeksowania.
Wydanie IntelliJ Community oczywiście czyni korzystanie z niego za darmo, ale wkrótce chcesz, aby te dodatkowe refaktoryzacje i ładne małe gadżety nie były zawarte w edycji CC.
Moim zdaniem jest to ogólnie lepsze doświadczenie użytkownika, ale czy jego koszt jest pytaniem dla każdego programisty.
Ale bądźmy wdzięczni, że mamy teraz do trzech świetnych IDE dla Javy, a NetBeans jest coraz lepszy.
źródło
Analiza przepływu danych : międzyprocesowa analiza przepływu wstecznego i analiza przepływu wstecznego, jak opisano tutaj . Moje doświadczenia oparte są na wydaniu Community Edition, które dość dobrze przeprowadza analizę przepływu danych. W kilku przypadkach, gdy kod jest bardzo złożony, zawiódł (odmówił wykonania czegokolwiek).
źródło
Przede wszystkim kocham intellij. Istnieje co najmniej sto cech, które ma ten brak zaćmienia. Mówię o wielkościach lepszych pod względem niezawodności i inteligencji, których żadna hiperbola nie jest w stanie opisać, jeśli chodzi o refaktoryzację, zmianę nazwy, przenoszenie i inne, o których już wspomniano.
ALE jest jedna rzecz, której intellij nie zezwala na to, co robi zaćmienie. Nie pozwala na uruchamianie wielu projektów jednocześnie pod tym samym vm.
Kiedy masz osobne projekty dla front, middle, core, agent..etc, w których wszystkie muszą ze sobą współdziałać, nie możesz szybko modyfikować i debugować jednocześnie, afaik. Jedynym sposobem, w jaki obecnie sobie z tym radzę, jest użycie skryptów mrówek do wdrażania i aktualizacji słoików w zależnych projektach lub użycie maven.
Eclipse umożliwia debugowanie wielu projektów w ramach jednej instancji ide vm.
źródło