• [^] # Re: Manque un truc

    Posté par . En réponse à la dépêche Atom 1.0.x : l'autre éditeur de code. Évalué à 10.

    Je suis d'accord. Comme IDE, contrairement à ce que qu'affirme la dépêche, Atom est très limité et ne mérite guère ce titre. J'avais aussi tiqué sur l'allégation tout subjective qu'il « propose une auto-complétion relativement bien faite. »

    À mon sens, un vrai IDE (il n'y a pas de définition officielle) est formé d'un éditeur de code, d'une intégration des outils annexes (compilation, déboggeur, tests automatiques, etc), et de complétions et navigations intelligentes (et affichage ciblé de documentation). Pour un langage objet, si je complète la propriété d'une variable, l'IDE doit utiliser sa classe pour me faire une proposition adéquate, et afficher aisément la doc associée à cette propriété. Eclipse et Netbeans sont des IDE libres qui peuvent très bien faire ça, non seulement pour du Java, mais même pour des langages faiblement typés comme PHP.

    Malheureusement, les remèdes à base de ctags sont des pis-allers très limités. La complétion est "stupide". Naviguer vers la définition d'une méthode est souvent pénible, puisque chaque méthode homonyme (par exemple surchargée) est listée comme source possible. Et bien sûr, on n'a ni complétion ni documentation pour les fonctions du langage, sans parler des problèmes de désynchronisation de l'indexation.

    Et non, Emacs ne sait pas naviguer intelligemment dans le code. En dehors d'Exuberant ctags, il y a CEDET (parser syntaxique en lisp) mais le projet est moribond et à peine utilisable, même si on se limite à du C. Le seul langage de programmation pour lequel j'ai vu une navigation et une complétion au point dans Vim/Emacs, c'est Haskell, grâce au fonctionnement client-serveur de Ghcmod qui fournit à la volée les informations à l'éditeur de code.