MTA Visual Studio Code Syntax-Highlighter

  • Da ich ein paar Sachen für MTA schreiben musste, ich VSCode liebe und niemanden gefunden hab der eine Syntax-Highlighter Erweiterung für VSCode geschrieben hat hab ich mal kurzer Hand das übernommen :). Wollte eigentlich noch code vervollständigung einbauen, aber hab mich noch nicht eingelesen wie das funktionieren soll. Werd ich aber eventuell noch hinzufügen. Wer Änderungswünsche oder Verbesserungen vorschlagen will kann auf Github ein Ticket öffnen:
    https://github.com/Subtixx/vscode-mtalua




    Erweiterung auf dem Marktplatz:
    https://marketplace.visualstud…temName=subtixx.mtasa-lua


    EDIT:
    Jetzt mit WIP Code completion! Ich würde mich freuen wenn ein paar Leute helfen würden mit testen / die Beschreibungen, Argumente etc. zu bearbeiten. Das ganze wurde vom Wiki rauskopiert per Script und ist deshalb nicht 100% korrekt.



    EDIT2:


    Für alle Typescript liebhaber gibts jetzt auch mtasa-ts!
    https://github.com/Subtixx/mtasa-typescript

    3 Mal editiert, zuletzt von Sub_tixx ()

  • Erst einmal danke für die Info allerdings falls es Syntax Highlighting beinhaltet steht davon in der Beschreibung und in den Kategorien nichts :/
    Hatte die Erweiterung auch gefunden gehabt. Nur von der Beschreibung her und dem Namen sieht es mir eher nach einem Debugger als nach Syntax-Highlighting und Code Completion aus


    Und wegen kombinieren, wäre Jusonex glaube ich nicht begeistert von. Der Code für Code Completion ist eher ein Bodge als korrekt geschrieben. Normlerweise sollte man das mit nem Language Server schreiben (Keine ahnung hatte mich nicht weit eingelesen). Ich hab einfach alle MTA Funktionen in eine TS Datei gequetscht. Weil es mir dann doch zuviel Arbeit es richtig zu machen, so wie es ist funktioniert es, obwohl es im Hintergrund natürlich hässlich aussieht... Außerdem denke ich das der ganze bloat von MTA-Lua der Qualitativ hochwertigen Erweiterung von MTAD nicht gerecht wäre.

    2 Mal editiert, zuletzt von Sub_tixx ()

  • Es gibt jetzt eine neue beta Version auf meinem Github. Wer derzeit MTA:Lua nutzt könnte mithelfen beim Verbessern indem er die beta Version installiert und Feedback gibt.


    Neu:


    Signature Help Provider
    Es werden nun Argumente beim Ausschreiben angezeigt




    Hover Provider
    Beim drüber halten des Cursors werden nun Hilfen angezeigt.


    Performance Verbesserungen
    Es wird jetzt beim starten des Plugins eine Lookup-Liste erzeugt welche dann von VSCode durchsucht werden kann.


    Definitionen wurden aufgeteilt
    Um die Übersicht zu behalten wurden die Definitionen aufgeteilt in 3 4 verschiedene Dateien (Server, Client, Shared, LuaLibs).


    Bitte beachte das dies ein Beta update ist. Mit Fehler muss gerechnet werden.


    PS:
    Ein danke geht an meine Starbound LUA Erweiterung, welche vieler dieser neuen Funktionen gespendet hat :).


    TL;DR
    Hilf mir bitte die neue Version zu testen :)

    2 Mal editiert, zuletzt von Sub_tixx ()

  • Ab sofort steht Version 2.1.0 zum Download bereit.
    - Ein paar Funktionen zur Code Completion wurden hinzugefügt die gefehlt hatten. (Danke an Github User Loki214 welcher sich die Mühe gemacht hat)
    - Konstante wie "localPlayer" "root" und "rootElement" werden nun auch im Syntax Highlighter hervorgehoben.
    - Es gibt eine neue Kategorie namens "Deprecated" wo viele Funktionen drin sind welche zwar noch in MTA existieren, aber jederzeit rausfliegen können (Werden auch Farblich abgehoben: https://i.imgur.com/gTJyj4C.png)
    - Typen wie "string" "element" "vehicle" usw. werden nun in Code Completion Popups Farblich gekennzeichnet. (Vorschau: https://i.imgur.com/vFoaONr.png) (Yep. Viele der Beschreibungen sind nicht korrekt. Das liegt daran das es so viele Funktionen gibt und das alles per Hand zu machen würde Tage, wenn nicht sogar Wochen dauern.)


    EDIT:
    Nun ist die README auch etwas "professioneller" und zeigt nun auch die neuen "Funktionen" (Link dazu hier)
    Beispiel hier



    Wer noch weitere Verbesserungsvorschläge oder Fehler gefunden hat kann gerne auf Github ein "Issue" öffnen.


    Viel Spaß mit MTA:SA Lua 2.1.0


    Mfg

    Einmal editiert, zuletzt von Sub_tixx ()

  • Frohes neues <3!


    Lange gab es kein Update mehr, doch dies ändert sich heute mit v2.2.0


    Und was gibts neues?


    Mit der v2.2.0 könnt ihr nun aus VSCode heraus direkt Meta Dateien, Client-side Lua Scripts und Server-side Lua scripts erstellen.



    Das ganze sieht dann so aus:


    Nun gibt es auch endlich eine Einstellungsseite (eine Einstellung gab es früher schon, doch sie wurde nicht angezeigt):


    EDIT v.2.2.5:
    Nach ausführlichem nutzen der Erweiterung ist mir aufgefallen das dass generieren einer Client file nicht funktioniert. Dies wird mit v2.2.5 behoben (Sollte heute rauskommen), ausserdem wird die v2.2.5 das auto-adding für Meta files erlauben. Heißt im ganzen: Klick auf "New MTA Client file" -> "helloWorld" wird eingegeben -> c_helloWorld.lua wird generiert und in die Meta.xml eingetragen. Außerdem wird es möglich sein so auch global / shared files zu generieren.


    EDIT 10:51 08.01.2019:
    Update ist nun live


    EDIT v2.3.0:
    Woops und schon wieder ein Update auf github :)


    Mit MTA:SA Lua und WebAdmin (MTA Resource) ist es nun möglich per Rechtsklick oder CTRL+SHIFT+P -> Start resource, eine Resource zu starten, stoppen, und zu restarten. Außerdem gibt es die möglichkeit in den Einstellungen zu konfigurieren ob "Restart on Save" an ist. Dies restartet automatisch die Resource wenn ihr eine LUA Datei mit mtalua syntax speichert.


    EDIT v2.3.1:
    Okay nun wirds verrückt :), wieder ein Update! Heute gibts alle 1.5.6 funktionen + deprecations und ein paar kleinere bug fixes bei bereits existierenden funktionen. Viel Spaß :)


    EDIT v2.3.2:
    Wieder ein Update :). Heute gibts eine Einstellung um nur relevante Funktionen anzeigen zu lassen, das heißt z.b. wenn ihr in einer Client-Side Datei seid (z.b. myScript_c.lua) werden nur Clientseitige Funktionen und Shared Funktionen im Completion Popup angezeigt. Außerdem wurden ein paar Funktionen die Doppelt hinzugefügt wurden gelöscht. Und zu guter letzt wird die Seite (Clientside, Serverside, Shared) im Popup nun auch angezeigt


    EDIT:
    Bitte meldet wenn ihr Fehler findet oder funktionen fehlen / fehlerhaft sind


    EDIT v2.3.5:
    Updates, Updates, Updates :P. Nervig wenn man extra in den Browser muss, Wiki aufrufen, Funktionsname suchen und dann kann man endlich nachlesen wie eine Funktion zu nutzen ist. Damit ist nun Schluss :P. Einfach die Einstellung "mtalua-sense.show_reference_links" auf true setzen und schon bekommt man schöne Links in VSCode welche es einem erlauben mit gedrückter STRG Taste direkt das Wiki aufzurufen:


    8 Mal editiert, zuletzt von Sub_tixx ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!