SQDev - SQF-Entwicklung der Zukunft

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • SQDev - SQF-Entwicklung der Zukunft

      Hallo Community

      Ich nutze an dieser Stelle die Gelegenheit um euch SQDev vorzustellen. Hierbei handelt es sich um ein von mir entwickeltes plugin für eclipse, einer weit verbreiteten Entwicklungsumgebung, mit dem Ziel die Entwicklung von SQF-Scripten so einfach und komfortabel wie nur irgend möglich zu machen.




      Features v0.7.1:
      • Editoren
        • Unterstützte Formate: .sqf , .sqdev, stringtable.xml, .ext, .cpp, .hpp
        • Live Syntax Check für SQF-Dateien (Fehler im Code werden sofort markiert)
        • SyntaxHighlighting
        • Macro-Highlighting
        • Autovervollständigung (optional)
        • Vervollständigungs-Vorschläge (Inklusive aller inkludierten Makros)
        • Öffne die BIKI-Seiten eines SQF-Befehls direkt aus dem Editor mit nur einem Klick!
        • Bleibe immer auf dem neuesten Stand mit der Update-Funktion für die SQF Befehle
        • Erweiterte Befehlsinformation: Informationen aus dem BIKI über die einzelnen Befehle können bequem im Editor eingesehen werden
        • HoverAssist: Fahre mit der Maus über einen Befehl im Code und erhalte entsprechende Informationen über ihn

      • Wizards: Mechanismus, der Standardaufgaben automatisieren
        • ProjectWizard: Erstellen neuer Projekte nach entsprechenden Bedürfnissen
        • ImportWizard
        • ExportWizard
        • NewFileWizard
      • UI Stringtable-Editor
        • Ermöglicht die Bearbeitung der Stringtable.xml via UI
        • Automatische XML-Generierung
        • Automatische Anpassung an direkte Änderungen der XML-Datei
        • XML-Parsing + rudimentäre Syntax-Kontrolle

      • Einstellungen: Jede Menge Möglichkeiten das Verhalten des plugins an den eigenen Geschmack und die eigenen Bedürfnisse anzupassen
      • Sonstiges:
        • Eigener RPTViewer - Sieh dir die Log-Dateien an, ohne eclipse verlassen zu müssen
        • Eigene SQDev-Perspektive in Eclipse - Anpassung der Oberfläche an die tatsächlichen Bedürfnisse fürs Scripten
        • ParseTree (Erreichbar über die Toolbar) - Visualisierung, wie ArmA den Code interpretieren wird (was wird als Argument für was betrachtet)


      Media:




      Download + Installation:
      • Eclipse installieren (Falls nicht schon geschehen) - Ganz egal welche der Ausgaben... Nur ne halbwegs aktuelle Version sollte es sein
      • Aktuelle Version des plugins herunterladen
      • In eclipse über Help -> Install New Software
      • Add...
      • "SQDev" in das Namensfeld eintragen
      • Archive... (Nun zu dem heruntergeladenen zip-file navigieren und auswählen)
      • Auf "Next" klicken bis das plugin installiert ist
      • Eclipse neu starten


      Roadmap:
      • Quickfixes: Automatische Vorschläge zum Beheben von Fehlern
      • IDE-Support von Funktionen
      • Code Templates
      • Modkompabilität
      • Debugger
      • Editoren für alle restlichen ArmA-files
      • und vieles mehr


      Issue-Tracker + SourceCode:

      Wenn du einen Bug findest oder dir ein neues Feature wünschst, dann schaue mal im IssueTracker vorbei und erstelle einen neuen Issue mit deinem Anliegen.
      Im Falle eines Bugs nutze doch bitte den "Plugin info creator". Dieser ist in der Toolbar (rotes Ausrufezeichen auf grünem Hintergrund) zu finden und sammelt ein paar Systeminformationen, die mir helfen den Bugs schneller auf die Schliche zu kommen :)

      Das gesamte Projekt wird hier auf GitHub als OpenSource-Projekt entwickelt, also wenn dich das Thema interessiert dann schaue gerne mal hinter sie Kulissen und wer weiß vielleicht hast du ja sogar Lust mich bei diesem Projekt zu unterstützen? Jede Hilfe ist natürlich sehr willkommen.

      Current Bugs:

      Für eine Liste an aktuellen Bugs: Klick mich!
      Entwickler von SQDev
      Co-Entwickler von OurAltis

      Dieser Beitrag wurde bereits 32 mal editiert, zuletzt von Raven ()

    • Hab nochmal ein paar Sachen gefunden, die ich verbessern musste :D

      Quellcode: Changelog 0.5.3

      1. | Fixed: Bug preventing you from exporting empty files
      2. | Fixed: Bug allowing you to give invalid names to projects/scripts
      3. | Changed: Initial content is now description header instead of scopeName
      4. | Changed: CharacterCompletion improved (disabled in Strings and in front of words)
      Entwickler von SQDev
      Co-Entwickler von OurAltis
    • Moin,

      erstmal vielen Dank für die Erstellung des Eclipse Plugins!

      Ich bin mit Eclipse nicht wirklich vertraut, so dass meine Fragen vielleicht eher was mit Eclipse zu tun hat als mit SQDev.

      Ich würde gerne auch die Variablen Autovervollständigen, so wie in Notepad++

      .ext Dateien werden automatisch weiterhin in Notepad++ geöffnet. Ist eine .ext Bearbeitung in Planung?

      bis_fncs Autovervollständigung kommt auch noch?
    • Commander schrieb:

      Ich würde gerne auch die Variablen Autovervollständigen, so wie in Notepad++

      .ext Dateien werden automatisch weiterhin in Notepad++ geöffnet. Ist eine .ext Bearbeitung in Planung?

      bis_fncs Autovervollständigung kommt auch noch?
      Allgemeine Antwort auf alles: Kommt noch :D

      1. Das ist das woran ich momentan arbeite. Die Sache ist nur, dass ich vor habe das ganze über den AST zu verwirklichen, den ich für zukünftige Features sowieso brauche. Deswegen habe ich mich dazu entschieden die Sache mit den Variablen nicht als extra-Flickschuster-Temporärlösung zu implementieren sondern eben noch etwas nach hinten zu schieben. Das ist aber momentan auch das Feature das ich am stärksten vermisse, also laufen die Arbeiten daran auf Hochtouren ^^
      2. Eciipse öffnet Dateien, für die es selber keinen eigenen Editor bereit hält Standardmäßig mit dem System-default Editor (Bei dir wohl NP++). Wenn du solche Dateien in eclipse öffnen willst dann kannst du über rechte Maustaste unter Open WIth den Text Editor auswählen, allerdings ist das dann wirklich nur ein Texteditor und ich denke du bist momentan noch besser mit NP++ dran. Und ja es ist definitiv ein .ext Editor geplant, sowie eig Editoren für alle Standard-ArmA-Formate (.hpp, .cpp, etc.). Die Frage ist nur, wann ich das hin bekomme...
      3. Jawoll auch das steht auf der ToDo-Liste. Und nicht nur für die von BI, sondern für alle Funktionen, die von installierten Mods zur Verfügung gestellt werden... Aber als erstes wahrscheinlich erstmal nür für BI-FUnktionen :rolleyes:


      Ich hoffe ich konnte dir damit helfen und wenn du weitere Fragen/Anmerkungen oder auch Kritik hast, dann immer her damit :thumbsup:
      Entwickler von SQDev
      Co-Entwickler von OurAltis
    • Commander schrieb:

      Das Auskommentieren wird noch nicht visuell dargestellt.
      Meinst du Mehrzeilige Kommentare? Die werden seltsamerweise markiert, sobald du einmal direkt neben dem öffnenden Tag etwas schreibst... Kann danach auch wieder entfernt werden, aber dann wirds markiert...
      Habs aber vergessen oben in die Liste zu schreiben, was ich jz noch schnell nachholen muss :)
      Entwickler von SQDev
      Co-Entwickler von OurAltis
    • So nach längerem gibt's nun die Version 0.6.0, bestehend hauptsächlich aus neuen Features (darunter auch der UI-Support für Variablen wie sichs @Commander gewünscht hat ;) )

      Quellcode: Changelog 0.6.0

      1. | Improved: Initial script header (added 2 trailing newLines)
      2. | Improved: SQF icon
      3. | Changed: All editors should now save in UTF-8 encoding
      4. | Added: Syntax attribute for commands
      5. | Added: Parsing for SQF files
      6. | Added: Parsing for Stringtable.xml files
      7. | Added: Stringtable editor
      8. | Added: ParseDelay preference
      9. | Added: Multi color syntax highlighting for keywords
      10. | Added: Option to reset keywords to last backup
      11. | Added: Code folding
      Alles anzeigen
      Eine neue StringTable kann wie ein neues SQF-file über einen wizard erstellen. Bereits vorhandene Stringatables sollten automatisch mit dem neuen Editor geöffnet werden...

      Und so sieht der neue Editor aus:
      Entwickler von SQDev
      Co-Entwickler von OurAltis

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Raven ()

    • Ich nutze die Gelegenheit und gebe mal ein kleines Statusupdate:
      Ich werde in nächster Zeit (diesen Monat) damit beschäftigt sein ein SQF-Projekt umzusetzen, was ich als Gelegenheit wahrnehme mein plugin mal ausführlich auf Herz und Nieren zu überprüfen und Bugs und Ähnliches aufzuspüren.

      Danach werde ich Version 0.6.1 in Angriff nehmen, in dem hoffentlich alle bis dahin bekannten Bugs beseitigt werden können und wahrscheinlich die eine oder andere kleine Verbesserung den Weg zur Implementierung findet. (Siehe hier für nähere Details)

      Anschließend daran werde ich den Syntax-Check in Angriff nehmen, der dann endlich alle Grundlagen, die bisher geschaffen wurden in Version 0.7.0 vereinen wird. Eventuell komme ich da sogar dazu endlich eine eigene Perspektive für SQDev zu implementieren, damit das Ganze noch etwas benutzerfreundlicher wird. Ich schätze mal, dass das etwa zu Herbstbeginn der Fall sein sollte (+-)... :thumbsup:
      Entwickler von SQDev
      Co-Entwickler von OurAltis
    • 0.6.1 Release

      Sooo... Hat etwas länger gedauert, als ursprünglich angeplant, aber dafür isses auch deutlich umfangreicher geworden :saint:

      Quellcode: Changelog 0.6.1

      1. | Added: Tanoa as terrain dropdown
      2. | Added: Macro/Preprocessor-support
      3. | Added: Preprocessor (syntax) check
      4. | Fixed: save problem caused by code folding [need Info]
      5. | Fixed: StringtableEditor not overtaking changes from the UI into the XML
      6. | Fixed: Error when opening SQDevFileEditor
      7. | Fixed: SQFParser no longer bails out with macros
      8. | Fixed: Bug in CommandUpdate preventing it from processing a few commmands (e.g. safeZoneY)
      9. | Fixed: Bug in syntax processing
      10. | Improved: StringtableEditor does no longer auto-collapse the tree in the UI
      11. | Improved: Languages columns in StringTableEditor now get sorted -> no arbitrary order anymore
      12. | Improved: CommandUpdate can now recover on error by retry or skip
      13. | Changed: Enabled error markers in SQF-editor
      Alles anzeigen


      Wenn ihr das neue Update einspielt, solltet ihr ein Command-Update machen, um den bisherigen Fehler bie der Prozessierung auszubessern.
      Während des Updates müsst ihr Eclipse im Fokus lassen, da 2 Mal eine Fehlermeldung auftauchen wird, bei der ihr den aktullen Befehl überspringen müsst.
      Dieser Fehler kommt daher, dass das BIKI momentan einen Bug hat, dass die Befehlsliste für unangemeldete User anderst aussieht, als für Angemeldete (In eben dieser Liste sind eben auch noch 2 Befehle drin, die es nicht mehr gibt)

      Gebt mir bitte Bescheid, ob bei euch ab und zu beim Speichern eines SQF-files noch eine Fehlermeldung kommt... Dann müsste ich mich diesem Problem nochmal zuwenden.

      Entwickler von SQDev
      Co-Entwickler von OurAltis

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Raven ()

    • Hm ja okay. Mir wurde schon berichtet dass es mit Eclipse Neon Probleme gibt... Ich hatte den Release von Neon gar nicht auf dem Schirm. Fürs erste würde ich empfehlen auf Eclipse Mars um zu steigen.

      Ich muss mal schauen was unter Neon nicht läuft, aber in den nächsten 3 Wochen werde ich leider nicht weiter entwickeln können.. :/

      Falls beim Öffnen des Editors unter Mars immer nich ein Fehler Auftritt dann versuche dich bitte was ich in dem oben verlinkten Fehler geraten habe :)
      Entwickler von SQDev
      Co-Entwickler von OurAltis
    • (Release-) Tester gesucht!

      Hallo zusammen,
      Da die Features meines Plugins immer mehr werden, habe ich so langsam keine Zeit mehr vor jedem Release alles nochmal selber zu checken, obs noch funktioniert oder ob das letzte Update evtl. iwo einen (kleinen) Bug in einem anderen Teil der Software verursacht hat (Z.B. dass ein Editor nicht mehr geöfnet werden kann).
      Darum suche ich nach Testern, die mit der jeweiligen Dev-Version ein weinig herum spielen und mir dann sagen können, ob alles so läuft, wie es soll.
      Ein weiterer Vorteil wäre, dass das Plugin so auch auf verschiedenen Betriebssystemen getestet werden kann... :D

      Das brauchst du um als Tester mit helfen zu können:
      • Die nötige Zeit (Wie viel du dafür brauchsr hängt ganz davon ab, wie ausführlich du testest, was aber vollkommen dir überlassen wird)
      • Motivation und ein wenig Experimentierfreude, um die verschiedenen Fgeatures auszutesten und an ihre Grenzen zu bringen
      Du brauchst allerdings keine Kenntnisse über die Implementierung des Plugins, noch musst du der super SQF-Crack sein, um das Plugin testen zu können.

      Warum solltest du dich als Tester melden?:
      • Du hast stets Zugriff auf die neueste Version des Plugins (Somit stehen dir neue Features teilweise Monate vor allen anderen zur Verfügung)
      • Du hilfst mit einen (mehr oder weniger) Fehlerfreien Release zu gewährleisten
      • Dein Feedback fließt direkt mit in den Entwicklungsprozess ein (Beispielsweise Kritik an der Umsetzung eines Features, o.ä.)


      So wirst du Tester:
      Einfach eine PM an @Raven oder eine Antwort in diesem Thread schreiben, in der ihr mir das mitteilt und außerdem hinzufügt auf welchem/welchen Betriebssystem(en) ihr das Plugin testen könnt.


      Ganz speziell werden momentan Tester mit folgenden Betriebssystemen gesucht:
      • Windows 10
      • Linux


      Entwickler von SQDev
      Co-Entwickler von OurAltis