Autovervollständigen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Autovervollständigen

Beitrag von Josh »

Hallo Leute,

gibt es eine Möglichkeit, dass die von Autovervollständigen vorgeschlagenen Einträge manuell aktualisiert werden? Wenn ich in Strukturen von meinem Projekt zusätzliche Einträge vornehme, werden die nicht automatisch von Autovervollständigen übernommen.

Erst wenn ich das Projekt schließe und wieder öffne, dann ist auch Autovervollständigen ok. Eine weitere Möglichkeit, dass Autovervollständigen aktualisiert wird ist, dass ich in 'Einstellungen > Editor > Automatisches Vervollständigen > Angezeigte Einträge > Einträge hinzufügen von' die Auswahl 'von dem aktuellen Projekt' auf was anderes ändere, auf 'Übernehmen' klicke und dann wieder zurück ändere.

Das Problem kommt wahrscheinlich von mir selber, da ich einen Preprozessor benutze. Wäre aber trotzdem schön, wenn es irgendeine schnelle Möglichkeit gäbe, eine Aktualisierung durchzuführen.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Autovervollständigen

Beitrag von STARGÅTE »

Wenn ich in Strukturen von meinem Projekt zusätzliche Einträge vornehme, werden die nicht automatisch von Autovervollständigen übernommen.
Sollte aber funktionieren. Zumindest tut es das bei mir auch.
Denn das funktioniert ja schon, wenn man einfach nur zwei neue Tabs öffnet und in einem eine Struktur erstellt und im anderen diese Benutzt. Wenn man dann ein Feld hinzufügt, schlägt es der andere Tab gleich nach dem \ vor.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Autovervollständigen

Beitrag von Josh »

Ohne es getestet zu haben, nehme ich an, dass original alles richtig funktioniert. Deshalb habe ich oben geschrieben, dass es wahrscheinlich an meinem Preprozessor liegt. Dieser erstellt eine pbi Datei, die als erstes in mein Projekt eingebunden ist. Der Preprozessor macht im groben folgendes:
  • Konstanten und Enumerationen werden in die pbi Datei kopiert
  • Prototypes werden in die pbi Datei kopiert
  • Interfaces werden in die pbi Datei kopiert
  • Strukturen werden in die pbi Datei kopiert
  • Jede Prozedur wird in der pbi Datei vorab deklariert
Die einzelnen Einträge werden in der pbi Datei so sortiert abgestellt, dass alles aufgelöst werden kann. So kann ich meine Programm gestalten wie ich will und bin von jeglicher Reihenfolge unabhängig. Bis auf das oben geschilderte Problem funktioniert bei meinem Preprozessor auch alles problemlos.

Der Originalcode wird vom Preprozessor überhaut nicht verändert, da dies nur zu Problemen führt. Aus diesem Grund habe ich bei den Interfaces und Strukturen ein wenig tricksen müssen. Interfaces und Strukturen lege ich in meinem Code mit einem vorangestellten Unterstrich an, der dann beim Kopieren in die pbi Datei entfernt wird. Dies führt dann zu oben genannten Problem, das auch durch ein neues Erstellen der pbi Datei nicht gelöst wird.

Deshalb die Frage, ob es eine Möglichkeit gibt, Autovervollständigen manuell zu aktualisieren.
Benutzeravatar
CSHW89
Beiträge: 489
Registriert: 14.12.2008 12:22

Re: Autovervollständigen

Beitrag von CSHW89 »

Ist nur eine Idee, aber kannste ja vielleicht mal versuchen: Einstellungen -> Tastenkürzel -> "Auslöser für ein Update der Prozeduren & Variablen Anzeiger", letzter Eintrag.
Steht zwar Prozeduren & Variablen, aber wer weiß, vielleicht aktuallisiert er auch Strukturen. Kanns aber grad nicht selber testen, da ich's auf die Schnelle nicht reproduzieren kann.

lg Kevin
Bild Bild Bild
http://www.jasik.de - Windows Hilfe Seite
padawan hat geschrieben:Ich liebe diese von hinten über die Brust ins Auge Lösungen
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Autovervollständigen

Beitrag von Josh »

Das mit F12. Nein leider, habe ich schon getestet :cry:
Trotzdem danke.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Autovervollständigen

Beitrag von ts-soft »

Automatisch wird es nur erkannt, wenn der Source in der IDE geöffnet ist. Entweder mit oder ohne Projekt.
Ansonsten besteht ja auch keine Möglichkeit Veränderungen zu bemerken.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Autovervollständigen

Beitrag von Josh »

Muss ja auch nicht automatisch sein. Ein Update der Einträge für Autovervollständigen mittels eines Keys würde mir genügen. Die beiden in meinem ersten Beitrag beschriebenen Methoden zum update sind einfach zu umständlich.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Autovervollständigen

Beitrag von ts-soft »

Wenn Dein Preparser oder was auch immer, in den Einstellungen zum Trigger
mit Source Reload wieder geladen wird, wird auch das Autocomplete aktualisiert,
denke ich mal. Brauchst also keinen weiteren Finger bewegen, was ja bei der
Hitze nicht so angenehm ist.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: Autovervollständigen

Beitrag von Josh »

ts-soft hat geschrieben:Wenn Dein Preparser oder was auch immer, in den Einstellungen zum Trigger
mit Source Reload wieder geladen wird, wird auch das Autocomplete aktualisiert,
denke ich mal. Brauchst also keinen weiteren Finger bewegen, was ja bei der
Hitze nicht so angenehm ist.
Funktioniert leider auch nicht so wie ich es haben will. Auch wenn ich "Quellcode nach Ende des Werkzeugs neu laden" einstelle, dann lädt er das Startfile neu. Ich habe mein Projekt mal probeweise so umgebaut, dass die pbi Datei das Startfile ist, aber dann bekomme ich jedes mal nur den Dialog, ob die Änderungen angezeigt werden sollen. Erstens ist dieser Dialog nervig und zweitens habe ich die pbi Datei ja nicht immer geöffnet.

Ohne einen Finger zu bewegen wird es ohnehin nicht funktionieren, wer soll das Werkzeug sonst starten?

Bei der Hitze wäre es ohnehin besser, die Zeit im Biergarten zu verbringen als sinnlos diese Taste zu drücken :mrgreen:
Antworten