Question Comment sauter à la définition de méthode correcte lorsque plusieurs balises correspondent?


J'ai essayé de générer le fichier de balises en:

ctags -R * −−java−kinds=+mc

Mais quand il y a plus d'une correspondance, ctrl +] passe toujours à la mauvaise définition de méthode dans une autre classe.

Je sais que je peux utiliser: tjump pour sélectionner s'il y a plus d'une option. Mais j'espère qu'il y a une meilleure solution (le cas échéant)?


2
2017-11-22 03:53


origine


Jettes un coup d'oeil à :help tag-priority - Flimm


Réponses:


Dans de tels cas, je vous recommande d'utiliser g CTRL-] au lieu de CTRL-]. Comme :tjump, cela listera tous les mots-clés disponibles et vous interrogera au lieu de sauter au premier.

Pour rendre cela par défaut, vous pouvez utiliser ce mappage:

:nnoremap <C-]> g<C-]>

5
2017-11-22 08:20



Salut, avez-vous une idée sur ce problème? - georgexsh


Ni ctags ni vim n'ont la capacité de deviner ce qu'est la balise correcte et il n'y a aucun moyen de contourner cela en dehors de :tjump ou :tselect. :tag a un mécanisme de priorité que vous pouvez lire dans le document mais qui est encore assez stupide.

Cscope est un peu plus intelligent mais pas beaucoup.

Compte tenu de cette situation, la liste des cibles possibles à choisir est la seule approche sensée et pratique.


0
2017-11-22 07:07