Есть ли способы изменить настройки подсветки синтаксиса Qt Creator? - PullRequest
0 голосов
/ 25 ноября 2018

Я использую Qt Creator 4.6.2 на основе Qt 5.11.1 в Ubuntu 18.10 для программирования на C ++ с ключом CONFIG += console c++17 в файле .pro, и у меня возникла проблема со следующим кодом:

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 голосов
/ 26 ноября 2018

Модель кода Clang для C ++ была обновлена ​​до libclang 6.0 и включена по умолчанию в QtCreator 4.7.0, поэтому любой, у кого версия 4.7.0 или выше, не должен иметь этой проблемы.

Я считаю, что OPкод не компилируется по другой причине ... it.first должно быть просто it.

Но после его изменения код прекрасно компилируется с:

CONFIG += c++14

или с

CONFIG += c++1z

без каких-либо жалоб от подсветки синтаксиса

0 голосов
/ 26 ноября 2018

Попробуйте использовать ClangCodeModel для C ++.Это может быть экспериментальным в вашей версии, но я также использовал его там.Хотя может быть медленным.

Clang Code Model

...