Emacs

Emacs configureren voor C++

Emacs configureren voor C++
C++ is een programmeertaal die bekend staat om zijn onberispelijke prestaties en krachtige functies die gebruikers meer controle bieden over de eigenlijke hardware zonder te vervallen tot het niveau van assembler. Met een enorm ecosysteem van bibliotheken, frameworks en tools, samen met een breed ontwikkelde community en een groot aantal tutorials en handleidingen naast de uitstekende documentatie om het te ondersteunen, is C++ een van de meest populaire programmeertalen geworden, die bijna overal wordt gebruikt.

De veelzijdigheid en compactheid hebben ertoe geleid dat het een enorme naam heeft ontwikkeld onder game-ontwikkelaars en wordt daarom vaak gebruikt om games, game-engines en desktop-applicaties te ontwikkelen. Met zo'n krachtige kern die erachter zit, is het uiterst belangrijk om een ​​editor te hebben die de beste functies biedt en de behoeften van zijn gebruikers faciliteert.

Emacs is zo'n handige editor die, vanwege zijn flexibele en aanpasbare karakter, snel is uitgegroeid tot een uiterst efficiënt en krachtig hulpmiddel om te gebruiken. Functies zoals git-integratie, meerdere bewerkingsmodi en regex zoeken en vervangen tonen de indrukwekkende aanwezigheid die het heeft in de brede reeks teksteditors.

Omdat het extreem aanpasbaar is, kan het dus eenvoudig worden geconfigureerd om te worden gebruikt als een C++ IDE. Daarom zullen we vandaag bekijken hoe men Emacs voor C++ Development kan configureren en er een C++ IDE van kan maken.

Integratie van C++ met Emacs

Om C++ met Emacs te integreren, zullen we verschillende pakketten gebruiken, zoals auto-complete, flycheck, magit, enz. Laten we nu verder gaan met het proces.

1) De initiële opdrachten toevoegen aan het initialisatiebestand

Bij het starten van Emacs is het eerste dat wordt verwerkt het initialisatiebestand (init-bestand), dat opdrachten bevat waarmee gebruikers Emacs kunnen aanpassen en instellen volgens hun voorkeuren.

Dus om Emacs als een C++ IDE te laten werken, moeten we enkele opdrachten aan dit bestand toevoegen.

Open hiervoor de terminal en voer de volgende opdracht in om het initialisatiebestand te openen:

$ emacs ~/.emacs

Nu moeten we de volgende regels code toevoegen:

