Best C++ IDE for *nix [closed]

Jaki jest najlepszy C++ IDE dla środowiska a *nix? Słyszałem, że moduł C / C++ Eclipse jest przyzwoity tak samo jak Notepad++ ale poza tymi dwoma Nie mam zielonego pojęcia. Jakieś przemyślenia lub komentarze?

 31
Author: Peter Coulton, 2008-09-17

22 answers

Na Ubuntu niektóre IDE dostępne w repozytoriach to:

Istnieje również:

  • Eclipse (zalecane, aby nie instalować z repozytoriów, ze względu na problemy z uprawnieniami do plików/folderów)
  • Code:: blocks

I oczywiście ulubione teksty wszystkich redakcja:

  • vi / vim
  • emacs

To prawda, że vim i emacs są bardzo potężnymi narzędziami, ale krzywa uczenia się jest bardzo stroma..

Naprawdę nie lubię Eclipse aż tak bardzo, uważam, że jest buggy i trochę zbyt niezgrabny.
Zacząłem używać Geany jako goły, ale funkcjonalny i użyteczny IDE. Posiada podstawową funkcję uzupełniania kodu i jest ładnym, czystym interfejsem [Gnome].
Anjuta próbowałem przez jeden dzień, nie podobało mi się to w ogóle. Nie było tak przydatne jak Geany.

KDevelop i code::blocks dostają kilka dobrych recenzji, ale nie próbowałem ich. Używam gnome, i jestem jeszcze, aby zobaczyć aplikację KDE, która wygląda dobrze w gnome (przepraszam, jestem pewien, że to świetny program).

Gdyby tylko bloodshed dev-c++ został wydany pod Linuksem. To fantastyczny (ale tylko dla windows) program. Zawsze można go uruchomić pod winem;)

W pewnym stopniu sprowadza się to do osobistych preferencji. Moja rada to zbadaj bloki Kdevelop, Geany i code::jako punkt wyjścia.

 30
Author: brasskazoo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 02:43:42

Jako programista, który od wielu lat pisze kod pod Linuksem, po prostu nie mogę odejść od używania Vima do pisania kodu.

Gdy już się go nauczysz i poznasz niektóre z jego bardziej zaawansowanych funkcji (składanie kodu, jak używać ctags, jak efektywnie pracować z wieloma buforami itp.), przejście do innego edytora jest bardzo trudne - ponieważ wszystko inne wydaje się brakować funkcji, do których jesteś przyzwyczajony.

Jedynym innym edytorem z supersetem funkcji Vima jest emacs. I wysoce polecam uczyć się jednego lub drugiego - a jeśli masz pytania, nie wahaj się zapytać tutaj lub w # emacs lub #vim on irc.freenode.net - istnieje bardzo duża i pomocna społeczność, która pomoże Ci dowiedzieć się, jakie rozszerzenia lub polecenia najlepiej pasują do problemów z edycją oprogramowania, z którymi masz do czynienia.

[Edit: komentarz zauważył, że" vim nie jest IDE", zgadzam się. Nie podoba mi się pseudonim IDE, ponieważ oznacza gui z menedżerem projektu i kilkoma rozwijanymi polami. Lubię używać terminologii "Dobre Narzędzia ". Zobacz zapiski Teda Leunga na ten temat]

 18
Author: Jerub,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 02:34:36
 10
Author: tstenner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-22 08:42:09

Polecam CodeBlocks .

Highlights:

  • Open Source! GPLv3, bez ukrytych kosztów.
  • Cross-platform. Działa na systemach Linux, Mac, Windows (używa wxWidgets).
  • napisane w C++. Nie są potrzebne żadne interpretowane języki ani zastrzeżone biblioteki.
  • rozszerzalne poprzez wtyczki

Kompilator:

  • Obsługa wielu kompilatorów:
    • GCC (MinGW / GNU GCC)
    • MSVC++
    • Digital Mars
    • Borland C++ 5.5
    • Otwórz Watcom
    • ...i więcej
 9
Author: KPexEA,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 02:34:59

Ja tylko używam Emacsa.

 7
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 02:20:02

Emacs jest fantastycznym IDE, nie wchodzącym mi w drogę, ale potrafiącym robić wszystko. Zobacz inne podobne pytanie: Używanie Emacsa jako IDE

 5
Author: Ben Collins,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:50:29

Mój głos to KDevelop (szkoda, że nie mam więcej punktów, żeby móc "głosować", żeby tylko pośrednio się z innymi zgodzić niż komentować).

Używam Eclipse od kilku lat do użytku osobistego, przekonując siebie, że "odkąd IBM go podarował, musi być dobry", ale potem odkryłem KDevelop i nigdy nie zawróciłem. Ponieważ jestem dość rozpieszczony Microsoft Visual Studio do użytku profesjonalnego, dlatego KDevelop czuł się dla mnie najbardziej komfortowo.

