Seite 1 von 1

UltraEdit IntelliTips

Verfasst: Mi, 20. Aug 2014 18:14
von satmax
UltraEdit (UltraStudio) unterstützt ja IntelliTips, was ich eigentlich als ein sehr tolles Feature empfinde.

Jede Funktion im Projekt wird automatisch geparst und der IntelliTip automatisch erstellt. Da TopDown im Source geliefert wird, steht das auch für alle TopDown Funktionen zur Verfügung.

Nur die Alaska Funktionen sind nicht verfügbar, da nicht im Source vorhanden. Man könnte sich nun relativ simpel eine VorlageIntelliTips.prg erstellen die alle Alaska Funktionen enthält, in etwa so:

Code: Alles auswählen

FUNCTION ACopy( <aSource>, <aTarget>, [<nStartSource>], [<nCount>],[<nStartTarget>] )
RETURN aTarget
FUNCTION AClone( <aArray> )
RETURN aClonedArray
FUNCTION tdArBrow(nRow,nCol,nRowHt,nColWd,[lJump],[lEdit],oParent,aData,aCols,[lClone],[lNums],[bSkipEval],[cCompName],[aPres],[lTabStop],[lVisible],[cCursMode],[lHscroll],[lSizeCol],[lSofTrak],[lVscroll],[xx],[bInsKey],[nBGclr],[nAltRowClr],[lOvdPx],[lFD],[lBorder],[lColMove],[nSBclr])
RETURN oBrowse
Also Immer der Funktionsaufruf und der Returnwert, ohne Code dazwischen.

Dies Datei ins UEStudio Projekt einbinden und schon hat man die IntelliTips auch für die Alaska Funktionen. Mit den Klassen und Methoden wäre es ähnlich. Ist halt eine menge Arbeit, hat so etwas schon jemand von Euch gemacht?

Würden sich ein paar Leute zusammentun ginge das schnell... :) Ist viel copy & paste.

Tipp: man kann die Anzeige des IntelliTips mit STRG+Shift+Leertase erzwingen, der Cursor muss dazu zwischen den Klammern stehen.

Re: UltraEdit IntelliTips

Verfasst: Mi, 20. Aug 2014 19:07
von Herbert
Die Idee ist eigentlich gut. Aber:
4. Generationen-Sprachen verwenden zwingend einen internen Editor, welcher diese oder zumindest ähnliche Funktionen aufweisen wird. Somit wird das Arbeiten mit Editor und separatem Compiler bald wegfallen.
Die Frage ist also, wann und ob Xbase eine IDE bringen wird und wer dann noch damit arbeitet und dazu noch Ultra Edit einsetzt.

Re: UltraEdit IntelliTips

Verfasst: Mi, 20. Aug 2014 19:22
von satmax
IMHO kann ich mir nicht vorstellen das Xbase V2 das schon bringt, also bleibt mir mein Editor sicher noch ein paar Jahre. :)

Außerdem: UEStudio ist eine vollständige IDE, man kann sogar Visual Studio Projekte importieren. :D IMHO ist UEStudio eine mächtige IDE und kann mit den verschiedensten Programmiersprachen umgehen.

Außerdem, was mit SQLExpress und ActiveX und Xbase++ heute schon möglich ist hätte ich nie gedacht.
Kommt halt immer drauf an ob das Glas Halbvoll- oder Halbleer ist. :wink:

Aber so eine Grundsatzdiskussion ist in diesem Thread nicht gerade am besten aufgehoben.

Re: UltraEdit IntelliTips

Verfasst: Do, 21. Aug 2014 7:01
von Wolfgang Ciriack
Vielleicht kannst du ja dafür sogar meinen Project Checker (Wissensbasis) etwas umprogrammieren, der ermittelt ja schon alle Funktionen mit Anzahl der Parameter. Müsstest nur noch statt der Anzahl diese extrahieren und den Returnwert der Funktion ermitteln.

Re: UltraEdit IntelliTips

Verfasst: Do, 21. Aug 2014 7:20
von brandelh
Was ich da wieder alles lese ...

1. Xbase 2.0 wird mit der Workbench kommen, die sowas kann und auch die Syntax für eigene Funktionen unterstützt.
2. Viele IDEs sind mächtig, aber MEISTENS wird von dieser ein Compiler aufgerufen (nur so kann man die IDE vom Compiler trennen) und nicht in diese eingebaut.
Integrieren heist in dem Zusammenhang den Aufruf auf einen Button zu legen.
3. Ich werde wohl auch noch eine Weile zusätzlich meinen alten MED nutzen, aber die Workbench hat was - insbesondere einen super debugger !
4. Wenn ich versuchen wollte die Funktionen von Xbase++ für die Syntax zu bekommen, ginge ich über die HTML Hilfe.
Ich meine mich zu erinnern, dass man diese sogar decompilieren kann und dann hat man reinen HTML Code ...

Re: UltraEdit IntelliTips

Verfasst: Mo, 01. Sep 2014 9:56
von satmax
Hier gibt es optimierte wordfiles (.uew) für Xbase++: https://www.ultraedit.com/forums/viewto ... 45&t=15157

Aktuell setze ich dabei auf Xbase++_flat3.uew, hierarchische Ansicht.

Re: UltraEdit IntelliTips

Verfasst: Mo, 01. Sep 2014 10:40
von Martin Altmann
Danke Dir!

