2012-06-21 16 views
55

Tengo un proyecto en PHPStorm, que contiene algunas bibliotecas (Zend, Doctrine, ...) agrupadas en una carpeta library.¿Cómo excluir archivos/carpetas de la inspección del código en PHPStorm?

Cuando se ejecuta la inspección de código, yo hago quieren que el código PHP en estas carpetas a analizar (de modo que PhpStorm sabrá cómo Zend_Form se declara, por ejemplo).

Sin embargo, I no desea que se informen los problemas encontrados en estas carpetas, ya que están fuera de mi control.

La única solución que he encontrado hasta ahora es marcar los directorios como "Fuente de prueba" y desmarcar la casilla "Incluir fuentes de prueba" en la ventana de inspección del código. ¡No hace falta decir que esta no es la mejor solución!

Respuesta

45

Consulte Scopes feature. Puede definir un ámbito personalizado solo para su código, sin la carpeta de la biblioteca, y luego ejecutar inspecciones únicamente en este ámbito.

En el Inspections settings también es posible agregar los ámbitos y activar/desactivar cada inspección por alcance.

+13

Deseando que haya especificado algunos ejemplos de patrones; Me llevó mucho tiempo descubrir lo que necesitaba. Desde que lo descubrí lo proporcionaré aquí para el beneficio de la próxima persona que venga a buscar: https://gist.github.com/mikeschinkel/5529171 – MikeSchinkel

+1

gracias por pensar en mí @MikeSchinkel –

+0

@LanceCaraccioli No hay problema. :) – MikeSchinkel

3

Existe una solución alternativa. Puede agregar bibliotecas de "solo lectura" al Include path en la sección Settings » PHP.

Es no lo mismo con la opción php.ini include_path, simplemente haciendo referencia a algunos directorios como externos, fuera de su control. Exactamente lo que necesitas

Como resultado

  • ningún problema con alcances que define, simplemente inspeccionar todo el proyecto, si es necesario
  • ninguna sobrecarga de control de versiones inútil en libs
+0

Esto también parece funcionar para javascript. Agregué una carpeta lib como una biblioteca, por lo que jquery y such no serían inspeccionados. – Greggg

49

Si sólo tiene que desactivar las inspecciones sobre uno o dos archivos, puede deshabilitarlo en el nivel de archivo fácilmente:

  1. Abrir archivo ofensivo
  2. Haga clic en 'Código' -> 'Análisis de archivos actual' deslizador
  3. Conjunto para el lenguaje ofensivo en 'No'

(Usando PhpStorm 8.0.2)

+5

Esto hizo el truco para mí. El elemento del menú era 'Código> Configurar el análisis de archivos actual' o' command-shift-option-h' – DesignerGuy

+0

¡Eso es increíble! Estaba trabajando en un gigantesco archivo HTML que no tenía nada que ver, o lo que fuera, y estaba destruyendo PHPStorm. – Alper

+0

esto también funciona para WebStorm, pero la opción se llama 'Configurar el análisis de archivo actual' en el menú Código –

5

Si necesita excluir completamente algunas archivos de cualquier análisis (por ejemplo, un archivo compilado de php) como que ni siquiera existen, puede hacer clic derecho en el archivo en el árbol de fuentes y seleccionar "Marcar como texto sin formato". Esta acción elimina por completo cualquier inspección en este archivo. Con esto eliminé una gran cantidad de notificaciones sobre "duplicaciones de origen" en Laravel 5.

Si necesita activarlo de nuevo - una vez más, haga clic derecho y "Marcar como PHP".

Esto funciona bien para algunos archivos. Si necesita excluir todo el directorio con todo lo que contiene, use la marca de directorio desde la configuración o haga clic con el botón secundario en el directorio y "Marcar directorio como -> excluido".

1

Si desea excluir totalmente un archivo o una carpeta de terminación y el código de ayuda:
haga clic derecho en la carpeta o archivo en el explorador de archivos (zurdo) seleccione "Marca" -> "excluidos"

Eso es lo que quería, agregué esa respuesta aquí porque encontré esta pregunta en Google cuando busco una respuesta.

Cuestiones relacionadas