2009-09-16 7 views
5

Pobrałem IntelliJ IDEA i zacząłem od oceny 30-dniowej.Dlaczego warto używać Intellij, lub co zrobić podczas oceny

Zastanawiam się teraz, dlaczego powinienem używać IntelliJ do zwykłego rozwoju starej javy (więc bez Hibernacji, JSP itp.)? Nie wygląda to tak inaczej niż zaćmienie czy NetBeans, więc mam nadzieję, że jakiś guru IntelliJ może podać kilka przykładów rzeczy, które IntelliJ może zrobić, aby uzasadnić inwestowanie w nią pieniędzy. Próbuję wykorzystać ewaluację w pełni i nie chcę przegapić ważnej funkcji.

Lista things possible in IntelliJ but not in eclipse jest już dostępna, ale jestem bardziej zainteresowany codziennym przepływem pracy niż niektóre niejasne funkcje, które będą używane dwa razy w miesiącu.

+11

„nie wygląda to inaczej ...” - wiesz, z daleka nie mogę odróżnić czekolady i rufie , zarówno. :) – weiji

Odpowiedz

12

Używam IntelliJ dla około 5 lat (od wersji 4.5) i przeczytałem także większość książki Manninga "IntelliJ in Action" i nadal nie uważałem się za guru. W rzeczywistości chciałem też zrobić "zwykły stary program Java" i szczerze muszę powiedzieć, że jest w tym całkiem niezły. Podobnie jak w przypadku innych odpowiedzi, mogę tylko powiedzieć, że istnieje pewna przewaga w jego przydatności, która naprawdę stawia go na wierzchu. Używamy Eclipse również w pracy, i chociaż nie mam tyle doświadczenia, mogę powiedzieć, że zdecydowanie brakuje podstawowych rzeczy. Poświęciłem trochę czasu i wysiłku, aby nauczyć się Eclipse, sprawdzając, jak robić rzeczy codziennego użytku, które uważam za oczywiste w IntelliJ, i w większości przypadków nie są one lub są bardzo słabo implementowane. Refaktoring to zdecydowanie rzecz, która bardzo pomaga.

Oprócz refaktoryzacji, myślę, że jest tylko tona małych akcentów, które naprawdę pomagają. Myślę, że przykładem może pomóc wyjaśnić ...

Spróbuj tego:

Utwórz nową, pustą klasę. Przesuń kursor wewnątrz nawiasu klamrowego i wykonaj polecenie Ctrl-J, aby rozwinąć "psvm" w "public static void main (String [] args)". Istnieje cała lista powszechnie używanych idiomów, którymi ten skrót będzie się posługiwał (i jest również konfigurowalny).Wewnątrz głównego bloku kodu, wprowadź ten kod:

public static void main(String[] args) { 
    int x = 1000; 
    sout 
} 

Pod koniec „sout”, czy Ctrl-J ponownie - zobaczysz kolejne okienko, które pozwala ci wybrać z kilku różnych rozszerzeń, ale w ogólnie to rozszerza się do "System.out.println (" ")" i pomocniczo umieszcza kursor między podwójnymi cudzysłowami (to małe akcenty, które tak naprawdę sprawiają, że świecą, myślę, porównać z Visualiosowskim "IntelliSense" - całkowity garnek, jeśli mnie o to poprosisz).

W każdym razie backspace nad pierwszym podwójnym cudzysłowem - zauważ, że usuwa pasujący podwójny cudzysłów? Robi to samo z nawiasami klamrowymi i klamrami. Myślę, że jest kilka przypadków, w których wolę to robić, ale większość czasu bardzo pomaga. Powrót do edycji kodu: po prostu wpisz x więc kod wygląda teraz tak:

public static void main(String[] args) { 
    int x = 1000; 


    // add a few blank lines here too - the need for 
    // this will be obvious a little later 

    System.out.println(x); 
} 

Teraz przesuń kursor do deklaracji x, i Shift-F6 - to in- refaktoryzacji miejsce dialogowe (nie wiem, jak to nazwać, więc właśnie to wymyśliłem). Nazwa "x" zawiera kolorowe pole i możesz zacząć wpisywać nową nazwę - podczas pisania wszystkie zastosowania tej nazwy są również dynamicznie aktualizowane. Kolejny czysty dotyk, który bardzo lubię.

Spróbuj to: umieścić naprawdę długi komentarz wiersza gdzieś tak:

// this is a really long comment blah blah blah i love to hear myself talking hahaha 

teraz powiedzieć zdecydujesz komentarz jest zbyt długi, więc przesunąć kursor na środku gdzieś i naciśnij Enter. IntelliJ wstawi pozostałą część komentarza z "//" z góry - "wie", że jest to kontynuacja poprzedniego komentarza, więc komentuje to za ciebie. Kolejny czysty dotyk.

