Pawnfox 1.3.1
Pawnfox ist eine Entwicklungsumgebung (IDE) für PAWN.
Im Gegensatz zu der mit SA:MP mitgelieferten Entwicklungsumgebung Pawno bietet Pawnfox
eine Reihe moderner Features die speziell auf SA:MP zugeschnitten sind und die Entwicklung
von Scripts um ein Vielfaches vereinfachen.
Pawnfox entstand, da wir bei der Entwicklung des Scripts für SA:Reallife eine leistungsfähigere IDE
brauchten, da Pawno die Entwicklung immer wieder ausbremste.
Es sind zwar einige alternative IDEs in verschiedenen Foren veröffentlicht worden, die aber alle
nicht unseren Vorstellungen entsprachen.
Features
-
Pawnfox denkt mit: Automatische Codevervollständigung
Wenn ein Script geladen wird, analysiert Pawnfox automatisch seinen Inhalt und geladene Include-Files.
Die IDE bietet daraufhin sobald begonnen wird Code zu schreiben in Echtzeit Vorschläge an, welche Funktion, welche Konstante oder welchen
PVar Namen der Nutzer meinen könnte.
Es werden nur Vorschläge angezeigt, die anhand der bereits geschriebenen Zeichen noch möglich sind.Im Gegensatz zu anderen alternativen PAWN IDEs bietet Pawnfox diese Funktionalität auch für selbstgeschriebene Funktionen
innerhalb des Scripts statt nur für Includes oder Natives. Und seit Version 1.3 auch für Funktionen, die kein stock, native oder public sind. -
Bessere Übersicht über Includefunktionen und Scriptelemente (+Screenshots)
Pawno bietet nur eine ungeordnete Liste aller in Includes enthaltenen Natives.
Pawnfox bietet in verschiedenen Tabs ausfühliche, alphabetisch sortierte Listen mit den Scriptinhalten.
In zwei Reitern zeigt Pawnfox die Funktionen aus Includes und die Funtionen aus dem aktuell bearbeiteten
Script an, in einem anderen Reiter die im aktuellen Script geladenen Enum-Strukturen, in anderen
Reitern die Konstanten und PVar-Namen.Funktionen können aufgeklappt werden um sie entweder an der aktuellen Cursorposition einzufügen oder eine Liste
aller Zeilen anzuzeigen, an denen sie im Code verwendet werden.Die Analyse ist sehr aufwändig, dauert aber selbst bei extrem langen Scripts nur wenige Sekunden und wird im
Hintergrund durchgeführt, so dass Pawnfox beim Laden eines Scripts nie hängt. -
Besseres Compilingfenster
Der Compiler öffnet in Pawnfox kein zusätzliches Fenster.
Wenn man einen Doppelklick auf eine Fehlerzeile macht, springt der Cursor an die entsprechende
Stelle im Script.
Das Beheben von Fehlern geht so um ein Vielfaches schneller von der Hand. -
Pawnfox schreibt mit
Pawnfox schließt geöffnete geschweifte Klammern automatisch und beachtet dabei das
Einrücken. Wenn das stört, lässt es sich abschalten. -
Leistungsfähige Statusleiste
Die Statusleiste von Pawnfox zeigt genaue Informationen darüber an, wo im Script du gerade bist.
Sehr praktisch: Auch die Länge der aktuellen Markierung wird angezeigt! -
Notizen?
Pawnfox bietet neben dem Compilerfenster einen simplen Notizblock, falls der Nutzer sich beim
Scripten einige Anmerkungen machen möchte. -
Zu PAWN passendes Syntax-Highlighting
Im Gegensatz zu Pawno markiert Pawnfox auch Keywords wie stock, native oder Float farbig.
Datentypen wie bool oder Float werden in anderen Farben markiert als Schlüsselwörter. -
Leistungsfähiger Editor
Pawnfox verwendet die in vielen berühmten Projekten verwendeten Scintilla bzw. Scintilla.NET Komponenten.
Sie bietet eine schnelle, flüssige übersichtliche Darstellung des Codes.
Code kann auf- und zugeklappt werden, um mehr Übersicht zu erhalten. -
Schlichtes aber leistungsfähiges und featurereiches Design
Das Layout von Pawnfox kann seit Version 1.2 individuell angepasst werden, um Pawnfox den eigenen Wünschen
anpassen zu können. -
Extrem umfangreiche SA:MP Bibliothek
In einem umfangreichen, sortierbaren Fenster bietet Pawnfox hunderte Informationen über SA:MP.
Über einfache Reiter enthält der Scripter Zugriff auf VehicleIDs, Pickuptypen, Pickupmodelle, Tuningkomponenten,
SA:MP Limits, Farben, Waffen, Tasten und viele mehr.
In 99% der Fälle muss so nicht extra die SA:MP Wiki geöffnet und durchsucht werden um an Informationen
zu kommen.
Bedienung
Funktionsliste
- Ein Linksklick auf eine Funktion zeigt in der Statusleiste die zugehörigen Parameter an, ein Doppelklick fügt sie an der aktuellen Stelle ins Script ein.
- Ein Rechtsklick auf eine Funktion in der Liste der eigenen Funktionen springt im Script an die Stelle, an der sie implementiert ist.
- Wenn eine Funktion ausgeklappt wird und "Calls" aufgeklappt wird, wird eine Liste aller im Script vorhandenen Aufrufe gezeigt.
- Wenn in der Liste der eigenen Funktionen bestimmte Funktionen nicht angezeigt werden sollen, kann die
Leiste über der Liste dazu verwendet werden. Verschiedene Begriffe können mit ; getrennt werden.
dcmd;init blendet zum Beispiel alle Funktionen aus, die dcmd oder init enthalten.
Compiler
- Um den Compiler zu starten kann entweder das Menü oder die Taste F5 verwendet werden
Aufklappen/Schließen
- Ein Klick auf Fold All klappt alle aufgeklappten Codeteile zu.
- Ein Klick auf Unfold All klappt alle zugeklappten Codeteile auf.
- Ein Klick auf Restore Folding klappt die mittels Unfold All geöffneten Codeteile wieder zu, um das vorige Layout wieder herzustellen.
- Wichtig: Um das gesamte Script zu durchsuchen, müssen alle Codeteile aufgeklappt werden.
Speichern
- Das Script speichert sich vor jedem Compilingvorgang
- Pawnfox unterstützt STRG+S und STRG+O
Bibliothek
- In einigen Reitern der Bibliothek führt ein Doppelklick auf eins der Elemente auf die entsprechende, ausführlichere Seite der SA:MP Wiki.
Logo
- Das SA:Reallife Logo führt euch direkt zu SA:Reallife!
Installation
Pawnfox über den untenstehenden Link herunterladen.
Das Archiv an einen beliebigen Ort entpacken.
Pawnfox ist mit Visual Studio 2012 in C# entwickelt. Ihr benötigt dringend .NET Framework 4.5 .
Aus diesem Grund wird Windows XP leider nicht unterstützt.Eventuelle eigene Includedateien in den Ordner PawnStuff/Includes einfügen
Pawnfox kann nun über Pawnfox.exe gestartet werden.
Wenn ihr Pawnfox verwendet möchtet um .pwn Dateien standardmäßig zu öffnen,
könnt ihr dies entweder mit einem Rechtsklick auf eine .pwn Datei -> Öffnen mit oder einem
Rechtsklick auf Pawnfox.exe -> Eigenschaften einrichten.
Download
Source
(Eine Sourceveröffentlichung bei Pastebin ist bei einem Projekt dieser Art sowohl nutzlos als auch nur schwer möglich)
Pläne für zukünftige Versionen
Tools
Werkzeuge wie ein Color-Picker oder ein Tool, bei dem Areas auf der Karte eingezeichnet werden können und die
IDE Koordinaten automatisch erstellt.
Changelog
1.0
Erstes Release1.1
-
Handling von großen Dateien verbessert
Dank Multithreading laden große Dateien nun praktisch sofort. Die Analyse wird im Hintergrund durchgeführt, die Daten werden angezeigt
sobald sie bereit sind. -
Standard Compilerflags verändert
Die Flags wurden auf die Flags von Pawno angepasst, wodurch einige in Pawno nicht auftretende Fehler nun auch in
Pawnfox nicht mehr auftreten. -
Eigene Compilerflags möglich
Im Hauptmenü können nun eigene Flags gesetzt werden. Im Auslieferungszustand ist -d3 voreingestellt. - Die Autokorrektur ist nun nicht mehr von Groß- und Kleinschreibung abhängig
-
Mehr Hauptmenüoptionen
Das Hauptmenü enthält nun mehr Optionen unter "Editing" -
Parameterbug behoben
Der Bug, bei dem von der Autokorrektur vorgeschlagene Parameter falsch in der Statusleiste angezeigt wurden ist nun
behoben.
-
Handling von großen Dateien verbessert
1.2
- Konstanten (Defines) sind nun Teil der Autokorrektur
Die Autokorrektur zeigt nun auch Konstantennamen (#define) an. - PVars sind nun Teil der Autokorrektur
Wenn benötigt, also in den entsprechenden Funktionen, zeigt die Autokorrektur nun auch PVar Namen an. - Viele Bugfixes
- Layoutveränderung nun möglich
Das Pawnfoxlayout kann nun verschoben werden. - und viele mehr
- Konstanten (Defines) sind nun Teil der Autokorrektur
1.3
-
Komplett neue lexikalische Analyse
Pawnfox liest nun alle Scripts und Includes noch schneller und genauer durch.
Es werden auch Funktionen ohne Tag oder Keyword gefunden (also Funktionen die kein native oder stock sind).
In der Liste wird außerdem eine Liste mit allen Aufrufen der Funktionen geführt, was das Erkennen von Fehlern
durch ungünstige Funktionsaufrufe erleichtert. -
Bessere Statusleiste
In der neuen Statusleiste befinden sich ausführlichste Informationen über die aktuelle Curserposition.
Sehr praktisch: Auch die Anzahl der aktuell markierten Zeichen wird angezeigt. -
Notizfenster
Neben dem Compiler bietet Pawnfox nun eine Art Notizblock, für schnelle Notizen aller Art. -
Autovervollständigung von geschweiften Klammern
Pawnfox schließt geöffnete geschweifte Klammern nun automatisch. Wer das nicht möchte, kann das Feature abschalten. - Viele kleine Verbesserungen und Fix des Include-Crash-Bugs
-
Komplett neue lexikalische Analyse
1.3.1
- Fix des Bugs, der das bisher geladene Script überschreibt, wenn ein neues Script erstellt wird
- Neues Logo von @Sunny_Moore vollständig eingefügt, Applikationsinformationen aktualisiert
- Verbesserung der Auto-Update Funktion
Lizenz
Pawnfox ist unter einer Creative Commons Lizenz veröffentlicht: Creative Commons — Attribution-NonCommercial-NoDerivs 3.0 Unported
— CC BY-NC-ND 3.0
[size=14]Viel Spaß bei der Verwendung von Pawnfox!
EDIT: Bibliotheksanleitung eingefügt