Seite 1 von 1

Editor durch externes Werkzeug fernsteuern

Verfasst: 02.07.2013 23:33
von derschutzhund
Hallöchen zusammen,

ist es möglich nach dem ein externes Werkzeug ausgeführt wurde automatisch im Editor eine bestimmte Codedatei zu aktivieren und darin in die Zeile zu springen, in der ein bestimmter Suchbegriff steht?

Also externes Programm starten und ablaufen lassen danach Datei laden bzw. neu laden wenn sie schon geladen war.
Im Editor diese Datei anzeigen und in Zeile springen in der ein bestimmter Text steht.

Hoffe, ich konnte beschreiben was ich haben möchte...

LG

Wolfgang

Re: Editor durch externes Werkzeug fernsteuern

Verfasst: 03.07.2013 13:03
von The_Dark_Zim-.-
Hey,

wenn ich dich recht verstanden habe willst du die *.pb (Quellcodedatei) mit einer anderen Software öffnen. Dann hier eine Zeile raus suchen und dann die Datei und die Zeile an PureBasic weitergeben?!

Wenn du dir eine einzelne Quellcodedatei mal im Notepad ansiehst, solltest du feststellen, das am Ende die Cursorposition angegeben ist. Diese kannst du manipulieren, um zu bestimmen wo PureBasic die Datei öffnet.
Danach musst du PureBasic nur noch starteten und ihm als Parameter die zu öffnende Datei übergeben ;)

Sollte eigentlich funktionieren :P

Gruß Zim

Re: Editor durch externes Werkzeug fernsteuern

Verfasst: 03.07.2013 14:27
von Bisonte
Diese Funktion befindet sich im Menu der IDE.

Bearbeiten -> Suchen in Dateien

Dann erscheint ein Fenster in dem man das entsprechende File (falls was gefunden wurde)
doppelt anklickt und es wird das File geladen und an die entsprechende Stelle gesprungen
mit dem Cursor...

Sehr komfortabel ;)

Ansonsten hat mein Vorredner den Punkt getroffen. Zu beachten sei allerdings, dass in den
Compileroptionen dieser "Anhang" auch eingestellt ist.
Und wenn man nicht x-Fenster von PB-IDE's offen haben möchte (also in Tabs laden) dann
sollte auch "Nur eine Instanz erlauben" angewählt sein...

Re: Editor durch externes Werkzeug fernsteuern

Verfasst: 03.07.2013 15:07
von derschutzhund
wenn ich dich recht verstanden habe willst du die *.pb (Quellcodedatei) mit einer anderen Software öffnen. Dann hier eine Zeile raus suchen und dann die Datei und die Zeile an PureBasic weitergeben?!
Ja, fast so!
Ich bin in PureBasic und bearbeite eine Formdatei. Im Editor ist also die Form als Grafik zu sehen.
Nun starte ich aus PB heraus ein kleines Progrämmchen welches etwas an einer Datei *.pb ändern oder sie wenn erforderlich auch neu erzeugt.
Nun möchte ich diese *.pb automatisch in PB laden und an eine bestimmte Position springen.
Diese Funktion befindet sich im Menu der IDE.

Bearbeiten -> Suchen in Dateien
Das ist mir klar, hilft aber nicht weil das automatisch laufen muss wenn das externe Programm beendet wird!

Ich könnte auch die Zeilennummer mit übergeben bzw. wie Zim vorschlägt die Zeilennummer in der *.pb einstellen.
Wenn ich es richtig gelesen habe dann wird über die Einstellungen im externen Werkzeuge immer nur das aktive *.pb neu geladen aber nicht ein beliebiges?

EDIT: Es sieht so aus als ob es gehen würde. Habe mal PB gestartet, ein *.pbf geladen, dann ein Terminalfenster (Linux) geöffnet und hier von Hand "PureBasic test.pb" eingegeben. Ich dachte das dann PB ein zweites Mal gestartet würde. Wird es aber nicht. Hoffe, dass es unter Windows ebenso ist?

LG

Wolfgang

P.S. Wenn es alles so funktioniert, wie ich mir das vorstelle, baue ich damit fast einen Komfort ein wie bei Delphi oder Gambas.
Der Formgenerator wäre damit automatisch mit der Codedatei verknüpft.

Re: Editor durch externes Werkzeug fernsteuern

Verfasst: 03.07.2013 23:08
von derschutzhund
Also das funktioniert jetzt alles aber es gibt ein kleines Problem .... chen.

Als Argument möchte ich dem externen Programm die Ereignis-Prozedure eines z.B. Buttons übergeben.
Das geht ja normal mit $WORD allerdings nicht, wenn man in die Formeigenschaften rechts geht und da mit der Maus in das Feld Ereignis-Procedure.
Natürlich könnte man die Form als code anzeigen lassen und dann die Prozedure markieren aber ich möchte es ohne diesen Wechsel machen.
Geht das irgendwie?