En un mot, je suis à la recherche d'un travail d'auto-complétion de la fonctionnalité de l'éditeur Vim. J'ai soutenu avant que Vim remplace complètement un IDE sous Linux et tout ce qui est certainement vrai, il manque un élément important: l'auto-complétion.
Je sais que sur Ctrl+N, Exuberant Ctags intégration, Taglist, cppcomplete et OmniCppComplete. Hélas, aucun de ces ajustements, ma description de "travail d'auto-complétion:"
-
Ctrl+N fonctionne très bien (seulement) si vous avez forgotton comment épeler
class
ouwhile
. Oh bien. - Ctags vous donne les rudiments, mais a beaucoup d'inconvénients.
- Taglist est juste un Ctags wrapper et en tant que tel, hérite de la plupart de ses inconvénients (bien que cela fonctionne bien pour la liste des déclarations).
- cppcomplete tout simplement ne fonctionne pas comme promis, et je ne peux pas comprendre ce que j'ai fait de mal, ou si c'est "travailler" correctement, et que les limitations sont de par leur conception.
-
OmniCppComplete semble avoir les mêmes problèmes que cppcomplete, c'est à dire l'auto-complétion ne fonctionne pas correctement. En outre, l'
tags
le fichier une fois de plus, doit être mis à jour manuellement.
Je suis conscient du fait que même pas moderne, complet IDEs offrir un bon de code C++ d'achèvement. C'est pourquoi j'ai accepté de Vim manque dans ce domaine jusqu'à présent. Mais je pense qu'un niveau fondamental de la complétion de code n'est pas trop demander, et il est en effet nécessaire pour une utilisation. Donc, je suis à la recherche de quelque chose qui peut accomplir au moins les choses suivantes.
-
La syntaxe de la conscience. cppcomplete promesses (mais ne remet pas pour moi), la correction, la portée conscient de l'auto-complétion des opérations suivantes:
variableName.abc variableName->abc typeName::abc
Et vraiment, tout le reste est complètement inutile.
Configurabilité. J'ai besoin de spécifier (facilement) où les fichiers source sont, et où, par conséquent, le script reçoit à son auto-complétion des informations. En fait, j'ai un Makefile dans mon répertoire, qui spécifie le chemins à inclure. Eclipse peut interpréter l'information qui s'y trouve, pourquoi pas un script Vim?
De l'actualité. Dès que je change quelque chose dans mon fichier, je veux l'auto-complétion pour en tenir compte. Je n'ai pas envie de déclencher manuellement
ctags
(ou quelque chose de comparable). Aussi, des modifications devraient être incrémentale, c'est à dire quand j'ai changé qu'un seul fichier, c'est complètement inacceptable pourctags
de l'analyser à nouveau l'ensemble de l'arborescence du répertoire (qui peut être énorme).
Ai-je oublié quelque chose? Hésitez pas à mettre à jour.
Je suis à l'aise avec beaucoup de configuration et/ou de bricolage, mais je ne veux pas de programme de une solution à partir de zéro, et je ne suis pas bon à débogage de scripts Vim.
Une dernière remarque, j'aimerais vraiment quelque chose de similaire pour Java et C#, mais je suppose que c'est trop espérer pour: ctags
seulement traite les fichiers de code et Java et en C# énormes, précompilés cadres, qui doivent être indexés. Malheureusement, le développement .NET sans IDE est encore plus d'un pain PITA que C++.