Automatische Fehlerüberprüfung
Einleitung
In diesem Kapitel werden Sie lernen, wie Sie das Werkzeug LuaCheck benutzen, um Ihre 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
foobareine globale Variable sein soll, fügen Sie diese zuread_globalshinzu. Andernfalls fügen Sie alle fehlendenlocalzum Mod hinzu. - setting non-standard global variable foobar - Wenn
foobareine globale Variable sein soll, fügen Sie diese zuglobalshinzu. Entfernen Sie diese ausread_globals, falls vorhanden. Andernfalls fügen Sie alle fehlendenlocalzum Mod hinzu. - mutating read-only global variable ‘foobar’ - Verschieben Sie
foobarvonread_globalsnachglobalsoder 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.
- VSCode - Ctrl+P, dann einfügen:
ext install dwenegar.vscode-luacheck - Sublime - Installieren Sie mit Hilfe von package-control: SublimeLinter 🇬🇧, SublimeLinter-luacheck 🇬🇧.