Come saltare alla corretta definizione del metodo quando più di un tag corrispondono?


3

Ho provato a generare il file tag da:

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

Ma quando ci sono più corrispondenze, ctrl +] passa sempre alla definizione errata del metodo in un'altra classe.

So che posso usare: tjump per selezionare se c'è più di un'opzione. Ma spero che ci sia una soluzione migliore (se presente)?


Dai un'occhiata a:help tag-priority
Flimm,

Risposte:


9

In questi casi, consiglierei di utilizzare g CTRL-]invece di CTRL-]. Ad esempio :tjump, questo elencherà tutte le corrispondenze di tag disponibili e ti interrogherà invece di saltare al primo.

Per renderlo predefinito, puoi usare questo mapping:

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

Ciao, hai qualche idea su questo problema ?
georgexsh,

quindi immagino, non c'è modo ctagsdi saperlo. Dobbiamo quindi elencarli e facciamo la scelta.
dattiloscritto il

0

Né ctags né vim hanno la capacità di indovinare quale sia il tag corretto e non c'è modo di aggirarlo accanto :tjumpo :tselect. :tagha un meccanismo prioritario di cui puoi leggere nel documento ma che è ancora piuttosto stupido.

Cscope è un po 'più intelligente ma non molto.

Data questa situazione, elencare i possibili obiettivi tra cui scegliere è l'unico approccio sano e pratico.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.