Включение сообщений очистки
В этой статье описываются сообщения, созданные функцией включения очистки. Дополнительные сведения о включении очистки см. в обзоре очистки Включаемого кода C/C++.
Начиная с версии 17.8 ( предварительная версия 1), Visual Studio может очистить свои #include
s, чтобы улучшить качество кода C и C++ следующими способами:
- Предлагает добавлять файлы заголовков для кода, который компилируется только потому, что необходимый файл заголовка включается косвенно другим файлом заголовка.
- Предложения по удалению неиспользуемых файлов заголовков— улучшение времени сборки.
Вы можете выбрать, отображаются ли сообщения из функции "Очистка включения" в виде предложений, предупреждений или ошибок в окне списка ошибок. Дополнительные сведения см. в разделе Config C/C++ Include Cleanup in Visual Studio.
На следующем снимке экрана списка ошибок для отображения неиспользуемых заголовков с предупреждением настроено включение очистки:
В раскрывающемся списке задано значение Build + IntelliSense. Предупреждение отображается: VCIC002 — #include < > iostream не используется в этом файле».
Включение очистки создает следующие сообщения:
VCIC001
: содержимое из #include используется в этом файле и транзитивно включается
Это сообщение означает, что вы используете содержимое из файла заголовка, который включается косвенно.
Например, вы можете напрямую включить файл заголовка #include <string>
, который также содержит. Если вы используете string
в коде, но не #include <string>
используете этот файл, он работает до тех пор, пока другой файл заголовка продолжает косвенно включать <string>
вас. Это сообщение определяет эту ситуацию в коде, чтобы можно было выполнить действия, чтобы напрямую включить транзитивный файл заголовка. Дополнительные сведения см. в разделе Direct и косвенные заголовки.
VCIC002
: #include не используется в этом файле
Это сообщение означает, что указанный файл заголовка не используется в текущем файле. Вы можете удалить связанную #include
директиву для очистки #include
и улучшения времени сборки.
См. также
Обзор очистки в C/C++
Настройка очистки включения C/C++ в Visual Studio