Massive Intellisense-Probleme in VC++/CLR 2008

15/10/2008 - 17:05 von Armin Zingler | Report spam
Hallo nochmal,

Kann es sein, dass Intellisense bei VC++ noch nicht so ausgereift ist?

Als eingefleischter VB-ler bin ich ein viel zuverlàssigeres Verhalten
gewöhnt. Ich habe in VC++ oft das Problem, dass keine Intellisense-Infos zur
Verfügung stehen. Momentan habe ich hier sogar ein fehlerfrei kompilierbares
Projekt, und an einer bestimmten Stelle stehen angeblich keine
Intellisense-Infos zur Verfügung. Konkret bei Eingabe von "creator->"
erwarte ich die Auflistung der Member. Stattdessen wird in der Statusleiste
angezeigt,dass keine Intellisense-Infos zur Verfügung stünden; außerdem der
Hinweis auf die Hilfe ("Problembehandlung bei IntelliSense in
C++-Projekten"). Darin steht u.a., man solle die NCB-Datei löschen. Habe ich
gemacht, Projekt bereinigt, neu kompiliert - dennoch.

Auch "gehe zu Definition" funktioniert nicht immer ("Das Symbol 'bla' ist
nicht definiert"). Ebenso steht im Codedefinitionsfenster oft nur "Keine
Definition ausgewàhlt", obwohl das nicht stimmt.

Ein anderes Mal wàhle ich im Kontextmenü "gehe zu Definition", und ich darf
daraufhin aus eine Liste die richtige Definition auswàhlen. Eigentlich
sollte aber _mir_ die IDE sagen, wo es definiert ist und mich nicht danach
fragen. "Mehrdeutigkeit auflösen" lautet der Fenstertitel. Kann nicht sein,
denn wenn es mehrdeutig wàre, könnte es nicht eindeutig kompiliert werden.

Oder es wird einfach die falsche Definition gefunden. Statt eines eigenen
Members im eigenen Code wird ein zufàllig gleichnamiges irgendwo im
Framework angesprungen - ohne vorher eine Mehrdeutigkeit festgestellt zu
haben. Widersprüchlicherweise wird im Codedefinitionsfenster "Keine
Definition ausgewàhlt" angezeigt und Strg+I (Quick-Info) führt zur o.g.
Anzeige in der Statusleiste. Seltsam, wenn das Symbol unbekannt ist, wieso
kann dann zu der (falschen) Definition im Objektbrowser gesprungen werden?

In der Klassenansicht fehlen außerdem Namespaces. Wahrscheinlich der
offensichtlichste Grund für die angeblich fehlenden Definitionen.

Oder: der Tooltip zeigt die richtige Definition/Deklaration an aber "gehe zu
definition" macht gar nichts.

Oder: es werden Intellisense-Infos (Member-Auflistung wie bei Eingabe von
"creator->") angezeigt bis mir erst der Kompiler sagt, dass die Variable
("creator" in dem Fall) in dem Scope gar nicht vorhanden ist.

Oder: es gibt Intellisense-Infos aber wàhrend ich die Zeile tippe gehen die
Intellisense-Infos flöten nur weil ich gerade eine Zeile tippe, die noch
nicht kompilierbar ist.

Oder: Im Codefenster wird oben in der linken Combo der richtige Bereich
angezeigt. Geht man ein paar Zeilen tiefer, steht dann dort "(Unbekannter
Bereich)" obwohl das unbegründet ist.

Wie gesagt, das alles bei einem fehlerfrei kompilierbaren und lauffàhigen
Projekt. Manchmal hilft es, das Projekt zu schließen und neu zu laden.
Manchmal.

Das soll kein konkreter Hilferuf sondern eher die Frage sein, ob diese
Seltsamkeiten oder gar Fehler normal sind und ich mit ihnen leben lernen
muss. Ich würde es ja hinnehmen, wenn Intellisense nur empfindlicher als in
VB wàre, aber ich beobachte eher ein àußerst chaotisches Verhalten. Aber was
sage ich: Es ist einfach indiskutabel und aufgrund der Tatsache, dass VC++
immer noch auf einem überholten, dateiorientierten Prinzip basiert, àußerst
anstrengend, denn gerade deswegen benötige ich die Unterstützung der
Entwicklungsumgebung.


Armin
 

Lesen sie die antworten

#1 Jochen Kalmbach [MVP]
15/10/2008 - 18:46 | Warnen spam
Hallo Armin!

Kann es sein, dass Intellisense bei VC++ noch nicht so ausgereift ist?



Verwende Visual Assist...


Greetings
Jochen

My blog about Win32 and .NET
http://blog.kalmbachnet.de/

Ähnliche fragen