Man page - clangd-19(1)
Packages contains this manual
Manual
CLANGD
NAMEDESCRIPTION
It should be used via an editor plugin rather than invoked directly. Formore information, see:
NAME
clangd - manual page for clangd 19
DESCRIPTION
OVERVIEW: clangd is a language server that provides IDE-like features to editors.
It should be used via an editor plugin rather than invoked directly. Formore information, see:
https://clangd.llvm.org/ https://microsoft.github.io/language-server-protocol/
clangd accepts flags on the commandline, and in the CLANGD_FLAGS environment variable.
USAGE: clangd [options]
OPTIONS:
Generic Options:
|
--help - Display available options ( --help-hidden for more) |
|
|
--help-list - Display list of available options ( --help-list-hidden for more) |
|
|
--version - Display the version of this program |
clangd compilation flags options:
|
--compile-commands-dir= <string> - Specify a path to look for compile_commands.json. If path is invalid, clangd will look in the current directory and parent paths of each source file |
|
|
--query-driver= <string> - Comma separated list of globs for white-listing gcc-compatible drivers that are safe to execute. Drivers matching any of these globs will be used to extract system includes. e.g. /usr/bin/**/clang-*,/path/to/repo/**/g++-* |
clangd feature options:
|
--all-scopes-completion - If set to true, code completion will include index symbols that are not defined in the scopes (e.g. namespaces) visible from the code completion point. Such completions can insert scope qualifiers |
|
|
--background-index - Index project code in the background and persist index on disk. |
|
|
--background-index-priority= <value> - Thread priority for building the background index. The effect of this flag is OS-specific. |
=background
- Minimum priority, runs on idle CPUs. May leave βperformanceβ cores unused.
|
=low |
- Reduced priority compared to interactive work. |
=normal
- Same priority as other clangd work.
|
--clang-tidy - Enable clang-tidy diagnostics |
|
|
--completion-style= <value> - Granularity of code completion suggestions |
=detailed
- One completion item for each semantically distinct completion, with full type information
=bundled
- Similar completion items (e.g. function overloads) are combined. Type information shown where possible
|
--experimental-modules-support - Experimental support for standard c++ modules |
|
|
--fallback-style= <string> - clang-format style to apply by default when no .clang-format file is found |
|
|
--function-arg-placeholders - When disabled, completions contain only parentheses for function calls. When enabled, completions also contain placeholders for method parameters |
|
|
--header-insertion= <value> - Add #include directives when accepting code completions |
|
|
=iwyu |
- Include what you use. Insert the owning header for top-level symbols, unless the header is already directly included or the symbol is forward-declared
|
=never |
- Never insert #include directives as part of code completion |
--header-insertion-decorators - Prepend a circular dot or space before the completion label, depending on whether an include line will be inserted or not
|
--import-insertions - If header insertion is enabled, add #import directives when accepting code completions or fixing includes in Objective-C code |
|
|
--limit-references= <int> - Limit the number of references returned by clangd. 0 means no limit (default=1000) |
|
|
--limit-results= <int> - Limit the number of results returned by clangd. 0 means no limit (default=100) |
|
|
--project-root= <string> - Path to the project root. Requires remote-index-address to be set. |
|
|
--remote-index-address= <string> - Address of the remote index server |
|
|
--rename-file-limit= <int> - Limit the number of files to be affected by symbol renaming. 0 means no limit (default=50) |
clangd miscellaneous options:
|
--check[= <string>] - Parse one file in isolation instead of acting as a language server. Useful to investigate/reproduce crashes or configuration problems. With --check= <filename>, attempts to parse a particular file. |
--enable-config - Read user and project
configuration from YAML files.
Project config is from a .clangd file in the project directory. User config is from clangd/config.yaml in the following directories:
Windows: %USERPROFILE%\AppData\Local
Mac OS: Λ/Library/Preferences/ Others: $XDG_CONFIG_HOME, usually Λ/.config
Configuration is documented at https://clangd.llvm.org/config.html
|
-j <uint> - Number of async workers used by clangd. Background index also uses this many workers. |
|
|
--malloc-trim - Release memory periodically via malloc_trim(3). |
|
|
--pch-storage= <value> - Storing PCHs in memory increases memory usages, but may improve performance |
|
|
=disk |
- store PCHs on disk
=memory
- store PCHs in memory
clangd protocol and logging options:
|
--log= <value> - Verbosity of log messages written to stderr |
=error
- Error messages only
|
=info |
- High level execution tracing |
=verbose
- Low level details
|
--offset-encoding= <value> - Force the offsetEncoding used for character positions. This bypasses negotiation via client capabilities |
=utf-8
- Offsets are in UTF-8 bytes
=utf-16
- Offsets are in UTF-16 code units
=utf-32
- Offsets are in unicode codepoints
|
--path-mappings= <string> - Translates between client paths (as seen by a remote editor) and server paths (where clangd sees files on disk). Comma separated list of β<client_path>=<server_path>β pairs, the first entry matching a given path is used. e.g. /home/project/incl=/opt/include,/home/project=/workarea/project |
|
|
--pretty - Pretty-print JSON output |