I want to enjoy programowanie jako hobby, a nie spędzanie czasu na szukaniu co ctrl-k-k i ctrl-k-B robi. Jak inni wspominali, cokolwiek "czuje się w porządku" dla nich jest najlepszym IDE. Dla mnie KDevelop czuje się najbardziej komfortowo, ponieważ mogę skoncentrować się na kodowaniu(prawdopodobnie mógłbym przerobić Klucze do innych IDE, aby poczuć się jak VS, ale jak wspomniano, raczej inwestuję mój czas kodowania, co jest bardziej zabawne).

 5
Author: HidekiAI,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-20 23:00:22

Jeśli pochodzisz z Windows & Visual Studio, Możesz znaleźć kod:: Blocks spełniający Twoje oczekiwania.

To było moje doświadczenie; próbowałem najpierw kilku innych, ale wszyscy zdawali się oczekiwać, że zrobię długi samouczek, zanim będę mógł zacząć robić coś ciekawego - a z tuzinem Idów do wypróbowania, to może potrwać kilka dni.

Z Code:: Blocks nie było obręczy do skakania, i bardzo mało obowiązkowe cruft do nauki, zanim będę mógł być produktywny. Nadal wolę wizualne Studio, ale Code:: Blocks może otworzyć moje projekty Visual Studio i nie chce mi się marnować czasu, więc jest to najbardziej zwycięskie IDE *nix dla mnie.

 4
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 04:06:26

Używam wtyczki NetBeans C++ i jest super. Pochodzę z środowiska Visual Studio i Zarządzanie projektami Netbeans jest bardzo podobne. Próbowałem KDevelop, ale okazało się, że jest trochę łuszczący (to było 12 miesięcy temu, więc teraz jest chyba lepiej).

Zmagałem się również z zależnościami przy użyciu KDevelop - tzn. gdzie program wymaga kilku bibliotek do zbudowania jako pierwszy - ale Netbeans to uprościł.

Jedynym zarzutem jest to, że będąc aplikacją Java, nie jest szczególnie szybka - bardzo zauważalne podczas pracy pod VMWare.

 4
Author: Rob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 06:26:56

Po prostu NetBeans. Musisz to wypróbować. To takie dobre. Jest o wiele lepszy niż Eclipse z wtyczką CDT.

 4
Author: user14437,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 07:43:51

KDevelop jest fajny, szczególnie jeśli uruchamiasz KDE. Obsługuje wiele języków, jako dodatkowy bonus. Uważam, że jego wbudowany terminal jest naprawdę przydatny.

 3
Author: Vinko Vrsalovic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 02:18:06

Netbeans dostał całkiem dobre recenzje za obsługę C++: http://www.netbeans.org/features/cpp/

Nigdy nie używałem Netbeans lub Eclipse do tworzenia C++, ale warto na to spojrzeć.

 3
Author: Gili,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 02:21:49

Byłem użytkownikiem VisualStudio + VA-X zanim przełączyłem się na ubuntu i potrzebowałem dobrych funkcji automatycznego uzupełniania i nawigacji w każdym IDE.

Próbowałem Netbeans, Eclipse CDT, CodeBlocks, Geany, Anjuta, KDevelop i ostatecznie zdecydowałem się na KDevelop, ponieważ był to najbliższy, jaki mogłem dostać się do VS + VA-X.

Eclipse & NetBeans są zbyt ciężkie i powolne jak na mój gust. Większość innych IDE ma wadliwe/niekompletne / głupie automatyczne uzupełnianie i inne funkcje; lub chcą przejąć kontrolę nad Twój kod i musi być zaimportowany do projektów; lub umieścić 101 plików w folderze źródłowym. Tylko KDevelop pozwolił mi mieć prosty link do mojego folderu src i pozwolił mi pracować. autouzupełnianie nie jest genialne, ale lepsze od innych.

KDevelop nie komponuje się dobrze z moim Gnome, ale mogę z nim żyć;)

 3
Author: wolfie2x,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 06:40:23

Bardzo lubię CodeLite . Sprawdź to strona funkcji .

 2
Author: RJP Computing,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 02:26:05

Osobiście zgadzam się również z tłumem kDevelop. Eclipse czuł się nieco nieporęczny i lekko niestabilny. Coś o kDeveloper zawsze czuje się dobrze.

 2
Author: f4nt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 03:27:10

