Excluir carpetas de la búsqueda de Eclipse


263

¿Hay alguna manera de excluir ciertas carpetas (y todas sus subcarpetas) de la búsqueda dentro de Eclipse?


1
Googlers: consulte (respuesta de atzz :) stackoverflow.com/a/6111002/1599699 : esta es la respuesta que está buscando, no la respuesta aceptada.
Andrew

@ Andrew esta es la respuesta aceptada
Dónal

¡JUSTICIA PARA TODO EL HOMBRE!
Andrew

Respuestas:


241

Esto es lo que funciona para mí (estoy usando Helios, ¿quizás esta forma no estaba disponible cuando esta pregunta se hizo originalmente?)

  • Vaya a Proyecto -> Propiedades -> Filtros de recursos.
  • Haz clic en Agregar .
  • Elija el tipo de filtro : excluir todo
  • Elija Se aplica a : carpetas ; marque Todos los niños (recursivo) .
  • En los Atributos, seleccione Nombre , Partidos , .svn(por ejemplo).

(En realidad, estoy usando .*para filtrar .svn, .hg, etc. de una sola vez).

Después de aprobar el diálogo de propiedades del proyecto, estos directorios ya no aparecerán en la búsqueda. De hecho, Eclipse es tan amable de actualizar automáticamente las ventanas de resultados de búsqueda existentes y eliminar todas las coincidencias que ahora están filtradas.


27
Para las últimas versiones de Eclipse a partir de 2011 (Helios e Indigo), esta debería ser la respuesta aceptada y la forma más fácil de hacerlo.
András Szepesházi

9
Como esto solo se puede aplicar a un proyecto a la vez, en realidad no es una ganancia sobre marcar las carpetas derivadas ... y dependiendo de cuántas veces necesite escribir los filtros, podría llevar más tiempo.
egid

Cuando use este método, asegúrese de borrar también su historial de búsqueda (usando el botón de la linterna con una flecha hacia abajo en el panel de búsqueda) después de agregar el filtro de recursos. De lo contrario, no ahorrará tiempo de búsqueda y obtendrá .git/.../filename.file doesn't existerrores porque la memoria caché de búsqueda (¿creo?) Todavía considera que la carpeta .git es un lugar válido para buscar.
coredumperror

18
Esto funciona pero oculta los archivos en el explorador de paquetes. Es posible que queramos editar los archivos pero no verlos en los resultados de búsqueda.
Aram Kocharyan

Cuando lo intenté, funcionó para filtrar los resultados de búsqueda, pero comencé a recibir errores "Errores al ejecutar el generador 'AspectJ Builder' en el proyecto 'Mercadosa-webapp'. El recurso ya existe en el disco: '/MyProject/target/MyProject-1.0/WEB -INF / freemarker / site / file.ftl '. El recurso ya existe en el disco:' /MyProject/target/MyProject-1.0/WEB-INF/freemarker/site/file.ftl '. "
Marc

292

La forma rápida y sucia:

Haga clic derecho en una carpeta, vaya a propiedades y marque una carpeta como derivada. Las entidades derivadas se excluyen de la búsqueda de forma predeterminada. El problema con este enfoque es que Eclipse "olvida" que la carpeta se deriva si la elimina (ya sea dentro de Eclipse o externamente, seguido de la actualización del árbol del proyecto). Como ocurre a menudo con Eclipse, este es un error de larga data (10 años en este caso) que todavía se aplica a la versión actual (4.6 Neon en el momento de la escritura).

La forma segura:

Cree un conjunto de trabajo que incluya solo aquellas entidades que desea buscar y busque solo dentro de ese conjunto de trabajo. Consulte la respuesta de Dave Ray para obtener detalles sobre este procedimiento.


2
Como Dave señaló en su respuesta: establecer cosas que en realidad no se derivan para ser derivadas puede causar problemas. Como cuando usas Maven para crear una distribución.
Arjan

