CTags workspace symbol provider extension for Visual Studio Code
MIT License
A zero-config workspace symbol provider using ctags.
Regenerate CTags
commandThis extension is intended to be a complement to your existing language tooling, or to provide a minimal level of code navigation support for languages which don't have any native VSCode integrations. I originally wrote it for use with the Simple GHC Integration.
ctagsymbols requires a tags file to work. This may be generated using Exuberant Ctags, hasktags (for Haskell), etc.
By default, ctagsymbols looks for tags in <workspace root>/tags
.
No extended tag information is required, so you can generate your tags file (for most languages)
by simply running ctags -R .
in the root folder of your workspace.
For your convenience, the Regenerate CTags
command, accessible from the VSCode command palette,
does exactly this. (This feature requires ctags
to be installed on your system.)
You can also let this extension regenerate your tags files automatically whenever you save a source file. This will regenerate the tags file for the workspace in which the saved file resides.
This feature is disabled by default due to performance concerns with huge code bases. It's recommended that you enable this feature on a per-workspace basis, rather than for all your projects.
ctagsymbols.tagsFile
: path to the ctags file to read symbols from, relative to the workspace root.ctagsymbols.hideDuplicateTags
: when there are multiple tags with the same name in the same source file, hide all but the first one.ctagsymbols.maxNumberOfSymbols
: never display more than this many symbols, regardless of the number of matches.ctagsymbols.minQueryLength
: don't process symbol queries shorter than this. May improve performance for large code bases since it avoids listing every single symbol in the entire project.ctagsymbols.regenerateCommand
: command to use for regenerating tags files when Regenerate CTags
is invoked.