RTags is a client/server application that indexes C/C++ code and keeps a persistent file-based database of references, declarations, definitions, symbol names, etc.
This extension allows the RTags client to be used from within Visual Studio Code.
This extension was originally forked from https://github.com/yorver/rtags-vscode.
Features
- Go to Definition/Declaration
- Find References
- Call Hierarchy, Inheritance Hierarchy
- Hover Information
- Diagnostics (Error Squiggles)
- Code Actions (Fix-It Hints)
- Code Completion
- Signature Help
- Symbol Highlighting
- Symbol Searching
- Symbol Renaming
Usage
The extension will become active when you open a folder or workspace that contains a compilation database file called compile_commands.json
. The compilation database will be loaded into RTags, if it is not already loaded.
Multi-root workspaces are supported.
The commands are available through both the editor context menu and the command palette (Ctrl+Shift+P
).
Configuration Settings
rtags.rc.executable
: Path to the rc
executable (default assumes the executable is in the PATH
).
rtags.rdm.autoLaunch
: If true, rdm
will be launched automatically, if it is not already running.
rtags.rdm.executable
: Path to the rdm
executable (default assumes the executable is in the PATH
).
rtags.rdm.arguments
: Array containing arguments to pass to the rdm
executable, if it is launched automatically. If the argument -j
/--job-count
is not already present in the array, then it will be set to 50% of the logical CPU cores by default.
rtags.diagnostics.enabled
: If true, diagnostics will be enabled.
rtags.diagnostics.openFilesOnly
: If true, diagnostics will be reported only for open files.
rtags.codeActions.enabled
: If true, code actions (fix-it hints) will be enabled.
rtags.completion.enabled
: If true, code completion will be enabled.
rtags.completion.maxResults
: Maximum number of code completion results to report.
rtags.highlighting.enabled
: If true, document symbol highlighting will be enabled.
rtags.misc.compilationDatabaseDirectory
: If not empty, the compilation database directory to use instead of the workspace root.
rtags.misc.compilationDatabaseRecursiveSearch
: If true, find all compilation databases, recursively, in the specified compilation database directory.
rtags.misc.maxWorkspaceSearchResults
: Maximum number of global search (i.e., Ctrl+T + #foo
) results to report.
Requirements
To use this extension you need to install RTags.
You may optionally start the RTags server:
rdm --daemon