La complétion de Visual Studio est pas mal dans le sens où elle est assez rapide comparé à celle de CDT. Mais par contre, au niveau des choix proposé, je trouve qu'elle merdouille un peu.
Par exemple, les fonctions proposé ne sont pas dans le champ d'application autorisé.
Exemple :
Tu as 2 procédures :
void foo1()
{
foo2(); /* <-- foo2 n'est pas visible depuis cette fonction */
}
void foo2()
{
foo1(); /* foo1 peut être appelé ici */
}
Dans la première procédure (foo1), si tu veux insérer le code qui appèle la seconde procédure (foo2) et que tu essayes de faire faire la complétion, Visual te le proposera.. Pas Eclipse... Et ce qui est juste pour eclipse.
En effet, la fonction foo2 n'est normalement pas visible depuis foo1 car déclaré après.
Par contre, foo1 pourra etre complété si appelé à l'interieur de foo2.
Cependant, c'est vrai qu'il y a encore du travail :
* Il reste 1 gros problèmes au niveau de la completion dans CDT, c'est la vitesse. Les développeurs ont mis en place un parseur C/C++ qui me parait assez correct (il restait quelques bugs au niveau de l'usage intensif de macro qui a l'air dévoir été corrigé dans cette release.) Par contre, quand on regarde comment ce parseur fonctionne, on se rend compte qu'il est appelé à chaque demande de completion. Et tous les fichiers inclus sont à chaque fois reparsé... Donc, si vous travaillez sans inclure trop de header et de libs, tout va bien.. Si vous commencez à include wxWidget par exemple, le temps va vous parraitre très long. Il y a un système de cache qui se met en place mais ce n'est pas encore au point.
* Un autre problème qui est un peu moins génant, mais qui fait perdre le coté pratique de la complétion, c'est comme tu le dis Flink, le manque d'infos lors de la completion (l'affichage des commentaires pourrait etre sympa par exemple)... Et justement il y a une reflexion en cours là dessus sur la ML. Ils parlent de mettre un parseur spécifique pour lire les donnés annexes au code, comme les commentaires doxygen, etc.. Ce parseur pourrait etre extensible pour pouvoir aussi bien utiliser doxygen que javadoc ou autre.
Pour en revenir à Visual, il y a une extension payante qui s'apelle Visual Assist qui permet d'améliorer un peu les points faible de visual mais bon... Même avec les améliorations apportés, il y a moyen de faire beaucoup mieux.
L'architecture d'Eclipse est assez bien foutu et si ils arrivent à transposer la puissance de JDT (le plugin Eclipse pour Java) et en faire la même chose pour CDT, je pense alors que Eclipse/CDT pourrait etre l'IDE C++ le plus puissant qu'il y a sur le marché.
[^] # Re: Complétion
Posté par Nicolas Antoniazzi (site web personnel) . En réponse au journal CDT 3.0 pour eclipse.. Évalué à 6.
Par exemple, les fonctions proposé ne sont pas dans le champ d'application autorisé.
Exemple :
Tu as 2 procédures :
Dans la première procédure (foo1), si tu veux insérer le code qui appèle la seconde procédure (foo2) et que tu essayes de faire faire la complétion, Visual te le proposera.. Pas Eclipse... Et ce qui est juste pour eclipse.
En effet, la fonction foo2 n'est normalement pas visible depuis foo1 car déclaré après.
Par contre, foo1 pourra etre complété si appelé à l'interieur de foo2.
Cependant, c'est vrai qu'il y a encore du travail :
* Il reste 1 gros problèmes au niveau de la completion dans CDT, c'est la vitesse. Les développeurs ont mis en place un parseur C/C++ qui me parait assez correct (il restait quelques bugs au niveau de l'usage intensif de macro qui a l'air dévoir été corrigé dans cette release.) Par contre, quand on regarde comment ce parseur fonctionne, on se rend compte qu'il est appelé à chaque demande de completion. Et tous les fichiers inclus sont à chaque fois reparsé... Donc, si vous travaillez sans inclure trop de header et de libs, tout va bien.. Si vous commencez à include wxWidget par exemple, le temps va vous parraitre très long. Il y a un système de cache qui se met en place mais ce n'est pas encore au point.
* Un autre problème qui est un peu moins génant, mais qui fait perdre le coté pratique de la complétion, c'est comme tu le dis Flink, le manque d'infos lors de la completion (l'affichage des commentaires pourrait etre sympa par exemple)... Et justement il y a une reflexion en cours là dessus sur la ML. Ils parlent de mettre un parseur spécifique pour lire les donnés annexes au code, comme les commentaires doxygen, etc.. Ce parseur pourrait etre extensible pour pouvoir aussi bien utiliser doxygen que javadoc ou autre.
Pour en revenir à Visual, il y a une extension payante qui s'apelle Visual Assist qui permet d'améliorer un peu les points faible de visual mais bon... Même avec les améliorations apportés, il y a moyen de faire beaucoup mieux.
L'architecture d'Eclipse est assez bien foutu et si ils arrivent à transposer la puissance de JDT (le plugin Eclipse pour Java) et en faire la même chose pour CDT, je pense alors que Eclipse/CDT pourrait etre l'IDE C++ le plus puissant qu'il y a sur le marché.