// this is a really long comment blah 
// blah blah i love to hear myself talking hahaha 

Inną dużą zaletą lubię IntelliJ porównaniu do Eclipse jest to, że o wiele mniej inwazyjne - I naprawdę nienawidził jak Eclipse zdoła dostać wyskakujące okienka na górze pop-upów, a ostrość mysz byłaby gdzieś ale klawiatura ostrości jest zablokowany na czymś pod spodem, itp. Myślę, że można pracować w taki sposób, że tego rodzaju rzeczy się nie zdarzają, ale przede wszystkim bardzo mnie to irytowało. Przypomina mi to, że w IntelliJ po przesunięciu kursora myszy nad paczką lub nawigatorem plików w lewym okienku panel automatycznie ustawi ostrość myszy, więc przyzwyczaiłem się do natychmiastowego korzystania z kółka myszy. W Eclipse? Po najechaniu myszą, ale ostrość pozostała w okienku edycji, więc KLIKNIJ za pomocą myszki, aby przenieść fokus, a następnie użyj kółka myszy, aby się rozejrzeć. Tak jak powiedziałem, jest wiele drobnych elementów, które pomagają w wydajności.

Podczas kodowania, zwróć uwagę na lewy pasek rynny na czerwone symbole typu "żarówki" na bieżącej linii - to jest IntelliJ informujący, że są możliwe rzeczy, które może zrobić. Użyj klawisza Alt-Enter, aby wyświetlić małe okno dialogowe w miejscu, i powie Ci, co może zająć się automatycznie. Załóżmy, że wpisujesz definicję metody o nazwie "getFoo()" i nie ma członka-foo - zaoferuje ci to stworzenie. Lub jeśli używasz klasy i wywołujesz na niej nieistniejącą metodę, taką jak getFoo() - zaproponuje ona stworzenie elementu pobierającego i członka lub zwykłej metody. To po prostu pomocne.

Ogólnie rzecz biorąc, powiedziałbym, że małe poprawki nie są tym, o czym guru IntelliJ naprawdę będą chcieli mówić, ale naprawdę doceniam, że tego typu rzeczy są po prostu "dobrze zrobione". Zajmują się drobnymi szczegółami, więc nie musisz spędzać tak wiele mentalnego środowiska wykonawczego sprawdzając własną składnię. Uważam to za kamerdynera, który pomaga mi w kodowaniu - zajmuje się drobnymi obowiązkami, więc nie muszę. Batman ma swojego Alfreda i mam mojego IntelliJ.Wszystkie ustawienia są rozdzierane, abyś mógł je zmodyfikować, jeśli chcesz, ale wygląda na to, że domyślne ustawienia są nastawione na poprawę wydajności, zamiast zawracać ci głowę zwykłymi decyzjami (szczególnie tymi, które prawie zawsze robisz taki sam wybór).

Istnieje kilka wad IntelliJ - cena jest nieco wysoka, a to dość duże, że załadowanie dużego projektu może zająć trochę czasu. Mam szczęście, że moja firma płaci za licencję oraz bardzo dobrą stację roboczą, więc ładuje się dość szybko, ale twój przebieg będzie różny.

+6

Większość funkcji, które opisujesz jako specyficzne dla IntelliJ, jest również obecnych w Netbeans i Eclipse. – JRL

+2

Zabawne, ale większość przykładów tutaj podanych istnieje w Eclipse: wpisz main i Ctrl + Spacja dla głównej metody, wpisz syso (dla sysout) i Ctrl + Spacja dla System.out.println(), podświetl x i wpisz Alt + Shift + R, aby zmienić nazwę ... IMO, to potwierdza, że ​​preferowanie jednego IDE nad drugim jest wysoce zależne od twoich nawyków kodowania, twojej wiedzy o twoim obecnym środowisku, a zatem jest dość subiektywne. –

+5

Tak, wiem. Umyśliłem do tego w mojej odpowiedzi z przedmowiem "i w większości przypadków nie są tam ani źle wdrażane". Jak mój żart-komentarz na temat czekolady i kupy - są w tym samym kolorze, nie oznacza to, że są takie same. – weiji

1

Nie jestem guru IntelliJ IDEA, ale to, co fanboyi zwykle lubią w IntelliJ, to świetne refaktoryzacje i funkcje wspomagające kod. Często twierdzą, że ten produkt jest o wiele lepszy od konkurenta z tego punktu widzenia.

Osobiście jestem zwolenniczką następującej zasady: użyj IDE, z którym czujesz się najbardziej produktywny, a nie ten, który preferuje ktoś inny.

4

Właśnie wróciłem do Eclipse po 2 latach z Intellij (ze względu na preferencje klienta).

