Clang: add clang plugins checks to code model settings

Add UI controls to change settings and apply them
together with warnings and command line options.
Current settings are not very flexible but should be
easy to test and use without reading tidy/clazy help.

Change-Id: I1ca6b49a42a1169b34a703dd50de0bbc105df28f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Ivan Donchevskii
2017-11-02 16:26:17 +01:00
parent cdaa4aee1a
commit 8eececaa96
12 changed files with 460 additions and 34 deletions

View File

@@ -67,6 +67,12 @@ static QString skipIndexingBigFilesKey()
static QString indexerFileSizeLimitKey()
{ return QLatin1String(Constants::CPPTOOLS_INDEXER_FILE_SIZE_LIMIT); }
static QString tidyChecksKey()
{ return QLatin1String(Constants::CPPTOOLS_TIDY_CHECKS); }
static QString clazyChecksKey()
{ return QLatin1String(Constants::CPPTOOLS_CLAZY_CHECKS); }
void CppCodeModelSettings::fromSettings(QSettings *s)
{
s->beginGroup(QLatin1String(Constants::CPPTOOLS_SETTINGSGROUP));
@@ -101,6 +107,12 @@ void CppCodeModelSettings::fromSettings(QSettings *s)
const QVariant indexerFileSizeLimit = s->value(indexerFileSizeLimitKey(), 5);
setIndexerFileSizeLimitInMb(indexerFileSizeLimit.toInt());
const QVariant tidyChecks = s->value(tidyChecksKey(),
QString("clang-diagnostic-*,llvm-*,misc-*"));
setTidyChecks(tidyChecks.toString());
const QVariant clazyChecks = s->value(clazyChecksKey(), QString("level1"));
setClazyChecks(clazyChecks.toString());
s->endGroup();
emit changed();
@@ -127,6 +139,8 @@ void CppCodeModelSettings::toSettings(QSettings *s)
s->setValue(interpretAmbiguousHeadersAsCHeadersKey(), interpretAmbigiousHeadersAsCHeaders());
s->setValue(skipIndexingBigFilesKey(), skipIndexingBigFiles());
s->setValue(indexerFileSizeLimitKey(), indexerFileSizeLimitInMb());
s->setValue(tidyChecksKey(), tidyChecks());
s->setValue(clazyChecksKey(), clazyChecks());
s->endGroup();
@@ -204,3 +218,23 @@ void CppCodeModelSettings::setIndexerFileSizeLimitInMb(int sizeInMB)
{
m_indexerFileSizeLimitInMB = sizeInMB;
}
QString CppCodeModelSettings::tidyChecks() const
{
return m_tidyChecks;
}
void CppCodeModelSettings::setTidyChecks(QString checks)
{
m_tidyChecks = checks;
}
QString CppCodeModelSettings::clazyChecks() const
{
return m_clazyChecks;
}
void CppCodeModelSettings::setClazyChecks(QString checks)
{
m_clazyChecks = checks;
}