问题标签 [clangd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
138 浏览

visual-studio-code - 具有多个构建目录的 vscode 的 clangd

我正在尝试使用 clangd 在 vscode 中完成代码。我正在使用 CMake 进行项目设置,并且正在创建一个编译数据库。但是,我有几个具有不同标志(调试、发布...)的构建目录,并且 clangd 需要在源目录中有编译数据库。这是不可能的,因为每种构建类型的编译数据库都不同......

当您有多种构建类型时,有什么方法可以使用 clangd 吗?

0 投票
0 回答
26 浏览

c++ - 使用智能感知检测 C++ 中变量的赋值

当我们在大型代码库中工作时,有时很难检测到将值分配给特定变量/类属性的位置。使用 clangd 等大多数智能感知工具,我们可以导航到函数声明、定义甚至变量的所有引用。是否有任何实用程序允许我们在所有引用中仅过滤对变量的分配?我们在编译器通道中提供了这样的分析,是否有任何工具(如 libtooling)暴露了智能感知等能力?

0 投票
1 回答
2259 浏览

c++ - 如何使用 LSP(Clangd)设置 Neovim

在此处输入图像描述

我正在尝试设置 neovim 以在 c++ 中进行竞争性编程。而且我认为在输入代码时显示错误会对我有很大帮助,因此我需要在 neovim 中设置 lsp,我尝试过 Nighty Build neovim 但我没有在 gnome-terminal 中工作,所以我什至切换到 Alacrity 但我仍然无法正确设置 LSP。我的要求:我只需要我的 nvim 在我输入时在我的代码中显示错误(不需要自动完成或自动导入)。在neovim中甚至可能吗?如果有人知道,请帮助我设置我的nvim。(我需要我的 vim 来显示图像中的错误)

0 投票
0 回答
60 浏览

c++ - 为什么我在vscode中使用clangd时没有缩进?

当我输入if并使用 clangd 代码完成时,我得到了这个。

我期待着

whilefor是一样的。

虽然我很容易安装了clangd-12,但vscode clangd 扩展程序自动为我安装了clangd 12.0.1.zip。

我想这与问题有关。

0 投票
0 回答
27 浏览

c++ - C宏检查clangd是否正在静态分析代码

我在 C++ 中有一个自定义断言系统,它使用std::source_location. clang 还不支持它,所以我实现了一个临时的 hack:#if defined(__clang__)使用 oldschool hack,比如__FILE__and __PRETTY_FUNCTION__#elseuse source_location

这一切都运作良好,花花公子,直到我开始在 clion 中工作,但使用 GCC 进行编译。Clion 使用 clangd,当 cmake 项目使用 gcc 配置时,它的行为方式很奇特。一些宏定义表明当前编译器是gcc(例如defined(__clang__)为假),其中一些表明它是clang(例如__has_builtin(__builtin_source_location)为假)。这导致我的断言周围出现非常奇怪的误报,无论我做什么,我都无法摆脱它们。

因此,我的问题是:clangd/clion 在静态分析代码时是否添加了一些神奇的定义,以便我可以欺骗他们不在我的断言周围显示该死的红色曲线?

0 投票
1 回答
171 浏览

c - 为什么 clangd 看不到我的自定义库位置

问题陈述:

我在自定义位置安装了一个库,编译和链接工作正常,但 clangd 报告了与自定义库相关的各种错误。

我的 Makefile 有以下标志:

但是,clangd 不知道如何找到头文件,因此我的编辑器显示如下错误,但无济于事:

在互联网上搜索错误和关键字clangd,未能在 SO 或其他地方产生任何有用的东西(因此这个问题)clangd configclangd .clang-format

问题是:

如何告诉 clangd 我的非标准标头在哪里,这样它就不会显示虚假的“找不到文件”警告?

0 投票
1 回答
168 浏览

visual-studio-code - VScode中安装clangd语言服务器失败

我正在使用 VScode,我的工作区位于远程 linux 服务器上。我在远程服务器上成功安装了clangd扩展,但是当我尝试下载语言服务器时,出现以下错误:

我无法找到与此相关的问题。有人可以建议导致此问题的原因吗?

0 投票
1 回答
38 浏览

visual-studio-code - 如何检查clangd是否在VS代码中运行?

我安装了clangd,但我不确定它是否正在运行。我似乎没有得到一些宣传的功能,所以我觉得它没有运行或只是部分工作。

我正在查看https://releases.llvm.org/8.0.0/tools/clang/tools/extra/docs/clangd/Installation.html的“Visual Studio 代码”部分。

这里说:

调试日志:当clangd运行时,你应该在输出面板的下拉菜单中看到“Clang Language Server”(查看->输出)。

在我的下拉列表中(见下图),我只看到clangd但没有Clang language server. 这两个是等价的吗?如果没有,那么它似乎clangd运行不正常?

在此处输入图像描述

0 投票
0 回答
63 浏览

c++ - SDL2/SDL.h 未找到,clang(pp_file_not_found)

我不明白我在哪里犯了错误。我的步骤:

  1. 安装 vscodium,msys2。更新 msys2 包,安装 clangd 扩展,CodeLLdb。

  2. 检查编译构建,工作。一切正常。

  3. 在项目中安装 SDL。树 -树项目

  4. с_cpp_properties.json

  5. launch.json

  6. settings.json

  7. tasks.json

我当然阅读了解决方法,sdl2msys2. 但我想了解我做错了什么。

0 投票
0 回答
105 浏览

c++ - compile_commads 中的 C++ 标准冲突

我正在开发一些使用 C++17 标准和 clangd-13.0 的项目。在我决定在其 CMakeLists 文件中添加使用 C99 标准的库之后的某个时间,现在即使在 cpp 文件中,clangd 也总是基于 C99 标准进行分析。

我的 CMakeLists 文件如下所示:

我可以以某种方式将此库从 compile_commands 中排除或强制使用 C++17 标准吗?

编辑:在我删除 -std=c99 标志的声明后,问题仍然存在,clangd 将 cpp 代码分析为纯 C,即使 compile_commands.json 不包含-std库文件的任何参数