(vereisen 'pakket)
(toevoegen aan lijst 'pakketarchieven'
'("melpa" . "http://melpa.org/pakketten/") t)
(pakket-initialiseren)
(tenzij (pakket-geïnstalleerd-p 'gebruik-pakket)
(pakket-vernieuwen-inhoud)
(pakket-install 'use-package))
(gebruik-pakket probeer: zorg ervoor t)
(gebruik-pakket welke-sleutel: zorg ervoor t:config (welke-sleutel-modus))

De hierboven gegeven code voegt in feite het Melpa-archief toe aan de lijst met pakketrepository's in Emacs en staat het toe om deze pakketten te gebruiken.

Verder installeert het het use-pakket, dat kan worden gebruikt om andere pakketten te installeren, toetsbindingen in te stellen en verschillende Emacs-modi te configureren.

2) Het Yasnippet-pakket toevoegen

Zodra we klaar zijn met het instellen van onze Emacs met de initiële inhoud, zullen we nu het yasnippet-pakket toevoegen, wat een fragmentextensie is voor Emacs en daarom functiesjablonen biedt voor meerdere talen, waaronder C++.

Om dit toe te voegen aan ons initialisatiebestand, moeten we het eerst installeren. Open hiervoor Emacs en druk op Alt + x en ga naar binnen pakket-lijst-pakketten. Nu hit Ctrl + s en zoek naar yasnippet. Blijf op Ctrl + s klikken totdat je het pakket hebt gevonden: yasnippet-fragmenten.

U kunt erop klikken en installeren selecteren of op . klikken ik gevolgd door X om het yasnippet-pakket te installeren.

Na het installeren van yasnippet, druk op Ctrl + x, gevolgd door Ctrl + f, en open de ~/.emacs-bestand. Voeg hierin de volgende regels code toe:

(vereist 'yasnippet)
(yas-global-mode 1)

Gewoon raken Ctrl + X, gevolgd door Ctrl + S om je bestand op te slaan en Emacs opnieuw te starten. Open nu enkele C ++ -bestanden en u kunt dergelijke vervolgkeuzeopties zien, die u een fragment geven wanneer u erop klikt.

Dropdown-opties:

Het fragment wordt weergegeven nadat u op een van de opties hebt geklikt:

3) Enkele extra pakketten toevoegen

Nu gaan we wat extra pakketten toevoegen die ons meer functionaliteiten zouden geven in Emacs voor C++-ontwikkeling.

Allereerst zullen we de . toevoegen modus voor automatisch aanvullen, wat, zoals de naam al aangeeft, een auto-complete extensie is. Voeg de volgende regels code toe aan uw initialisatiebestand:

(gebruik-pakket automatisch aanvullen)
:zorg ervoor dat
:in het
(prog
(ac-config-standaard)
(global-auto-complete-mode t)
))

Vervolgens zullen we een toevoegen vliegcontrole, wat helpt bij het controleren van de syntaxis door fouten en waarschuwingen te melden. Om dit te doen, moet het volgende worden toegevoegd aan ons init-bestand:

(gebruik-pakket automatisch aanvullen)
(gebruik-pakket flycheck)
:zorg ervoor dat
:in het
(global-flycheck-modus t))

Als laatste voegen we de modern c++-lettertype pakket, dat syntaxishoogtepunten van de nieuwste C++-taal biedt.

(gebruik-pakket modern-cpp-font-lock
:verzeker t)

4) Git-integratie met Magit

Emacs maakt ook integratie met Git mogelijk met behulp van Magit, een git-tool die fungeert als een interface voor Git. We kunnen dit in Emacs opnemen door de volgende regels code toe te voegen aan ons initialisatiebestand:

(gebruik-pakket magit
:zorg ervoor dat
:in het
(prog
(bind-toets "C-x g" 'magit-status)))

Hier hebben we een key bind opgezet met behulp van de toetsen Ctrl + x gevolgd door g, waarmee we de status van onze bestanden kunnen zien (untracked, staged, commits).

Om de commando's van Magit te zien, druk op het vraagteken (?) sleutel. Enkele commando's die getoond zullen worden zijn:

Hiermee kunnen we onze bestanden integreren met het versiebeheer Git.

5) C++-code compileren en uitvoeren

Voor het compileren en uitvoeren van de C++-code op Emacs maken we gebruik van een aangepaste functie en de GDB-debugger. Dit maakt het proces veel eenvoudiger in vergelijking met het maken van make-bestanden en deze vervolgens te compileren en te bouwen.  Voeg hiervoor eerst de volgende code toe aan uw initialisatiebestand:

(defun code-compileren ()
(interactief)
(tenzij (bestand-bestaat-p "Makefile")
(set (make-local-variabele 'compile-commando)
(let ((bestand (bestandsnaam-niet-map bufferbestandsnaam)))
(formaat "%s -o %s %s"
(if (gelijk aan (bestandsnaam-extensiebestand) "cpp") "g++" "gcc")
(bestandsnaam-sans-extensiebestand)
het dossier)))
(compileer compileer-commando)))
(global-set-key [f9] 'code-compileren)

Met de bovenstaande code kunnen we een C++-bestand compileren met behulp van de f9 sleutel.

Na het compileren, om het C++-bestand uit te voeren, drukt u op Alt + x en voert u gdb . in. Je krijgt zoiets als dit:

Klik gewoon op enter en gdb zal starten. Klik nu op de Rennen knop gevonden bovenop Emacs om het C++ programma uit te voeren.

De volgende afbeelding toont de C++-code die wordt uitgevoerd:

Waarom Emacs gebruiken voor C++?

Emacs is een zeer krachtige teksteditor die zijn gebruikers zoveel geweldige functies biedt. Omdat Emacs gemakkelijk aanpasbaar is, kan het eenvoudig door gebruikers worden ingesteld op basis van hun behoeften en voorkeuren. Ze kunnen thema's, lettertypestijlen en nog veel meer wijzigen. Het is een onmisbare editor voor gebruikers die meer vrijheid willen in hun werk.

Met WinMouse kunt u de beweging van de muisaanwijzer op Windows-pc aanpassen en verbeteren
Als u de standaardfuncties van uw muisaanwijzer wilt verbeteren, gebruik dan freeware WinMuis. Het voegt meer functies toe om u te helpen het meeste u...
Linkermuisknop werkt niet op Windows 10
Als u een speciale muis gebruikt met uw laptop of desktopcomputer, maar de linkermuisknop werkt niet not op Windows 10/8/7 om wat voor reden dan ook, ...
Cursor springt of beweegt willekeurig tijdens het typen in Windows 10
Als u merkt dat uw muiscursor vanzelf springt of beweegt, automatisch, willekeurig tijdens het typen op een Windows-laptop of -computer, dan kunnen en...