Skip to content

Don't overwrite .clangd file in project root #357

@rc-jpbarbosa

Description

@rc-jpbarbosa

As a user I'd like the option to maintain my own .clangd configuration file (in the project root) without the CDT-LSP plugin overwriting it.

Most importantly, when used with the cmake4eclipse plugin, the CompilationDatabase is incorrectly set to the path specified in C/C++ Build > Build location > Build directory instead of the actual build path specified in C/C++ Build > Cmake4eclipse > Build output location > Folder. This makes the plugin unusable in our project because the resulting CompilationDatabase path does not exist.

(Note: modifying C/C++ Build > Build location > Build directory to match C/C++ Build > Cmake4eclipse > Build output location > Folder is not possible while the Generate Makefiles automatically option is checked, as it is in our project)

We already have steps in our CMake configuration for copying our compile_commands.json to an appropriate directory where clangd can find it, so we don't need the plugin to specify CompilationDatabase at all. We do this in CMake so that clangd will work in our project regardless of the build folder name or IDE being used.

Additionally, the plugin will modify the formatting and strip out useful comments within the .clangd file, meaning we have to take additional measures to ensure these unwanted changes aren't committed to our repository.

I've read through the discussion in the similar issue #227 and, unless I'm misunderstanding the resolution, forking and modifying the plugin ourselves is not a suitable option for our team.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions