code sense / intellisense (nicht "completion")

J

jamanikun

Mitglied
Thread Starter
Dabei seit
11.12.2005
Beiträge
83
Reaktionspunkte
2
Hallo!
Als frischer Switcher von WindUx auf den Mac bin ich über die kostenlose Beigabe des Dev-Tools XCode sehr erfreut. Nun bin ich durch Windows die an die Umgebung von VS.NET gewöhnt und bei Linux ein bißchen KDevelop.
Beide Tools (letzteres allerdings nur mit Hängen und Würgen) bieten eine Funktion an, die ich mal "Intellisense" nennen möchte - ich glaube, das ist MS' Name dafür. Habe ich beispielsweise ein SDL-Projekt geöffnet und gebe "screen->" ein, so bekomme ich eine Liste mit allen an der Struktur "hängenden" Variablen. Ich nehme an, VS.NET zieht diese Infos aus der entsprechenden Headerdatei (woher wohl sonst). Bei KDevelop kann man sowas wie "Tag-Repository" anlegen und mit etwas Glück funktioniert das resolvieren von Klassenvariablen dann auch. Ferner wird bei "funktion(" eine Einblendung gegeben, welche Parameter diese Funktion nun erwartet.
Das sind IMO nette Features, v.a. wenn man etwas wie SDL lernen möchte und durch Intellisense einen schnellen Einblick in die verwendeten Datenstrukturen bekommt.

Leider habe ich diese (hoffentlich nun ausgiebig beschriebene) Funktion in XCode nicht gefunden. Das "Code Sense" Tool, welches man mittels ESC aufrufen kann, schlägt ja nur eine Vervollständigung der Eingabe vor. Ähnlich wie das AutoVervollständigen aus Windows (bspw. bei Excel gibt es das oder im bösen IE). Da Mac OS einen "Unterbau" aus der UNIX Welt hat, ist es ja vielleicht möglich, diese ctags tools etc. in XCode zu integrieren. Wurde sowas schonmal gemacht? Gibt es Intellisense für XCode?

Und: Welche IDEs (außer Slickedit) gibt es denn eigentlich noch für die Mac Plattform?
 
Hallo Jamanikun und herzlichen Glückwunsch zu deinem Switch.

Bei XCode habe ich bis jetzt auch noch keine Funktion gefunden, die etwas ähnlich macht, wie bei dir im Beitrag beschrieben. Allerdings gibt es für OS X das freie Tool Eclipse. Dieses bietet die sog. "Intellisense"-Funktion, ist aber leider nur zum Schreiben von Java-Programmen gedacht.
 
