Jego wszechstronność i kompaktowość sprawiły, że zyskała ogromną popularność wśród twórców gier, a zatem jest często wykorzystywana do tworzenia gier, silników gier i aplikacji komputerowych. Mając za sobą tak potężny rdzeń, niezwykle ważne jest posiadanie edytora, który zapewnia najlepsze funkcje i zaspokaja potrzeby jego użytkowników.
Emacs to jeden z takich przydatnych edytorów, który ze względu na swoją elastyczną i elastyczną naturę szybko stał się niezwykle wydajnym i potężnym narzędziem do użycia. Funkcje, takie jak integracja z git, wiele trybów edycji oraz wyszukiwanie i zastępowanie wyrażeń regularnych, pokazują dominującą obecność wśród szerokiego zestawu edytorów tekstu.
Jest niezwykle konfigurowalny, dzięki czemu można go łatwo skonfigurować do użycia jako C++ IDE. Dlatego dzisiaj przyjrzymy się, jak skonfigurować Emacsa do programowania w C++ i przekształcić go w C++ IDE.
Integracja C++ z Emacs
Aby zintegrować C++ z Emacsem, użyjemy kilku pakietów, takich jak autouzupełnianie, flycheck, magit itp. Przejdźmy teraz do procesu.
1) Dodawanie poleceń początkowych do pliku inicjującego
Po uruchomieniu Emacsa pierwszą rzeczą, która jest przetwarzana, jest plik inicjujący (plik init), który zawiera polecenia umożliwiające użytkownikom dostosowywanie i konfigurowanie Emacsa zgodnie z ich preferencjami.
Tak więc, aby Emacs działał jako C++ IDE, musimy dodać kilka poleceń do tego pliku.
Aby to zrobić, otwórz terminal i wprowadź następujące polecenie, aby otworzyć plik inicjujący:
$ emacs ~/.emacsTeraz musimy dodać następujące wiersze kodu:
(wymagaj 'pakietu)(dodaj-do-listy 'archiwa-pakietów
'("melpa" . „http://melpa.org/pakiety/") t)
(zainicjuj pakiet)
(chyba że (package-installed-p 'use-package)
(pakiet-odświeżanie-zawartość)
(pakiet-instalacja 'użyj-pakietu))
(użyj pakietu spróbuj :zapewnij t)
(use-package which-key :ensure t :config (który-key-mode))
Powyższy kod w zasadzie dodaje archiwum Melpa do listy repozytoriów pakietów znajdujących się w Emacsie i pozwala na ich używanie.
Ponadto instaluje pakiet use-package, który może być używany do instalowania innych pakietów, konfigurowania powiązań klawiszy i konfigurowania różnych trybów Emacsa.
2) Dodanie pakietu Yasnippet
Gdy zakończymy konfigurowanie naszego Emacsa z początkową zawartością, dodamy teraz pakiet yasnippet, który jest rozszerzeniem fragmentu kodu dla Emacsa, a zatem zapewnia szablony funkcji dla wielu języków, w tym C++.
Aby dodać to do naszego pliku inicjującego, najpierw musimy go zainstalować. Aby to zrobić, otwórz Emacsa i naciśnij Alt + X i wejdź lista-pakietów-pakietów. Teraz hit Ctrl + s i wyszukaj yasnippet. Kontynuuj klikanie Ctrl + s, aż znajdziesz pakiet: yasnippet-snippets.
Możesz go kliknąć i wybrać zainstaluj lub nacisnąć ja śledzony przez x zainstalować pakiet yasnippet.
Po zainstalowaniu yasnippet, naciśnij Ctrl + X, śledzony przez Ctrl + F, i otwórz ~/.plik emacs. Wewnątrz tego dodaj następujące wiersze kodu:
(wymagaj 'yasnippet)(tryb yas-global 1)
Po prostu uderz Ctrl + X, śledzony przez Ctrl + S aby zapisać plik i ponownie uruchomić Emacs. Teraz otwórz kilka plików C++ i zobaczysz opcje rozwijane, takie jak te, które udostępniają fragment po kliknięciu.
Opcje rozwijane:
Fragment kodu jest podawany po kliknięciu jednej z opcji:
3) Dodawanie dodatkowych pakietów
Teraz dodamy kilka dodatkowych pakietów, które dadzą nam więcej funkcji w Emacsie dla rozwoju C++.
Przede wszystkim dodamy tryb autouzupełniania, co, jak sama nazwa wskazuje, jest rozszerzeniem autouzupełniania. Dodaj następujące wiersze kodu do pliku inicjującego:
(autouzupełnianie pakietu use-pack:upewnij się, że
:w tym
(prog
(ac-config-default)
(tryb globalnego autouzupełniania)
))
Następnie dodamy flycheck, co pomaga w sprawdzaniu składni poprzez zgłaszanie błędów i ostrzeżeń. W tym celu do naszego pliku startowego należy dodać:
(autouzupełnianie pakietu use-pack(użyj pakietu flycheck
:upewnij się, że
:w tym
(tryb globalnego sprawdzania much)
Na koniec dodamy nowoczesna czcionka c++ pakiet, który zapewnia podświetlenie składni najnowszego języka C++.
(użyj pakietu modern-cpp-font-lock:upewnij się, że)
4) Integracja z Git za pomocą Magit
Emacs umożliwia również integrację z Git za pomocą Magit, narzędzia git, które działa jako interfejs do Git. Możemy to uwzględnić w Emacsie, dodając następujące wiersze kodu do naszego pliku inicjującego:
(użyj pakietu magit:upewnij się, że
:w tym
(prog
(klawisz wiązania "C-x g" 'status magit)))
Tutaj ustawiamy powiązanie klawiszy za pomocą klawiszy Ctrl + X śledzony przez sol, co pozwala nam zobaczyć status naszych plików (nieśledzone, postawione, zatwierdzenia).
Aby zobaczyć polecenia Magita, naciśnij znak zapytania (?) klucz. Niektóre polecenia, które zostaną pokazane, to:
Za ich pomocą możemy zintegrować nasze pliki z kontrolą wersji Git.
5) Kompilowanie i uruchamianie kodu C++
Do kompilowania i uruchamiania kodu C++ na Emacsie użyjemy funkcji niestandardowej i debuggera GDB. To znacznie ułatwia ten proces w porównaniu z tworzeniem plików make-file, a następnie ich kompilacją i budowaniem. Aby to zrobić, najpierw dodaj następujący kod do pliku inicjującego:
(defun kompilacja kodu ()(interaktywny)
(chyba że (file-exists-p "Makefile")
(set (make-local-variable 'polecenie-kompilacji)
(let ((plik (nazwa-pliku-pozakatalogowa nazwa-bufora-pliku)))
(format "%s -o %s %s"
(if (equal (plik-rozszerzenie-pliku) "cpp") "g++" "gcc" )
(plik-nazwa-sans-plik rozszerzenia)
plik)))
(skompiluj polecenie kompilacji)))
(global-set-key [f9] 'kompilacja kodu)
Powyższy kod pozwala nam skompilować plik C++ za pomocą f9 klucz.
Po kompilacji, aby uruchomić plik C++, naciśnij Alt + x i wpisz gdb. Otrzymasz coś takiego:
Po prostu kliknij enter, a gdb się uruchomi. Teraz kliknij Biegać przycisk znajdujący się na górze Emacsa, aby uruchomić program C++++.
Poniższy obraz przedstawia uruchamiany kod C++:
Dlaczego warto używać Emacsa dla C++?
Emacs to potężny edytor tekstu, który oferuje użytkownikom tak wiele niesamowitych funkcji features. Łatwo konfigurowalny, Emacs może być łatwo skonfigurowany przez użytkowników zgodnie z ich potrzebami i preferencjami. Mogą zmieniać motywy, style czcionek i wiele więcej. Jest to niezbędny edytor dla użytkowników pragnących większej swobody w swojej pracy.