2
En Juno, marcar una carpeta como derivada no la excluye de la búsqueda. Estoy trabajando en Mac OS, por lo que puede estar relacionado con eso, ya que veo una serie de características que no funcionan correctamente en este sistema operativo
Marc

Funciona para mí en Juno SR2 bajo MS-Windows XP. Y la carpeta que me molestó fue en realidad derivada (la carpeta de compilación, con archivos de listado que a veces resultan en millones de visitas).
Starblue

@Instantsoup ¿Por qué la búsqueda en sí no puede excluir las carpetas? Quiero decir, tiene el "!" personaje solo por esto, ¿no? No entiendo por qué no funciona para mí.
Desarrollador de Android

3
Crear 'un conjunto de trabajo que incluya solo aquellas entidades que desea buscar' no es una forma muy segura de hacerlo. De hecho, un filtro INCLUSIVO es bastante inseguro. Imagine crear un nuevo directorio o archivo que sea hermano de uno que esté excluido. En ese caso, deberá recordar INCLUIRLO en la búsqueda. Si olvida, la búsqueda tiene falsos negativos que pueden ser peligrosos y llevarlo a creer que la búsqueda de Eclipse no es confiable.
JW.

81

Me imagino que marcar recursos derivados puede causar problemas en otras áreas. En su lugar, cree un conjunto de trabajo con las carpetas que desea incluir en la búsqueda:

  • Abrir diálogo de búsqueda ( Ctrl+ H)
  • Cambiar el alcance de búsqueda a Conjunto de trabajo
  • Haga clic en Elegir ...
  • Haga clic en Nuevo para crear un nuevo Conjunto de trabajo con lo que desea buscar (o Agregar todo y luego elimine los que desea filtrar

55
Esto también tiene problemas. Vea mi comentario en la respuesta de Instantsoup arriba. Con este filtro INCLUSIVO, en algunos casos, cuando agrega archivos o carpetas, debe recordar incluirlos en la búsqueda. Si te olvidas, obtienes falsos negativos peligrosos. Lo cual no es ideal.
JW.

En Eclipse Kepler aparece un cuadro de diálogo "Seleccionar un tipo de conjunto de trabajo" que aparece después de hacer clic en Nuevo. (Vale la pena señalar que para encontrar todos los tipos de archivos es necesario seleccionar "Recurso" en este momento).
Steve Chambers

1

La mejor manera rápida y sucia en Eclipse Juno:

  1. Haga clic derecho en la carpeta .
  2. Ir a propiedades.
  3. Vaya a C / C ++ Build.
  4. Marque "Excluir recurso de la compilación".
  5. Haga clic en el botón Aceptar.
  6. Haga clic derecho en el proyecto .
  7. Ir al índice
  8. Haz clic en Reconstruir.
  9. ¡Relajarse!

1
  • Haga clic derecho en su proyecto
  • Seleccione Properties
  • Seleccione Resource->Resource filters
  • Hacer clic Add filter
  • Elija la siguiente configuración:
    • Excluir todo
    • Archivos y carpetas
    • Todos los niños (recursivo)
  • Cambiar NameporProject Relative Path
  • Rellene el texto de entrada con (bin$|bin/.*|build/.*|build$)(reemplace biny buildpor los nombres de las carpetas que desea excluir)
  • garrapata Regular expression

Presiona OK y luego aplica.

Descargo de responsabilidad

Esto se basa en la respuesta de @ atzz, que me ayudó a resolver esto. Sin embargo, si bien respondió la pregunta de cómo excluir ciertos archivos, no respondió la pregunta de cómo excluir ciertas carpetas.


0

Excluir una carpeta o archivo de la búsqueda en Eclipse

1 Right-click on the file/folder.
3 Click on the "Properties" option.
4 Select the "Resource" option.
5 Place a check next to the "Derived" attribute.

La esperanza es ayuda.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.