Znajduję Eclipse być mniej pomocne. Wiem, że to mgliste określenie, ale opinie Intellijczyka były wyraźniejsze, UI dał mi lepsze informacje o tym, co się dzieje, automatyczny budynek wydawał się bardziej płynny. Konfiguracja/konfiguracja projektu wydaje się bardziej intuicyjna.

Jest to być może subiektywne, ale czasami dlatego wolisz jedno od drugiego. To po prostu czuje się, że trochę płaszcz, że trochę bardziej przyjazna ...

(nie sądzę VIM plugin dla IntelliJ jest lepsza, ale to już inna historia!)

10

Mam pracę dzień, w którym używam Eclipse (ponieważ to wszystko, co jest dozwolone). Mam też własną firmę, w której "moonlight" wykonuje pracę kontraktową i korzystam z IntelliJ.

Powiedziałbym, że ich zestawy funkcji są prawie takie same. Niemal takie same refaktoryzacje, ten sam kod wspomaga ten sam styl użycia, itp. Eclipse ma prawdopodobnie lepsze wtyczki i prawdopodobnie znacznie więcej niż IntelliJ. IntelliJ po prostu "wie" od razu, jak Spring i Hibernate, i te rzeczy są lepiej zintegrowane niż wtyczki Eclipse o podobnej funkcjonalności.

Powodem, dla którego wybieram korzystanie z IntelliJ, gdy jest to dozwolone (osobiście zakupione i zaktualizowane kilka razy) jest to, że wszystko, co robi, wydaje się być czystsze. Trudno mi o tym powiedzieć, ale dokładnie taka sama funkcjonalność w IntelliJ jest bardziej łatwa i łatwa w użyciu niż w Eclipse - na tyle, że zapłaciłbym za to, mimo że dostępne jest w pełni funkcjonalne darmowe IDE.

Czynności, które należy podjąć w celu podjęcia decyzji, to: codzienne korzystanie z IntelliJ do wszystkich zadań programistycznych przez 30 dni. Wciśnij krzywiznę uczenia się nowych skrótów i sposobów wyszukiwania, refaktoryzacji itp. I podejrzewam, że wolisz. Jeśli nie, Eclipse nadal jest dla ciebie.

+0

Przejście do kluczowania numerów linii w czasie zaćmienia doprowadziło mnie do szału (Ctrl + L, jak sądzę), ponieważ nie jest to jak każda inna aplikacja Windows (Ctrl + G). Zgadzam się, że wszystkie te małe rzeczy sprawiły, że przeskoczyłem statek. – dhable

3

2weiji: użyj Tab zamiast Ctrl + J :-) To znacznie przydać :-))
sout następnie Tab
psvm następnie Tab
iter następnie Tab
itd ...: o)

+0

Dzięki - Tab jest naprawdę bardzo przydatny. Domyślna mapa klawiszy jest lepsza niż Ctrl-J. Niestety dla mnie używam zmodyfikowanej mapy klawiszy emacsa, więc wydaje się, że w tej sytuacji "Karta Emacsa" ma pierwszeństwo przed "Zmienną Następnego Szablonu" - czy tak? – weiji

2

Dlaczego warto korzystać z IntelliJ? Ponieważ uważam, że jest bardziej spójny w interfejsie użytkownika i bardziej dopracowany. Pozwala na dłuższe trzymanie rąk na klawiaturze, zamiast przełączać się między klawiaturą i myszą. Jak powiedzieli inni ludzie, to małe rzeczy, które się sumują.

Znalazłem funkcjonalność intencji użytkownika, która oszczędza dużo czasu, a także sposób, w jaki recenzuje kod i sugeruje optymalizacje oraz koryguje złe praktyki. Że mogę uderzyć Alt-Enter w wielu kontekstach, a IDE jest w stanie wymyślić i wstawić to, co powinno tam być. Nadpobudliwe rzeczy, takie jak deklaracje typów, optymalizowanie pętli for-style w starym stylu do korzystania z nowej pętli typu JDK-5, usuwanie zbędnych przypisań wartości lub niewykorzystanych zmiennych.

Umiejętność pierwszego wpisania metody, która nie istnieje, a następnie naciśnięcie kombinacji klawiszy i posiadanie IDE zapisuje gołą strukturę metody - olbrzymi czas. Zapewnia mi to lepszy przepływ pracy, ponieważ pozwala ci najpierw pomyśleć o tym, jak będziesz używać metody, jak wygląda, gdy czytasz ją w kontekście.

wsparcie Refaktoryzacja - był to duży punkt sprzedaży, gdy po raz pierwszy zaczął używać go w 2003 roku, i myślę, że nadal prowadzi droga (ale słyszę Netbeans jest również bardzo dobra teraz)

Gorąco polecam, że masz spojrzenie na IntelliJ KeyMap Reference.

Zapraszamy do obejrzenia tej dyskusji dla często używanych skrótów: What are the most useful Intellij IDEA keyboard shortcuts?