有什么方法可以更改Qt Creator语法突出显示的设置吗?

时间:2018-11-25 12:07:11

标签: c++ qt syntax qt-creator

我正在Ubuntu 18.10中使用基于Qt 5.11.1的Qt Creator 4.6.2,并通过CONFIG += console c++17文件中的.pro键在C ++编程中遇到以下代码问题:

std::for_each(attributes.begin(), attributes.end(), [&,i{0}](auto it) mutable {compressed.col_id[i] = it.first; i++;});

Qt Creator以红色突出显示此代码,并说“预期令牌';”。得到了“ {””,但编译器运行此代码没有问题。 另外,当我尝试运行此代码时:

int i = 0;
std::for_each(attributes.begin(), attributes.end(), [&](auto it) mutable {compressed.col_id[i] = it.first; i++;});

Qt Creator未加下划线。

我认为在IDE中进行解析可能会遇到一些问题,所以我该如何处理呢?

2 个答案:

答案 0 :(得分:3)

尝试将ClangCodeModel用于C ++。在您的版本中,它可能是实验性的,但我也在那里使用过。可能会变慢。

Clang Code Model

答案 1 :(得分:0)

C ++的Clang代码模型已升级到libclang 6.0,并在QtCreator 4.7.0中默认打开,因此任何4.7.0或更高版本的人都不会遇到此问题。

我发现OP代码由于不同的原因而无法编译... it.first应该只是it

但是更改之后,代码可以使用以下代码进行编译:

CONFIG += c++14

或搭配

CONFIG += c++1z

没有语法突出显示的任何抱怨