Share via


Mensajes de la limpieza de directivas include

En este artículo se describen los mensajes generados por la característica de limpieza de directivas include. Para obtener más información sobre la limpieza de directivas include, consulte Introducción a la limpieza de directivas include de C/C++.

A partir de la versión preliminar 1 de 17.8, Visual Studio puede limpiar las instancias de #include para mejorar la calidad del código de C y C++ de las maneras siguientes:

  • Ofrece la posibilidad de agregar archivos de encabezado para el código que se compila solo porque un archivo de encabezado necesario se incluye indirectamente por otro archivo de encabezado.
  • Ofrece la posibilidad de quitar archivos de encabezado sin usar, lo que mejora los tiempos de compilación.

Es posible elegir si los mensajes de la limpieza de directivas include aparecerán en forma de sugerencias, advertencias o errores en la ventana Lista de errores. Para obtener más información, consulte Configuración de la limpieza de directivas include de C/C++ en Visual Studio.

En la captura de pantalla siguiente de la Lista de errores, la limpieza de directivas include está configurada para mostrar encabezados sin usar con una advertencia:

A screenshot of the Error List window.

El filtro desplegable se establece en Compilar + IntelliSense. Se ve una advertencia: VCIC002: "#include < iostream > no se usa en este archivo".

La limpieza de directivas include genera los siguientes mensajes:

VCIC001: el contenido de #include se usa en este archivo y se incluye transitivamente

Este mensaje significa que está usando contenido de un archivo de encabezado que se incluye indirectamente.

Por ejemplo, se puede incluir directamente un archivo de encabezado que también contenga #include <string>. Si usa string en el código, pero no #include <string> en ese archivo, funcionará siempre que el otro archivo de encabezado siga indirectamente incluyendo <string> automáticamente. Este mensaje identifica esta situación en el código para que pueda tomar medidas para incluir directamente el archivo de encabezado incluido transitivamente. Para obtener más información, consulte Encabezados directos frente a indirectos.

VCIC002: #include no se usa en este archivo

Este mensaje significa que el archivo de encabezado especificado no se usa en el archivo actual. Se puede quitar la directiva asociada #include para limpiar #include y mejorar los tiempos de compilación.

Consulte también

Introducción a la limpieza de directivas include de C/C++
Configuración de la limpieza de directivas include de C/C++ en Visual Studio