Re: UltraEdit IntelliTips

Verfasst: Mo, 01. Sep 2014 16:50
von satmax
Wolfgang Ciriack hat geschrieben:Vielleicht kannst du ja dafür sogar meinen Project Checker (Wissensbasis) etwas umprogrammieren, der ermittelt ja schon alle Funktionen mit Anzahl der Parameter. Müsstest nur noch statt der Anzahl diese extrahieren und den Returnwert der Funktion ermitteln.
Alle im Programm definierten Funktionen werden ohnehin automatisch erkannt, gleiches natürlich für TopDown da ja im Source vorhanden. Wenn ich jetzt nur die von meinem Programm aufgerufenen Funktionen etwas extrahiere fehlen uU immer einige Parameter, selten werden alle verwendet.

Außerdem verwendet Dein Project Checker ja die Tools (XBTBase1.dll), oder ? Die habe ich nämlich nicht.

Re: UltraEdit IntelliTips

Verfasst: Fr, 05. Sep 2014 10:29
von satmax
satmax hat geschrieben:Hier gibt es optimierte wordfiles (.uew) für Xbase++: https://www.ultraedit.com/forums/viewto ... 45&t=15157

Aktuell setze ich dabei auf Xbase++.uew, hierarchische Ansicht.
Supper finde ich das

// TODO:

ergibt in der Funktionsliste eine schöne Übersicht was hier noch zu ton ist, eben eine ToDo Liste.

Re: UltraEdit IntelliTips

Verfasst: Mi, 01. Apr 2015 14:57
von brandelh
Hallo SatMax,

hast du mittlerweile eine erweiterte UEW Datei und wie bindet man die im UltraEdit ein ?

Mein MED hat neuerdings mit Textdateien über 300 MByte Probleme, da kam ich wieder auf den UltraEdit ... und mit der Workbench werde ich auch nicht so recht warm.

Re: UltraEdit IntelliTips

Verfasst: Mi, 01. Apr 2015 15:40
von satmax
Uff, alles vergessen... :(

Das UE Forum ist auch nicht schlecht... UE ist halt sehr umfangreich in den Einstellungsmöglichkeiten. Habe da schon ein paar Tage investiert, aber für einen echten Support reicht das nicht. :)

Hier ein Link zu einem Wordfile
https://www.ultraedit.com/forums/downlo ... hp?id=1295



Kopiere die *.uew Datei nach
...\AppData\Roaming\IDMComp\UEStudio\wordfiles

Extras / Optionen

Bei Suche gibst du Syntax ein, dann wählst Syntaxhervorhebung, nun kannst Xbase++ wählen

Re: UltraEdit IntelliTips

Verfasst: Mi, 01. Apr 2015 16:05
von brandelh
danke, die Funktionsliste habe ich auch gefunden, aber immer haue ich auf die falschen Tasten (MED halt) :(

Re: UltraEdit IntelliTips

Verfasst: Mi, 01. Apr 2015 16:28
von brandelh
Die Funktionsliste ist rechts, aber "IntelliTips" bekomme ich keine zu sehen ... man hat der aber auch eine riesiges Menüsystem ;-)

Re: UltraEdit IntelliTips

Verfasst: Mi, 01. Apr 2015 17:37
von satmax
Extras / Optionen Suche: Intelli

Alles eingestellt?

Ansonst, https://www.ultraedit.com/forums/index.php
(Mofi ist der beste. :) )

Re: UltraEdit IntelliTips

Verfasst: Do, 02. Apr 2015 8:35
von satmax
Ich denke für IntelliTipps braucht man CTag: http://ctags.sourceforge.net/

Beschreibung: https://www.ultraedit.com/forums/viewto ... exe#p51657

Inhalt meines .ctags:
Dateiname .ctags (in dein Projektverzeichnis)

Code: Alles auswählen

--langdef=Clipper
--langmap=Clipper:.prg.PRG
--regex-clipper=/^FUNCTION[ \t]*([a-zA-Z0-9_]+)/\1/f,function/
--regex-clipper=/^PROCEDURE[ \t]*([a-zA-Z0-9_]+)/\1/p,procedure/
--regex-clipper=/^STATIC FUNCTION[ \t]*([a-zA-Z0-9_]+)/\1/f,static function/ 
--regex-clipper=/^LOCAL[ \t]*([a-zA-Z0-9_]+)/\1/f,LOCAL/ 
--regex-clipper=/^[ \t]*(Public|Private)[ \t]+([a-zA-Z0-9_]+)[ \t]+As[ \t]+/\2/v,variable/i 
--regex-clipper=/^[ \t]*(LOCAL)[ \t]+([a-zA-Z0-9_]+)[ \t]+As[ \t]+/\2/v,variable/i 
Unter Projekt C-Tag Optionen konfigurieren stellst dann noch ein:
ctag.JPG
ctag.JPG (29.37 KiB) 15780 mal betrachtet
Dann müsste beim nächsten Start von UE eine DeineApp.ctags erstellt werden.

Re: UltraEdit IntelliTips

Verfasst: So, 05. Jul 2015 0:09
von satmax
Es gibt einen neuen Parser für XBase++: https://www.ultraedit.com/forums/viewto ... 45&t=15157

Damit gehen zB. auch mehrzeilige Function Header richtig mit IntelliTip. :)