Ultimate++ [http://www.ultimatepp.org/index.html]

[edytuj]
Ma własne biblioteki klas C++ (jak wskazuje Hernan), ale nic nie stoi na przeszkodzie, aby użyć innych bibliotek klas, takich jak SDL, lub możesz rzucić własne. Możesz nawet użyć boost, jeśli chcesz, ale muszę powiedzieć, że niektóre z dostarczonych klas i technik są bardziej przydatne.

najbardziej doceniam to, że jest to genialna integracja z debuggerem i bardzo kompletny edytor kontekstowy. Wykorzystuje standard compiler & debugger (gcc, g++, gdb) na Linuksie oraz MS compiler / debugger na tej platformie.

jedynym (bardzo małym) narzekaniem, jakie mam, są domowe nazwy projektów (zwane Nest ' s i tak dalej). Jest to niepotrzebne i może nawet zniechęcać poważnych programistów, ale są to tylko nazwy i uważam, że mogę je łatwo zignorować.

 2
Author: slashmais,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-22 08:30:00

Zadałem to pytanie wcześniej, aby doświadczyć użytkowników Linuksa i zawsze mówią Vim i automake. Używam Vima jako domyślnego edytora w Linuksie i po chwili staje się intuicyjny. Nauczyłem się go, pracując na kilku małych przykładach podczas nauki C++, aby móc uczyć się obu w tym samym czasie.

 1
Author: dbrien,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 02:38:03

W mojej starej pracy używaliśmy SlickEdit do tworzenia C++ pod Debianem. Jest wieloplatformowy i dość potężny.

To nie jest za darmo, chociaż.

 1
Author: itsadok,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 05:33:35

Problem z większością IDE polega na tym, że chcą mieć pewien stopień kontroli nad tym, jak projekt jest zorganizowany, i może to być problem, jeśli musisz pracować nad tym projektem z innymi ludźmi. Z mojego doświadczenia wynika, że prowadzi to do dwóch serii powiązanych problemów:

  • Jeśli rozpoczniesz projekt w określonym IDE, będą one układać dla Ciebie określoną strukturę katalogów, organizację plików, konwencję nazw plików, system budowania itp. Oczywiście większość z tych opcji to konfigurowalny, ale nie zawsze jest możliwe przestrzeganie określonych konwencji, których możesz być zobowiązany do przestrzegania. Projekty ze złożonym systemem budowania mogą być trudne do wdrożenia z poziomu IDE. Co więcej, projekt może nie być odpowiedni do zewnętrznych, niezależnych modyfikacji; więc na przykład, jeśli planujesz napisać aplikację opensource, unikaj uzależniania IDE dla projektu .

  • Jeśli importujesz projekt rozpoczęty w innym miejscu, są szanse nie będzie bardzo łatwo korzystać ze wszystkich funkcji dostarczanych przez IDE. Będziesz musiał dowiedzieć się, jak podłączyć system budowania, debugger (Ponieważ pliki binarne mogą nie być tam, gdzie są oczekiwane), itp. Dotyczy to zwłaszcza dużych i złożonych projektów.

Powodem, dla którego te ares nie są problemem pod Windows jest to, że Visual Studio jest de-facto standardem . Pod *nix istnieje tendencja do nie narzucania konkretnych narzędzi/edytorów podczas wspólnego tworzenia projektu, a to dlatego pojawiają się problemy" cross-IDE communication".

Na koniec, jeśli nauczysz się, powiedzmy, kdevelop lub netbeans, możesz mieć problemy, jeśli pewnego dnia będziesz musiał pracować na komputerze, na którym ich instalacja jest problematyczna (np. możesz nie mieć dostępnego środowiska Java runtime i możesz nie mieć pozwolenia na jego instalację). Jeśli nauczysz się (powiedzmy) wtyczek Vim+, jesteś o wiele bezpieczniejszy: możesz zachować swoją konfigurację jako .plik zip na twoim serwerze WWW i upewnij się, że Vim zawsze będzie dostępny wszędzie.

 1
Author: UncleZeiv,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-22 09:01:47

Naprawdę nie mogę ręczyć za Moduł Eclipse, ale to może być przypisane do tego, że jestem na Windowsie i prawie nie mam pojęcia, co robię.

Nie może się jednak pomylić z ulubionym edytorem tekstu.

 0
Author: user14563,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 02:19:39

Eclipse nie jest złe, ale trzeba robić rzeczy po Eclipse. Eclipse ma kilka wbudowanych pomysłów na układ katalogów. Dla nowego projektu Eclipse jest rozsądnym wyborem. Importowanie istniejącego projektu do Eclipse może wymagać pewnej restrukturyzacji.

Kiedyś używałem Eclipse pod QNX dla C++. Ludzie z QNX faktycznie rozwinęli możliwości C++, więc QNX miał IDE.

 0
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 03:47:29

Emacs działa dla prostych rzeczy, ale używam Eclipse dla każdego większego projektu.

 0
Author: ext,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 07:37:26