Emacs

Konfiguracja Emacsa dla C++

Konfiguracja Emacsa dla C++
C++ to język programowania znany z nieskazitelnej wydajności i potężnych funkcji, które oferują użytkownikom większą kontrolę nad rzeczywistym sprzętem bez schodzenia do poziomu języka asemblera. Mając ogromny ekosystem bibliotek, frameworków i narzędzi wraz z szeroko rozwiniętą społecznością oraz dużą liczbą samouczków i przewodników wraz z doskonałą dokumentacją do tworzenia kopii zapasowych, C++ stał się jednym z najpopularniejszych języków programowania, używanym prawie wszędzie.

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 ~/.emacs

Teraz 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.

Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...
Mouse left-click button not working on Windows 10
If you are using a dedicated mouse with your laptop, or desktop computer but the mouse left-click button is not working on Windows 10/8/7 for some rea...