I'm trying to find a good configuration for ctags with C#. I know I can use OmniSharp, but I'd like to have tags for other plugins and when OmniSharp is broken.
I started with something based on this old blog post. It didn't include structs.
I also want namespace kind for inclement.
I added almost all kinds and have been using this for a while:
# all C# kinds except: # e enumerators (enumeration values) -- just jump to enum instead # f fields -- adds 70% more bytes # l local variables -- adds 90% more bytes ctags --c#-kinds=cismpdngtE --fields=+ianmzS --extra=+fq -L $tagfile
(Size values are based on a ~10 MB tag file and I find larger tag files result in slower jumps.)
I'm unsatisfied. Searching github is unhelpful.
For now, I'm trying adding minimal fields info and removing extra info (not entirely sure how extra is used if I don't have vimscript processing it):
ctags --c#-kinds=cismpdngtEf --fields=kst -L $tagfile
Do you have a better ctag solution for C#?
Please no lsp/OmniSharp-based solutions.