C++
C++ support is available natively in Zed.
- Tree Sitter: tree-sitter/tree-sitter-cpp
- Language Server: clangd/clangd
Binary
You can configure which clangd binary Zed should use.
To use a binary in a custom location, add the following to your settings.json:
{
"lsp": {
"clangd": {
"binary": {
"path": "/path/to/clangd",
"arguments": []
}
}
}
}
If you want to disable Zed looking for a clangd binary, you can set ignore_system-version to true:
{
"lsp": {
"clangd": {
"binary": {
"ignore_system_version": true
}
}
}
}
More server configuration
In the root of your project, it is generally common to create a .clangd file to set extra configuration.
CompileFlags:
Add:
- "--include-directory=/path/to/include"
Diagnostics:
MissingIncludes: Strict
UnusedIncludes: Strict
For more advanced usage of clangd configuration file, take a look into their official page.