Wpis z mikrobloga

Jaki jest sens używania wszystkomającego IDE? Ostatnio musiałem zrobić typową aplikację webową używającą bazy danych. Zainstalowałem sobie środkowisko wirtualne Vagrant. Potem ssh na wirtualną maszynę, tam założyłem w odpowiednim katalogu repozytorium git. Aplikacja używała frameworka, więc wygenerowałem sobie plik phpctags i mogłem poruszać się po funkcjach pomiędzy plikami w całym frameworku w vimie. Oczywiście vim z dobranymi dodatkami pod pisanie w php.

Czyli mam osobne wirtualne pudełeczko, vagrant, na nim ustawiony cały ekosystem aplikacji. Wszystko odizolowane od systemu goszczącego. I wszystko mogę sobie ustawić na vagrancie maksymalnie zbliżone do późniejszej maszyny produkcyjnej. Na maszynie wirtualnej mogę mieć php, jave ee, python, ruby itp. rzeczy działające po stronie serwerowej. Wytłumaczcie mi zatem potrzebę używania IDE. Zamiast git commit -m "cośtamcośtam" będe miał guzik? Będe miał 1001 addonów w eclipse do uruchamiania tych samych narzędzi które uruchamia się w terminalu? Wbudowany browser na który i tak nie patrzę? Do walidacji też nie jest potrzebne IDE, są odpowiednie wyspecjalizowane narzędzia.
No i jeszcze zarządzanie projektami. Ale skoro mogę mieć maszyny wirtualne, a do tego repozytoria git na każdej maszynie więc tworzenie projektu w IDE aby móc cokolwiek napisać jest mi niepotrzebne.
Ok, w IDE przy tworzeniu projektu wybiera się biblioteki. Tylko zamiast tego mogę sobie wpisać odpowiednie linijki w pliku composer.json(jeśli o php mowa) i też będe miał biblioteki. I potem za pomocą tego pliku będę mógł sobie wygenerować szkielet aplikacji z dokładnie tymi samymi wersjami bibliotek i zależności gdziekolwiek chce.

Pytam nieironicznie jako początkujacy bo na forach dotyczących różnych frameworków widziałem wiele tematów w stylu "nie mogę czegośtam skonfigurować w IDE". I zwykle rozwiązanie polegające na konfiguracji jednego pliku bez IDE gmatwa się i jest rozwiązywane od d*py strony.

#programowanie #php #vim #webdev
  • 29
@Jojne_Zimmerman: najważniejszy atut - wygoda. Porządne IDE są pisane z myślą o wygodzie. Nie mają zastąpić ci konsoli (chociaż niektóre niepotrzebnie próbują), tylko mają ułatwić i usprawnić ci pracę na codzień. Kolorowanie i podpowiadanie składni, wsparcie dla PHPDoc, łatwy refaktoring na wielu plikach, ctr+click itp to niby drobiazgi, ale w ciągu dnia potrafią zaoszczędzić znaczną ilość czasu.
@Diabl0:

Kolorowanie i podpowiadanie składni,

Vim ma to wbudowane

wsparcie dla PHPDoc

Dostępne przez plugin

ctr+click

ctrl+]

@mariecziek:

automatycznie formatuje mi kod wg PSR-0 i PSR-1

Dostępne przez plugin

robi też line wrap.

Wbudowane

zapisuje każdą zmianę lokalnie po każdym ctrl+s, czyli zawsze mogę wrócić do kodu sprzed 5 minut

Wbudowane/plugin

Absolutnie nie chcę powiedzieć "IDE to guwno, używajcie vima, vim jest najleprzy i jedyny!!!11". Chcę tylko uświadomić, że większość
Chcę tylko uświadomić, że większość przydatnych ficzerów dostępnych w IDE, dostępne są również bez większych problemów w Vimie.


@Bionizy: Porządne możliwości refactoringu, to jest to czego brakuje. Chciałbym, aby vim dorobił się kiedyś uniwersalnej metody pisania pluginów semantycznych (coś jak syntax).
Proste rzeczy typu zmiana nazwy można zrobić z użyciem :vimgrep, :argdo i :substitute. Bardziej skomplikowane to :global i makra, ale są też przypadki, gdzie trzeba ręcznie :P
Jaki jest sens używania wszystkomającego IDE?


@Jojne_Zimmerman:

1. Jeśli wskakujesz w nowy duży projekt, to często dużo łatwiej jest wybadać co i jak działa z pomocą IDE i dopiero później przeskoczyć do vima
2. Gdy potrzebujesz wykonać refactoring (taki bardziej zaawansowany niż znajdź & zamień + jakieś proste makra), to w IDE są do tego dedykowane narzędzia
3. Jak klepiesz aplikacje w Javie albo innym Objective-C/iOS , to nie masz wyboru
Pobierz D.....k - > Jaki jest sens używania wszystkomającego IDE?

@JojneZimmerman: 

1. ...
źródło: comment_PI6lOfw2TBqjYW4GOvakl1CiALr8cJwT.jpg
@Jojne_Zimmerman: ja uzywam i vima i IDE i dla mnie to sa dwa zupełnie różne tematy ;) ale gdybym miał wybierać to nie widzę sensu uczenia uzywania tylko vima, ten edytor jest tak bardzo skomplikowany i tak dużo wymaga od uzytkownika w stosunku do np. phpstorma, że spowalniałby przez długi czas niepotrzebnie pracę. ale widziałem fajne dodatki do niego, które to usprawniają, choć na mój gust właściwie przerabiają vima na prawdziwe
@Jojne_Zimmerman: najbardziej w połączeniu vim + konsola lubię to, że nie muszę odrywać rąk od klawiatury. O ile na thinkpadzie mam łechtaczkę i nie trzeba zmieniać pozycji ręki to na reszcie komputerów trzeba się namachać (są jeszcze tacy co touchpada używają kciukiem, ale to nie wygodne wg mnie).
To tak tytułem wstępu.
Gdybym robił jakąś większą aplikację to pewnie używałbym (i być może kiedyś zainwestuję w Webstorma) IDE. Do poprawek, małych
@sylwke3100: Miałeś chyba na myśli clang? Vim całkiem nieźle podpowiada i bez tego, ale nie rozumie kontekstu.
Oczywiście pod warunkiem, że path mu ustawiłeś sensownie, żeby wiedział gdzie szukać słów kluczowych.
set path+=/usr/include/** to absolutna podstawa przy C/C++.