[23:04:36] <godrik>
les fonctionnalités de navigation / refactoring / auto-complétion / génération de code en dehors de l'éditeur ça m'a l'air assez inutilisable.
C'est possible. Je n'ai jamais vraiment eu besoin de faire ce genre de chose. En pratique, je fais beaucoup plus d'ecriture/debuggage d'algo complexe ou bas niveau que du travail sur un systeme a architecture logicielle complexe.
Quelques questions pour m'eduquer un peu.
Les gens parlent beaucoup des outils de refactoring, mais de ce que j'ai vu de l'utilisation, c'est surtout une histoire de changer le nom d'une variable ou d'une fonction. Et en moyenne un sed interactif fait tout pareil. J'imagine qu'il y a des outils de refactoring plus intelligent que ca?
Changer le type de retour d'une fonction, l'ordre des paramètres d'une fonction, ajouter / supprimer des paramètres d'une fonction. C'est ce que j'ai déjà utilisé en tout cas, il y en a peut-être d'autres.
Les outils de navigations, tu veux dire "aller a la fonction appellante" ou "aller a la definition de ce symbol"? ou j'ai loupe un truc plus intelligent que ca? (parceque tout ca c'est gerer depuis 25 ans.)
Bah pourtant en C++ avec les templates les outils que j'ai utilisé s'en sortent pas tous facilement encore en 2021. Mais sinon ouais ça consiste à naviguer entre déclaration / définition et utilisation de chaque symboles.
L'auto-completion ca m'est rarement utile, mais j'ecris assez peu de glue. En pratique j'utilise surtout l'auto-completion a partir du contenu des buffers ouverts. Emacs a de l'auto completion semantique comme pycharm fait. Jamais trouve ca utile pour moi, donc j'ai jamais regarde plus que ca.
En generation de code, il y a des trucs plus intelligent que "creer une classe qui implemente l'interface bidule"? J'imagine que codex viendra cependant.
Rien d'extraordinaire, mais juste plusieurs petits trucs intéressants, comme générer tous les cases d'un switch, auto-compléter les arguments d'une fonction selon le nom des paramètres qu'elle prend, ou juste des raccourcis pour des trucs que t'écris potentiellement souvent genre "type.mkshrd" qui se transforme en "std::make_shared<type>()", etc.
Rien d'extraordinaire, tu peux l'avoir avec emacs j'en suis sûr, mais c'est présent par défaut sans aucune configuration et c'est ça que j'aime bien.