QtCreator 和 ClangCodeModel 插件

Posted

技术标签:

【中文标题】QtCreator 和 ClangCodeModel 插件【英文标题】:QtCreator and ClangCodeModel plugin 【发布时间】:2018-11-14 17:08:25 【问题描述】:

我刚刚安装了QtCreator 4.7.2,默认开启了ClangCodeModel插件。在我的CMake 项目被解析后,我看到代码中的关键字突出显示效果更好,而且auto 声明的变量的智能处理也很棒。

缺点是ClangCodeModel 插件有错误,并且在部分没有意义的代码中给我错误和警告,尤其是在第 3 方库头文件中的那些。所以我不得不关掉它。

我想知道Clang 是否可以在QtCreator 中配置,以便进行最少的检查。我使用了这些设置,但没有任何区别:

1) 有没有人能在QtCreator 中配置这个插件,让它更好地工作?我最关心的是智能感知。我可以在Visual Studio 中打开相同的CMake 项目,并且那里的智能感知要好得多,但我更喜欢使用Qt Creator.

2) 如果 #1 由于插件存在错误而无法实现,那么在 Qt CreatorCMake 项目中改进智能感知的其他方法是什么?

【问题讨论】:

QtCreator 4.8(目前是测试版)支持语言服务器协议。这可能是一个不错的选择 可能这些设置仅适用于编辑窗格中的视觉输出。例如,当我应用“level0 检查”时,我可以看到警告消失了。当我选择“几乎所有”选项时,它们会立即重新出现。 【参考方案1】:

您截取的屏幕截图来自“分析器”设置。 Analyzer 执行按需检查,例如运行静态分析、clang-tidy、callgrind 等。

要配置代码模型,你应该去“C++ > 代码模型”:

您还可以在每个项目的基础上覆盖此设置:

在这两种情况下,您都可以通过单击 Manage...,使用您想要的任何标志创建自己的配置:

【讨论】:

我试过了。仍然得到相同的错误。我应该选择哪个选项? @armanali 我已经更新了我的答案。我不确定您是否可以让 clang 忽略 3rd-party 标头。您也可以尝试 Qt Creator 4.8,该候选版本已于上周发布,可在 Qt Online Installer 中使用。

以上是关于QtCreator 和 ClangCodeModel 插件的主要内容,如果未能解决你的问题,请参考以下文章

qtcreator怎么跳过自动补全的括号和引号

Windows 中的 QtCreator 和 Matlab 库

[转] 第1篇 QtCreator简介

qtcreator符合&的意思

QtCreator 和 ClangCodeModel 插件

qtcreator 菜单栏 没有