minetest_modding_book/_de/quality/luacheck.md
debiankaios 8fb0813f5f All by gamer777:
- Translation of unit_testing.md
- 2 Corrections by him
2022-11-27 15:34:35 +01:00

3.6 KiB

title layout root idx description redirect_from
Automatische Fehlerüberprüfung default ../.. 8.2 Verwenden Sie LuaCheck, um Fehler zu finden /de/chapters/luacheck.html

Einleitung

In diesem Kapitel werden Sie lernen, wie Sie das Werkzeug LuaCheck benutzt, um Ihren Mod auf Fehler zu überprüfen. Dieses Werkzeug kann in Kombination mit deinem Editor verwendet werden, um auf Fehler aufmerksam zu machen.

Installation von LuaCheck

Windows

Laden Sie einfach luacheck.exe von der Github-Releaseseite herunter.

Linux

Zuerst müssen Sie LuaRocks installieren:

sudo apt install luarocks

Sie können LuaCheck dann global (also für alle Benutzer) installieren:

sudo luarocks install luacheck

Prüfen Sie mit dem folgenden Befehl, ob es installiert ist:

luacheck -v

LuaCheck ausführen

Wenn Sie LuaCheck zum ersten Mal ausführen, wird es wahrscheinlich eine Menge falscher Fehler erkennen. Das liegt daran, dass es noch konfiguriert werden muss.

Unter Windows öffnen Sie die Powershell oder Bash im Stammverzeichnis Ihres Projekts und führen Sie path\to\luacheck.exe aus.

Unter Linux führen Sie luacheck aus, während Sie sich im Stammordner Ihres Projekts befinden.

LuaCheck konfigurieren

Erstellen Sie eine Datei namens .luacheckrc im Stammverzeichnis Ihres Projekts. Dies kann das Stammverzeichnis Ihres Spiels, Modpacks oder Mods sein.

Fügen Sie den folgenden Inhalt in diese Datei ein:

unused_args = false
allow_defined_top = true

globals = {
    "minetest",
}

read_globals = {
    string = {fields = {"split"}},
    table = {fields = {"copy", "getn"}},

    -- Eingebaut
    "vector", "ItemStack",
    "dump", "DIR_DELIM", "VoxelArea", "Settings",

    -- MTG
    "default", "sfinv", "creative",
}

Als nächstes müssen Sie testen, ob es funktioniert, indem Sie LuaCheck ausführen. Diesmal sollten Sie viel weniger Fehler erhalten. Ändern Sie ab dem ersten Fehler, den Sie erhalten, den Code, um um das Problem zu beseitigen oder ändern Sie die Konfiguration, wenn der Code korrekt ist. Siehe die Liste unten.

Fehlerbehebung

  • accessing undefined variable foobar - Wenn foobar eine globale Variable sein soll, fügen Sie diese zu read_globals hinzu. Andernfalls fügen Sie alle fehlenden local zum Mod hinzu.
  • setting non-standard global variable foobar - Wenn foobar eine globale Variable sein soll, fügen Sie diese zu globals hinzu. Entfernen Sie diese aus read_globals, falls vorhanden. Andernfalls fügen Sie alle fehlenden local zum Mod hinzu.
  • mutating read-only global variable 'foobar' - Verschieben Sie foobar von read_globals nach globals oder hören Sie auf, in foobar zu schreiben.

Verwendung mit einem Editor

Es wird dringend empfohlen, dass Sie ein Plugin für den Editor Ihrer Wahl finden und installieren, das Ihnen Fehler anzeigt, ohne dass Sie einen Befehl ausführen müssen. Für die meisten Editoren ist wahrscheinlich ein Plugin verfügbar.