2009-10-21 8 views
13

Moje zwykłe narzędzia to Emacs z g ++ w systemie Linux do implementacji moich algorytmów badawczych. Od kilku lat używam emacs w dość podstawowy sposób. Otwieram pliki C lub C++, edytuję je za pomocą wybranego przeze mnie schematu podświetlania składni, kompiluję i robię inne rzeczy z emacsa (lub może z terminala), włączając w to używanie gdb w emacs do debugowania. Wiem o etagach i ctagach i grałem trochę z etagami i emacami, ale wydaje mi się, że nie znalazłem tego "słodkiego miejsca" przy pomocy narzędzi.emacs, etagi i używanie emacsa jako IDE

Zastanawiam się, co inni robią, aby skonfigurować emacs tylko po to, aby dobrze pasowały do ​​etag i innych narzędzi? Jakie ulepszenia trzeba zrobić, aby emacs stał się lepszym IDE?

Odpowiedz

16

W celu dodania informacji o tagach, polecam również GNU Global. CScope też może wiele zrobić. W obu przypadkach zapewniają sposób na znalezienie lokalizacji znacznika według nazwy, a także zastosowania określonego znacznika.

Dla "IDE Stuff" jest coś więcej niż system oznaczania. W tym celu polecam zestaw narzędzi dla Emacsa CEDET. Zapewnia to system zarządzania projektami (EDE), który może tworzyć pliki Makefile w celu skompilowania kodu. Istnieje również część analizy parsowania i analizy kodu (semantyczna), która zapewnia inteligentne uzupełnianie. Istnieje system generowania szablonów/kodów (kod SRcode), który może konwertować znaczniki z semantycznego z powrotem na kod. Istnieje nawet edytor diagramów UML (COGRE), który może generować kod ze schematu klas, który rysujesz w Emacs.

Większość osób korzystających z CEDET korzysta tylko z parsera i systemów inteligentnego uzupełniania, prawdopodobnie w połączeniu z ECB, i można używać tylko części CEDET.

Dla dobra CEDET będzie również integrował się z globalnymi bazami danych GNU, aby można było odwoływać się do zastosowań symboli oprócz lokalizacji znaczników wraz ze zwykłym interfejsem GNU Global dla Emacs.

+0

2samix: może Ci się przydać mój artykuł o CEDET - http://xtalk.msk.su/~ott /en/writings/emacs-devenv/EmacsCedet.html –

3

Niedawno zaczęliśmy używać GNU Global jako zamiennika dla etagów i byłem pod dużym wrażeniem. Używamy również idutils, która zapewnia szybki sposób wyszukiwania dowolnych ciągów w kodzie źródłowym.

+0

Czy mógłbyś nieco wyjaśnić, dlaczego wolisz Gnu Global niż etaty? Po raz pierwszy słyszę o Gnu Global i nic o tym nie wiem. Zastanawiam się, jak to się ma do Etags. Ze strony internetowej Gnu Global wiem, że obsługuje mniej języków, ale ja głównie interesuję się C i C++, więc to nie jest prblem. Dzięki. – user193272

+1

znacznie szybsze wyszukiwanie, gtags są również używane w CEDET i pozwala znaleźć połączenia do konkretnych funkcji, itp. –

+1

Zgadzam się z Alex, gtags są znacznie szybsze niż etagi i generalnie bardziej dokładne. Znalazłem kilka problemów, w których nieprawidłowo parsował kod, ale w większości przypadków działa to dobrze. – MikeT