Поделиться через


Включение сообщений очистки

В этой статье описываются сообщения, созданные функцией включения очистки. Дополнительные сведения о включении очистки см. в обзоре очистки Включаемого кода C/C++.

Начиная с версии 17.8 ( предварительная версия 1), Visual Studio может очистить свои #includes, чтобы улучшить качество кода 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