Zeige Ergebnis 1 bis 10 von 10
  1. #1

    Werkzeug - vjasside

    Aktualisierungen:
    -

    Hinweis:
    Nachdem ich schließlich vor hatte, doch eine Kate-Erweiterung anstatt einer völlig eigenen mit Qt geschriebenen IDE zu schreiben und dieses Vorhaben leider teils aus technischen und teils aus Motivationsproblemen nicht zustande gebracht habe, liegt dieses Projekt momentan auf Eis.
    Der Quell-Code ist natürlich trotzdem frei verfügbar und falls Bedarf bestehen sollte, könnte ich die Entwicklung auch wieder aufnehmen.

    Vorwort:
    Hallo zusammen,
    heute möchte ich die erste Vorabversion meines zweiten, noch unfertigen Programms vjasside veröffentlichen. Zunächst einmal sei gesagt, dass diese Version nicht für den eigentlichen Endanwender gedacht ist. Dazu ist das Programm leider noch zu instabil und unfertig. Trotzdem halte ich es für sinnvoll, den Quell-Code möglichst früh, insofern auch eine Zukunft für das Programm absehbar ist, zu veröffentlichen. Außerdem kann ich so schon früh auf die Wünsche der potenziellen Endanwender eingehen.
    Nun aber zur Beschreibung des Programms: vjasside ist, wie der Name schon sagt, eine IDE (integrierte Entwicklungsumgebung) für die Skriptsprachen Jass und vJass.
    Ich entschloss mich irgendwann im letzten Jahr dazu, es zu entwickeln, da die einzigen halbwegs vernünftigen Jass-IDEs - JassCraft (nur für Jass) und TESH (im Welteneditor integriert) - nur unter Windows benutzbar waren und sind.
    Da ich selbst aber ein leidenschaftlicher Linux-Benutzer war und bin, machte mir das öfters zu schaffen, da der Welteneditor unter Linux nicht funktioniert (auch nicht mit wine).
    Nun wäre es natürlich das Naheliegenste gewesen, eine vorhandene IDE zu nutzen. So ähnlich lief es anfangs auch als ich für den Editor Kate (KDE-Projekt) eine einfache Syntaxhervorhebungs-XML-Datei schrieb.
    Allerdings musste ich Programme wie pjass, den JassHelper oder diverse MPQ-Editoren immer irgendwie mit wine aufrufen bzw. Einträge dafür im Startmenü anlegen.
    Da ich zu diesem Zeitpunkt meine erste richtige Erfahrung mit dem Rahmenwerk Qt machte und auch sammeln wollte, kam ich auf die Idee, eine neue, speziell auf die beiden Skriptsprachen Jass und vJass zugeschnittene IDE zu entwickeln.
    Die Entwicklung zog sich sehr lange hin, da ich nebenher noch mein anderes Programm vjassdoc entwickelte, was wesentlich schneller voranschritt.
    Nun ist es für mich an der Zeit, die derzeitigen Fähigkeiten des Programms zu präsentieren und Kritik der Warcraft-Modding-Gemeinschaft entgegenzunehmen.

    Anforderungen:
    • ein Betriebssystem, auf welchem Qt funktioniert (z. B. Linux, Windows oder Darwin bzw. Mac)
    • natürlich Qt, falls man das Programm kompilieren möchte
    • dazu noch einen C++-Compiler (z. B. den g++ vom GCC-Projekt)
    • wine, falls man nicht Windows benutzt (für den JassHelper)


    Fähigkeiten:
    • grundlegende Textverarbeitungsmöglichkeiten, basierend auf Qts Klassen
    • Dateilistenazeige und somit natürlich auch die Fähigkeit mehrere Dateien gleichzeitig bearbeiten zu lassen
    • Sitzungsverwaltung
    • Syntax-Hervorhebung und Unterstützung von unterschiedlichen Syntax-Schemas
    • Anzeige der Ausgabe externer Programme in einem eigenen Widget
    • Kleinigkeiten wie das Einfügen eines Farbcodes oder das Formatieren einer Zeile zum Präprozessor (//!)
    • Syntax-Überprüfung mittels pjass
    • Syntax-Überprüfung und Kompilierung mittels JassHelper
    • Generierung einer API-Dokumentation mittels vjassdoc



    Unfertige Fähigkeiten:
    • Ex- und Importierung von Syntax-Schemas
    • Konfigurationsmöglichkeit aller Tastenkürzel
    • das Einbinden von mittels vjassdoc erstellten API-Datenbanken und einer dadurch ermöglichten Vervollständigungshilfe für eingetippten Code
    • die Suche nach Code-Objekten in eingebundenen API-Datenbanken mittels eines Widgets
    • MPQ-Bearbeitung mittels eines kleinen, auf der StormLib basierenden MPQ-Editors


    Geplante mögliche Fähigkeiten:
    • das Hoch- und Herunterladen von Code-Systemen mittels Qts FTP-Unterstützung
    • das Hoch- und Herunterladen von Syntax-Schemas, ebenfalls mittels Qts FTP-Unterstützung


    Bilder:
    • Ältere Bilder finden sich hier.
    • Aktuellere Bilder finden sich hier.


    Quell-Code:
    Alle verfügbaren Quell-Code-Archive finden sich hier.

    Anmerkung:
    Ich stelle gerade ein neues Archiv zusammen. Im aktuellen fehlt der Quell-Code der aktuellen vjassdoc-, pjass- und StormLib-Version.

  2. #2
    Benutzerbild von Seshiro
    Registriert seit
    Sep 2007
    BNet Account
    ImTheUnknown
    Beiträge
    3.413
    Gefällt mir sehr, wobei ich die Oberfläche an sich nicht schön finde, Farbe sit unpassend, und Ränder zu dick....
    geschmackssache


    Greez

    Can you dig it?

  3. #3
    Meinst du die Fenster? Also der Stil wird von Qt wird normal so angepasst, sodass es immer aussieht, wie es unter dem aktuellen Betriebssystem auch sollte. Sprich: unter Windows auch wie eine Windows-Oberfläche.
    Alternativ kann man mit qtconfig, oder wie das heißt, auch einen anderen Stil für Qt-Programme auswählen.
    Bei mir ist das halt grade Oxygen, wegen KDE 4 und ich finde ihn eigentlich nicht so schlecht. Klar, ist halt Geschmackssache.
    wc3lib (C++-Entwickler gesucht)
    Advanced Script Library (vJass-Entwickler gesucht)
    Die Macht des Feuers (Modelierer und 2d-Grafiker gesucht)
    Die-Macht-des-Feuers-Blog
    Mappedia

  4. #4
    Staff Maps
    Skinning & Modelling

    Moderator
    Skinning & Modelling
    Benutzerbild von xXm0RpH3usXX
    Registriert seit
    Dez 2004
    Ort
    Kiel
    Beiträge
    2.389
    also.. verseh ich das richtig?
    damit kann man einen jasscode überprüfen?
    oer was macht das? tut mir leid, ich kann so mal garnich coden!

  5. #5
    Unter anderem. Eben durch die Integration von pjass, einem Jass-Syntax-Überprüfungsprogramm, welches auch in JassCraft verwendet wird. Es ist halt ein dickes Programm für Jass- und vJassler, die darin alles finden sollen, was sie zum Coden so benötigen.
    wc3lib (C++-Entwickler gesucht)
    Advanced Script Library (vJass-Entwickler gesucht)
    Die Macht des Feuers (Modelierer und 2d-Grafiker gesucht)
    Die-Macht-des-Feuers-Blog
    Mappedia

  6. #6
    Warcraft_Freak
    Guest
    hm... gefällt mir recht gut, aber was genau - abgesehen von der fähigkeit, auf linux zu laufen - hebt dein tool jetzt von TESH und den anderen im JNGP vorhandenen erleichterungen ab?

  7. #7
    Keine Ahnung.
    Wie funktioniert denn z. B. bei TESH das Hinzufügen von eigenen Code-Dateien zum Hervorheben? Ich kenn mich da gar nicht mehr so aus, weil ich es schon ne Weile nicht mehr benutzt habe.
    Oder kann man bei TESH überhaupt auch nach Structs, Interfaces usw. suchen und werden diese auch inzwischen bei der Code-Vervollständigung erkannt?
    Dann ist halt noch vjassdoc implementiert, was man aber auch mit einer Erweiterung im Editor hinbekommen sollte, insofern man die Auslöser auslesen kann.
    Des Weiteren braucht man nicht immer den Editor starten, wenn man etwas mit Jass oder vJass machen will, auch wenn das den Meisten wahrscheinlich nicht viel bringt.
    Insgesamt gesehen lohnt es sich für einen Windows-Benutzer nicht unbedingt, auf dieses Programm umzusteigen, aber das will ich jedem selbst überlassen.
    Das hier ist in erster Linie kein Konkurrenzprogramm zu TESH oder zum gesamten JassNewGen-Paket, sondern eine Alternative.
    wc3lib (C++-Entwickler gesucht)
    Advanced Script Library (vJass-Entwickler gesucht)
    Die Macht des Feuers (Modelierer und 2d-Grafiker gesucht)
    Die-Macht-des-Feuers-Blog
    Mappedia

  8. #8
    gexxo
    Guest
    Original geschrieben von Barade
    Keine Ahnung.
    Wie funktioniert denn z. B. bei TESH das Hinzufügen von eigenen Code-Dateien zum Hervorheben? Ich kenn mich da gar nicht mehr so aus, weil ich es schon ne Weile nicht mehr benutzt habe.
    Oder kann man bei TESH überhaupt auch nach Structs, Interfaces usw. suchen und werden diese auch inzwischen bei der Code-Vervollständigung erkannt?
    nein TESH kann nichts von dem genannten.
    Wäre nett wenn du das so durchziehst, dass es stabil wird. Und wenn es soweit ist, kannste ja dich auch mal mit Pitzermike in verbindung setzen und mal ausdiskutieren ob man das nicht als replacement für tesh ins jngp einbauen könnte.

  9. #9
    Benutzerbild von RedOrK
    Registriert seit
    Sep 2006
    Ort
    Nicht weit genug weg
    BNet Account
    The-Red-OrK
    Beiträge
    712
    Ich habe grade versucht unter windows zu compilieren. Ist nicht so...

    Bei qmake meckert er schon massig, weil er diverse image/... datein nicht findet.

    Bei Make geht es dann aber erstmal richtig los:

    (Neustes qt studio mit entsprechender mingw version)

    Code:
    src\mpqeditor.cpp: In destructor `virtual vjasside::MpqEditor::~MpqEditor()':
    src\mpqeditor.cpp:128: error: conversion from `DWORD' to `const QVariant' is amb
    iguous
    d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:413: not
    e: candidates are: QVariant::QVariant(void*) <near match>
    d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:215: not
    e:                 QVariant::QVariant(Qt::GlobalColor) <near match>
    d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:185: not
    e:                 QVariant::QVariant(const char*) <near match>
    d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:183: not
    e:                 QVariant::QVariant(double)
    d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:182: not
    e:                 QVariant::QVariant(bool)
    d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:181: not
    e:                 QVariant::QVariant(qulonglong)
    d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:180: not
    e:                 QVariant::QVariant(qlonglong)
    d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:179: not
    e:                 QVariant::QVariant(uint)
    d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:178: not
    e:                 QVariant::QVariant(int)
    d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/kernel/qvariant.h:170: not
    e:                 QVariant::QVariant(QVariant::Type) <near match>
    src\mpqeditor.cpp: In member function `void vjasside::MpqEditor::createNewArchiv
    e()':
    src\mpqeditor.cpp:182: error: conversion from `QByteArray' to `const WCHAR*' is
    ambiguous
    d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/tools/qbytearray.h:401: no
    te: candidates are: QByteArray::operator const void*() const <near match>
    d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/tools/qbytearray.h:349: no
    te:                 QByteArray::operator QNoImplicitBoolCast() const <near match
    >
    src\mpqeditor.cpp:197: error: conversion from `QByteArray' to `const WCHAR*' is
    ambiguous
    d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/tools/qbytearray.h:401: no
    te: candidates are: QByteArray::operator const void*() const <near match>
    d:/Dev/Qt/2009.01/qt/include/QtCore/../../src/corelib/tools/qbytearray.h:349: no
    te:                 QByteArray::operator QNoImplicitBoolCast() const <near match
    >
    src\mpqeditor.cpp: In member function `void vjasside::MpqEditor::showErrorMessag
    e(const QString&)':
    src\mpqeditor.cpp:401: error: `ErrString' was not declared in this scope
    src\mpqeditor.cpp:401: warning: unused variable 'ErrString'
    mingw32-make[1]: *** [debug/mpqeditor.o] Error 1
    mingw32-make[1]: Leaving directory `C:/Dokumente und Einstellungen/Andreas/Deskt
    op/vjasside'
    mingw32-make: *** [debug] Error 2
    Werde gleich mal versuchen die dinge zu fixen, aber wollte dich informieren da ich von qt 0 ahnung habe!
    To be done

  10. #10
    Ich sollte vielleicht mal wieder die neuste Version hochladen bzw. die SVN-Ablage gescheit einrichten, weil mir das mit dem Zusammenstellen eines Archivs langsam zu bunt wird.

    Momentan hab ich noch den kleinen Fehler drinnen, dass er die Dateien nach dem Öffnen schon als ungesichert markiert.

    Welche Qt-Version verwendest du denn? Ich hab jetzt in letzter Zeit unter Ubuntu mit einer älteren Version gearbeitet, aber inzwischen benutze ich wieder Gentoo und will demnächst Qt 4.5 installieren, damit ich mal den Qt Creator ausprobieren kann.
    wc3lib (C++-Entwickler gesucht)
    Advanced Script Library (vJass-Entwickler gesucht)
    Die Macht des Feuers (Modelierer und 2d-Grafiker gesucht)
    Die-Macht-des-Feuers-Blog
    Mappedia

Forumregeln

  • Es ist dir nicht erlaubt, neue Themen zu verfassen.
  • Es ist dir nicht erlaubt, auf Beiträge zu antworten.
  • Es ist dir nicht erlaubt, Anhänge hochzuladen.
  • Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
  •