Um die wichtigsten Aktionen die wir bisher über das Terminal ausgeführt haben, auch innerhalb von Visual Studio Code ausführen zu können, legen wir uns zwei neue Konfigurationsdateien an.

Falls noch nicht geschehen erstellen Sie einen neuen Ordner, auf der obersten Ebene Ihres Projektordners mit dem Namen .vscode – Der Punkt am Anfang ist wichtig. In diesem Ordner liegt die Projektkonfiguration für VSCode.

Tasks

Tasks sind eine Funktion von VSCode um vordefinierte Aktionen über Menüs und Tastenkombinationen bereitzustellen. Alle Tasks werden in der Konfigurationsdatei /.vscode/tasks.json definiert. Falls diese Datei bei Ihnen noch nicht existiert, erzeugen sie sie jetzt und fügen sie folgenden Inhalt ein:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "Make",
            "command": "make -C ${fileDirname}",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "type": "shell",
            "label": "Make Run",
            "command": "make run -C ${fileDirname}",
            "group": "none"
        },
        {
            "type": "shell",
            "label": "Make Clean",
            "command": "make clean -C ${fileDirname}",
            "group": "none"
        }
    ]
}

Hiermit haben wir 3 Tasks definiert. Sie finden diese Tasks in VSCode im Menü Terminal. Über den Menüpunkt Run Build Task oder auch direkt mit der Tastenkombination Ctrl+Shift+B wird der Make Task ausgeführt, und es passiert das gleiche als würden Sie manuell im Terminal make eintippen. Die anderen beiden Tasks können über den Menüpunkt Run Task… erreicht werden.

Testen Sie ob Make Clean und Make Run korrekt funktionieren.

Launch Configurations

Launch Configurations defineren welche Aktionen im Debug Bereich von VSCode angezeigt werden und ausgeführt werden können. Wir definieren hier lediglich einen einzigen Task, der jeweils das aktuell ausgewählte Kapitel startet und zum Debuggen bereit macht.

Alle Launch Configurations werden in der Konfigurationsdatei /.vscode/launch.json definiert. Falls diese Datei bei Ihnen noch nicht existiert, erzeugen Sie sie jetzt und fügen Sie folgenden Inhalt ein:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug Active Project",
            "type": "lldb",
            "request": "launch",
            "program": "${fileDirname}/bin/engine",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "lldb",
            "preLaunchTask": "Make"
        }
    ]
}

Wenn Sie nun Ihre main.c Datei im Editor öffnen, dann in den Debug Bereich der Anwendung wechseln, erscheit dort die hier definierte Config “Debug Active Project”. Durch Klick auf den grünen Pfeil können Sie das Debugging starten. Alternativ können Sie auch einfach F5 drücken.

Setzen Sie einen Breakpoint und testen Sie ob das Debugging funktioniert.