Funktioniert bei euch IntelliSense für C++ auch nur so dürftig?



  • Bei mir streikt IntelliSense _immer_ 👎 😡
    Das kann doch unmöglich nur bei mir so sein, nutzt ihr IntelliSense überhaupt noch, oder habt ihr die Schnauze schon voll?



  • Naja, ich schalte es deswegen nicht manuell ab, aber Ich komm ganz gut zurecht. Ist manchmal in der Tat nervig das Projekt builden zu müssen bevor es wieder geht... kA wieso gerade C++ im Vergleich zu praktisch allen anderen Sprachen-Intellisenses so Probleme hat.



  • Ich habe Intellisense gekillt (die DLL gelöscht).

    Visual Assist hat zwar auch so seine Macken, ist aber um längen brauchbarer.



  • Pissed Off schrieb:

    Bei mir streikt IntelliSense _immer_

    Was genau heißt das denn? IntelliSense ist ziemlich lächerlich, wenn man erstmal den VAX kennt, aber ein komplettes Streiken konnte ich noch nicht beobachten.



  • _matze schrieb:

    Was genau heißt das denn? IntelliSense ist ziemlich lächerlich, wenn man erstmal den VAX kennt, aber ein komplettes Streiken konnte ich noch nicht beobachten.

    Um welche Version geht's überhaupt? Bei VS2005 kann ich das bestätigen: Mit Namespaces und ein paar Templates wird das eingebaute IntelliSense nahezu unbrauchbar. Nach längerer Zeit im Projekt streikt es bei mir auch grundsätzlich.

    Natürlich ist seit VA-X alles besser (nicht ironisch gemeint!). Wenn man zusätzlich das eingebaute IntelliSense abschaltet (statt die DLL zu löschen reicht es auch eine 0-Byte .ncb anzulegen und die schreibzuschützen), merkt man VA-X sogar kaum.



  • _matze schrieb:

    ...den VAX kennt...

    😕
    Ich kannte mal "die VAX", aber das ist lange her und passt hier überhaupt nicht rein .... 😉

    Nach meinem Empfinden kommen Intellisense&Co besonders bei templates und typedefs (und natürlich #defines) schnell aus dem Tritt (was besonders ärgerlich ist, weil man bisweilen gar nicht sehen kann, ob man es mit einem template zu tun hat)...
    Finde ich zwar schade, aber andererseits habe ich dafür Verständnis, weil nach einem Empfinden deren Auflösung auch reichlich kompliziert ist.

    KA, ob das mit Java-Generics besser klappt, aber das Fehlen/Nichtverwenden dieser Konstrukte könnte der Grund dafür sein, dass man solche Probleme bei der Javaprogrammierung nicht beobachtet...

    Gruß,

    Simon2.



  • LordJaxom schrieb:

    Um welche Version geht's überhaupt?

    VS2005. Ich habe allerdings sowieso keine eigenen Template-Klassen, daher sind mir solch arge Probleme mit IntelliSense fremd. Was nicht heißt, dass ich es verteidigen will.

    LordJaxom schrieb:

    statt die DLL zu löschen reicht es auch eine 0-Byte .ncb anzulegen und die schreibzuschützen

    Interessant. Ich habe schlechte Erfahrungen damit, die DLL zu löschen. Direkt danach gab es Probleme im Resourcen-Editor. Ich konnte in bestimmten Dialogen keine Control-Variablen mehr anlegen, da "das Element schreibgeschützt" sei. Danach habe ich schnell die DLL wiederhergestellt. Bei einem späteren, zweiten Versuch war es das Gleiche. Kennst du dieses Phänomen zufällig? Schafft deine Methode da Abhilfe? Ich werd's später mal testen.



  • Pissed Off schrieb:

    ...nutzt ihr IntelliSense überhaupt noch, oder habt ihr die Schnauze schon voll?

    intellisense ist so schwach, dass es einem garnicht auffällt, dass es sowas überhaupt gibt. ganz super-selten erscheint mal ein popup, das einem ein paar vorschläge macht. macht also nix, wenn's nicht kommt. die meiste zeit sieht man's sowieso nicht. übrigens: selbst reine c-codes, also ohne templates, exceptions und anderem c++ -schnickschnack, lassen intellisense auch nicht öfter erscheinen.

    Simon2 schrieb:

    KA, ob das mit Java-Generics besser klappt, aber das Fehlen/Nichtverwenden dieser Konstrukte könnte der Grund dafür sein, dass man solche Probleme bei der Javaprogrammierung nicht beobachtet...

    das sagen viele, aber ich glaub's ja eher nicht. ich hab' mal gehört, dass intellisense für 'visual basic' unc C# gemacht wurde und damit eigentlich ganz gut läuft. die c-unterstützung wurde dagegen recht lieblos implementiert.
    🙂



  • TravisG schrieb:

    kA wieso gerade C++ im Vergleich zu praktisch allen anderen Sprachen-Intellisenses so Probleme hat.

    Vielleicht weil C++ sehr komplex ist? Weil C++ keine direkte Reflection als Feature unterstüzt?

    Ja Intellisense ist schwach, missen möchte ich es dennoch nicht (zumindestens unter den Expressversionen wo VAX keine Option darstellt).

    cu André



  • -fricky- schrieb:

    ...

    Simon2 schrieb:

    KA, ob das mit Java-Generics besser klappt, aber das Fehlen/Nichtverwenden dieser Konstrukte könnte der Grund dafür sein, dass man solche Probleme bei der Javaprogrammierung nicht beobachtet...

    das sagen viele, aber ich glaub's ja eher nicht....

    Warum nicht?
    (ich meine: Ich kann meinen Eindruck ja auch nicht belegen, aber vielleicht weißt Du ja mehr)

    Gruß,

    Simon2.



  • Mit C# funkioniert IntelliSense wirklich hammer gut, nur leider arbeite ich nicht damit.



  • asc schrieb:

    TravisG schrieb:

    kA wieso gerade C++ im Vergleich zu praktisch allen anderen Sprachen-Intellisenses so Probleme hat.

    Vielleicht weil C++ sehr komplex ist? Weil C++ keine direkte Reflection als Feature unterstüzt?

    Ja Intellisense ist schwach, missen möchte ich es dennoch nicht (zumindestens unter den Expressversionen wo VAX keine Option darstellt).

    cu André

    Nein es liegt einfach darin, dass Intellisenses keinen Verweis auf dem Type macht, wenn es ein Template Argument ist.

    #include <iostream>
    
    struct Msg
    {
    	void run()
    	{
    		std::cout << "Hello" << std::endl;
    	}
    };
    
    template<class T = Msg>
    struct Case1
    {
    	void run()
    	{
    		obj.run(); // IntelliSense wird dir hier niemals helfen
    	}
    
    	T obj;
    };
    
    template<class T = Msg>
    struct Case2 : public T
    {
    	void run()
    	{
    		T::run(); // IntelliSense wird dir hier niemals helfen
    	}
    };
    
    int main()
    {
    	Case1<Msg> a;
    	Case2<Msg> b;
    	a.run(); // Kein Problem 
    	b.run(); // Kein Problem
    	std::cin.get();
    	return 0;
    }
    


  • Zeus schrieb:

    Nein es liegt einfach darin, dass Intellisenses keinen Verweis auf dem Type macht, wenn es ein Template Argument ist.

    Das macht aber fast kein C++ Tool was von Haus aus auch in einer IDE mitgeliefert wird (Ich entfinde z.B. Code Insight unter dem C++ Builder auch extem schwach).



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Das Liegt daran, dass die Entwickler dieser Tools die Perspektive nicht wechseln können. IntelliSense hat ne andere Aufgabe als der C++ Compiler, aber sehr wahrscheinlich hat man die gleiche Algorithmen drin.



  • Aber ja bei mir stellt IntelliSense auch oft seinen Dienst ein.


Anmelden zum Antworten