Vielen Dank für die Glückwünsche. Ich bin noch nicht komplett geswitcht, da einige Dinge nicht so einfach auf den Mac zu übertragen sind. Die muß ich erst unter WindUx fertigstellen. Aber ich überlege mir bereits, mein Notebook "einzutauschen". Es ist ein Samsung P35 - ein IMO sehr gutes Gerät. Bei den Powerbooks scheint es ja mit der Hardwarequalität Probleme zu geben :(
Und ich befürchte, der "Schock" WXGA Notebook mit Centrino -> iBook 12" ist nicht so leicht zu verkraften ;)

Zum anderen:
Mit CDT müßte man Intellisense unter Eclipse auch beim C-Programmieren bekommen. Vielleicht muß man - ähnlich KDevelop - ein Tag-Repository anlegen. Ausprobiert habe ich es jedenfalls nur kurz unter Windows. Da hatte ich jedoch einen 2 GHz AMD64 zur Verfügung. Der Mac Mini wird nicht *ganz* mithalten können und so befürchte ich, daß Eclipse nicht so berauschend laufen wird.
Ich bin eh ein Fan von "nativen" Umgebungen. Codeforge (www.codeforge.com) wäre sonst sicher ganz nett und auch günstig (30$ für Studenten). Aber es läuft nur unter X11 als angepasste Unix-Applikation.
 
jamanikun schrieb:
Bei den Powerbooks scheint es ja mit der Hardwarequalität Probleme zu geben :(

apple-user jammern tendenziell auf hohem niveau :) ich bin zuletz von IBM/Debian/Gnome zu appel geswitch. mit der qualität bin ich im gesamteindruck zufrieden. da habe ich bei IBM, DELL und Sony schon schlimmeres gesehen.

wenn du den rechner beruflich einsetzt, dann hol dir gleich 3-Jahre Apple-Care und kauf den Rechner bei einem Händler vor Ort. Da wird dir - wenn es ein guter Händler - in dringenden Hardwarefällen schnell geholfen. ich würde dir momentan zu einem PB 15'' vor Oktober 2005 raten, wenn du was stabiles für den Arbeitsalltag brauchst.
 
jamanikun schrieb:
Der Mac Mini wird nicht *ganz* mithalten können und so befürchte ich, daß Eclipse nicht so berauschend laufen wird.

jEdit ist wie Eclipese in Java geschrieben und läuft auf PB15'' 1.67 sehr angenehm flüssig. Eclipse fühlt sich auf dem selben rechner recht bockig an. Das GUI ist nicht wirklich flink.

Über http://fink.sourceforge.net/ kannst du Gnome/KDE-Anwendungen auch unter OS X installieren. KDevelop ist anscheinend noch nicht drin. Vielleicht täusche ich mich da aber auch.
 
jamanikun schrieb:
Leider habe ich diese (hoffentlich nun ausgiebig beschriebene) Funktion in XCode nicht gefunden. Das "Code Sense" Tool, welches man mittels ESC aufrufen kann, schlägt ja nur eine Vervollständigung der Eingabe vor. Ähnlich wie das AutoVervollständigen aus Windows (bspw. bei Excel gibt es das oder im bösen IE).
Markiere mal bei den Xcode-Einstellungen und "Code Sense" alle Checkboxen, dann verhält sich Code-Sense genauso wie beschrieben. Zumindest bei ObjC

Wenn ich da [NSString eingebe dann "popt" eine Liste mit Methoden, Eigenschaften etc auf.
 
Ich kann merkwürdigerweise kein Screen Grab machen, aber ich denke, du meinst die Liste mit NSStringAttributeType, NSStringDrawing... etc.
Das ist m.E. "code completion", aber Intellisense geht einen Schritt weiter: Hat man z.B. eine Struktur TStruktur erstellt und in einer Methode mit t deklariert, dann würde bei Eingabe von "t." eine Liste aufpoppen mit allen Strukturvariablen. Ähnlich bei Klassen und deren Variablen bzw. Methoden.
Genau das macht XCode aber scheinbar nicht.

Man kann damit leben, aber die "Project Symbols" sehen mir auch nicht gerade sehr aufgeräumt aus :(
 
nur zum Verstädnis, du meinst doch sowas:
 

Anhänge

  • code sense.png
    code sense.png
    28,9 KB · Aufrufe: 93
Ja, genau das meine ich. Komisch, bei einem C++ Console Projekt funktioniert das auch bei mir. Wenn ich ein SDL-Projekt starte, jedoch nicht. Allerdings habe ich typedef benutzt. Und dann gibt es ja noch Strukturen, die in der SDL.h, aber nicht in selbst geschriebenen Dateien stecken.

Momentan teste ich das hier: http://www.metrowerks.com/MW/Develop/Desktop/Mac10.htm
Kann leider nicht herausfinden, was die Einschränkungen der Free Edition gegenüber der (mit 99$ noch bezahlbare) Pro Edition sind. Betrifft wahrscheinlich Libraries und Versionsverwaltung oder so.
Hab's nur kurz getestet bisher, am man merkt, daß bein Inkludieren von Headern diese "gescannt" werden. Damit verwaltet CW scheinbar automatisch sein Tag-Repository für das aktuelle Projekt.
 
Zurück
Oben Unten