Forum Programmation.c++ Autocomplétion dans QtCreator comme dans Eclipse

Posté par . Licence CC by-sa
1
16
sept.
2014

Bonsoir tout le monde,

Dans mon travail, je fais du Java avec l'IDE Eclipse. Chez moi, j'aurais voulu bidouiller petit peu de Qt et j'utilise l'IDE QtCreator, qui à l'air d'être celui de référence.

J'ai créé un petit projet mais je suis étonné que je ne retrouve pas l'autocomplétion comme dans Eclipse. Par exemple, j'ai créé une classe DirectoryObject et j'aurais voulu que lorsque je commence à taper son nom dans ma fonction main(), qu'après un Ctrl + Espace, il m'affiche au moins la petite pop-up la suggérant. Or, je n'ai rien de tel. Cependant, si j'ajoute l'include il me propose la classe.

Même chose si je veux déclarer une variable de type QString, qui est une classe Qt. Lorsque je commence à taper le nom de la classe et "que je Ctrl + Espace", elle n'est pas suggérée. Même chose que précédemment, si j'ajoute l'include il me la propose.

Alors que dans Eclipse, il nous propose ce qu'il faut et ajoute l'inclusion automatiquement lorsqu'on sélectionne ce qu'on veut.

Est-ce normal ? Faut-il configurer quelque chose ? Parce que c'est déroutant et en plus, je suis un peu fainéant de me taper les includes, sans oublier que chercher dans la petite popup le nom d'une classe est parfois utile. :)

  • # ca me semble logique

    Posté par . Évalué à 2.

    ton IDE ne peut pas deviner ce que tu cherches si tu ne lui donnes pas d'include au depart (il faudrait alors qu'il precharche tous les include possibles pour te faire des propositions)

    si ton IDE ne te plait pas, tu peux changer d'IDE, tu dois meme pouvoir codé en C++/Qt avec Eclipse
    et avoir alors le meilleur des deux mondes :p

    • [^] # Re: ca me semble logique

      Posté par . Évalué à 3.

      Je ne sais pas comment se débrouille Eclipse mais il te met dans la popup d'autocomplétion toutes les classes qui sont dans ton ClassPath. Comme ça, tu choisie ta classe et pouf, il t'ajoute l'import tout seul. Je pense qu'il doit créer un index ou alors c'est peut-être grandement facilité par le fait qu'une classe = un fichier, en Java ?

      Alors que dans QtCreator, même pour les classes que tu as toi-même créées dans d'autres fichiers de ton projet, tu dois manuellement te taper l'include. Alors qu'ils sont bien déclarés dans le .pro.
      De plus, la moindre des choses quand tu utilises QtCreator et que tu veux utiliser des classes Qt comme QString, c'est que tu puisses les utiliser sans devoir taper un "#include " manuellement pour pouvoir les voir apparaître dans ta popup "Ctrl + Espace" (enfin, ça reste mon avis, hein ? :P)

      En fait, je pensais qu'il y aurait un moyen comme le monsieur il a fait pour KDevelop4 : https://zwabel.wordpress.com/2009/02/04/automatic-include-directives-and-forward-declarations/

    • [^] # Re: ca me semble logique

      Posté par . Évalué à 2.

      et avoir alors le meilleur des deux mondes :p

      Quoi on peut coder en java avec Qt Creator ???? Comment on fait ?

      Blague à part eclipse n'a qu'un seul intérêt, c'est la plâtrée de langage dispo, mais il fait tout mal, et le java un peu moins mal. Si c'est du java vaut mieux utiliser intelliJ ou netbeans à la rigueur.

      Il ne faut pas décorner les boeufs avant d'avoir semé le vent

      • [^] # Re: ca me semble logique

        Posté par . Évalué à 1.

        Je ne suis pas d'accord sur l'Eclipse qui "fait tout mal". Lorsque j'étais étudiant (ça remonte à un an maintenant :D), les autres étudiants, d'une année sur l'autre, se passaient la rumeur qu'Eclipse c'est pas bien et que NetBeans c'est mieux. Le soucis c'est qu'ils ne savaient pas le configurer, ni l'utiliser. Et je pense qu'il y a aussi la question de l'esthétique qui rentre en jeu (Netbean étant plus joli qu'Eclipse). Par contre, j'avoue qu'il est dommage de devoir modifier la valeur de certain paramètre dans le ini de lancement d'Eclipse sinon il utilise une trop petite taille de mémoire et l'augmente au fur et à mesure de ses besoins, d'où l'impression de lenteur.

        De mon côté, aux stages et encore à mon boulot maintenant, nous utilisions/utilisons Eclipse alors que NetBeans est sensé être l'IDE officiel pour Java. Je n'ai jamais posé la question du pourquoi mais c'est comme si Eclipse était l'IDE de référence dans le monde du travail quand les entreprises ne veulent pas payer de licence pour IntelliJ. Ensuite, je ne peux pas parler de ce dernier puisque je ne l'ai jamais utilisé mais je n'ai que des bons retours. Mais de ce que j'en ai vu, il à l'air plutot joli au niveau de l'interface :)

        Enfin, je pense qu'on est tous d'accord qu'un IDE écrit dans un langage bas-niveau, tel que le C ou C++, serait la rolls pour code en Java. Et il semblerait que KDevelop le permet :)

        • [^] # Re: ca me semble logique

          Posté par . Évalué à 2.

          Intellij peut être utilisé en version communautaires (ie sans payer de licence )

          Pour le reste je trouve qu'eclipse a un énorme gâchis de place, qu'il a des bugs étrange (j'ai du rebooter l'ordi pour que mes modifs java soient prisent en compte), que c'est une plaie à configurer, il n'a qu'un point positif : il justifie l'achat de machine de catégorie supérieur.

          Il ne faut pas décorner les boeufs avant d'avoir semé le vent

    • [^] # Re: ca me semble logique

      Posté par . Évalué à 1.

      Je viens de faire quelques essai avec KDevelop 4.5.2 et j'ai bien l'autocomplétion comme dans Eclipse. Il me détecte bien les classes que j'ai créé et me propose bien d'ajouter l'include du fichier dans lequel elle est déclarée.

      Je ne comprend pas pourquoi je ne l'ai pas avec QtCreator. Je dois peut-être avoir mal configué l'outil mais je ne trouve pas où :(

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.