我在VSCode中安装了一个clangd插件来开发C++。
这个插件运行良好,但是它在我们的项目中显示了一些代码错误/警告,因为我们在中使用了一个过时的函数<zstd.h>。
include <zstd.h>
deprecated function
如何在不更改代码的情况下屏蔽此错误?
例如,我可以通过修改.vscode/settings.json忽略VSCode的cpplint插件中的一些警告:
ignore some error on cpplint plugin
我可以对VSCode的clangd插件做类似的事情吗?谢谢~
我尝试使用clang diagnostic
,但似乎不起作用。
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-attributes"
#include <zstd.h>
#pragma clang diagnostic pop
1条答案
按热度按时间omhiaaxx1#
首先,请注意,错误的原因不是函数被弃用,而是解析错误(“属性列表不能出现在这里”)。与弃用相关的注解只是在悬停中显示的注解,与错误诊断无关。
如果您想要隐藏错误,可以使用https://clangd.llvm.org/config.html#suppress。例如,您可以在项目根目录中建立
.clangd
档案,其中包含:(Note,
attributes_not_allowed
是第一个屏幕截图中错误得诊断代码.)然而,隐藏诊断可能只是掩盖了一个可能与项目配置相关的潜在问题。更好的方法是修复潜在问题。要做到这一点,请查看项目设置说明,并确保您的项目有一个
compile_commands.json
,clangd正在查找它;如果这不能解决问题,请随时发布clangd日志以进行进一步诊断。