Excluir pastas da pesquisa Eclipse


263

Existe uma maneira de excluir determinadas pastas (e todas as suas subpastas) da pesquisa no Eclipse?


1
Googlers: consulte (resposta do atzz :) stackoverflow.com/a/6111002/1599699 - esta é a resposta que você está procurando, não a resposta aceita.
Andrew

@ Andrew esta é agora a resposta aceita
Dónal

JUSTIÇA PARA TODOS OS TIPOS!
Andrew

Respostas:


241

Aqui está o que funciona para mim (estou usando o Helios - talvez desta maneira não estivesse disponível quando esta pergunta foi feita originalmente?)

  • Vá para Projeto -> Propriedades -> Filtros de Recursos.
  • Clique em Adicionar .
  • Escolha Tipo de filtro : excluir tudo
  • Escolha Aplica-se a : Pastas ; marque Todas as crianças (recursiva) .
  • Nos atributos, escolha o nome , combina , .svn(por exemplo).

(Na verdade, estou usando .* para filtrar .svn, .hg etc. de uma só vez.)

Após a aprovação da caixa de diálogo de propriedades do projeto, esses diretórios não serão mais pesquisados. De fato, o Eclipse é capaz de atualizar automaticamente as janelas de resultados de pesquisa existentes e remover todas as correspondências que agora são filtradas.


27
Para as versões mais recentes do Eclipse a partir de 2011 (Helios & Indigo), essa deve ser a resposta aceita e a maneira mais fácil de fazer isso.
András Szepesházi 7/11

9
Como isso só pode ser aplicado a um projeto de cada vez, não é realmente um ganho sobre a marcação de pastas derivadas ... e, dependendo de quantas vezes você precisa digitar nos filtros, pode levar mais tempo.
egid 10/01/12

Ao usar esse método, limpe também o histórico de pesquisa (usando o botão lanterna com uma seta para baixo no painel de pesquisa) depois de adicionar o filtro de recursos. Caso contrário, você não economizará tempo de pesquisa e obterá .git/.../filename.file doesn't existerros porque o cache de pesquisa (eu acho?) Ainda considera a pasta .git um local válido para procurar.
Coredumperror

18
Isso funciona, mas oculta os arquivos no explorador de pacotes. Convém editar os arquivos, mas não vê-los nos resultados da pesquisa.
Aram Kocharyan

Quando tentei, funcionou para filtrar os resultados da pesquisa, mas comecei a receber erros "Erros ao executar o construtor 'AspectJ Builder' no projeto 'Mercadosa-webapp'. O recurso já existe no disco: '/MyProject/target/MyProject-1.0/WEB -INF / freemarker / site / file.ftl '. O recurso já existe no disco:' /MyProject/target/MyProject-1.0/WEB-INF/freemarker/site/file.ftl '. "
Marc

292

A maneira rápida e suja:

Clique com o botão direito do mouse em uma pasta, vá para propriedades e marque uma pasta como derivada. As entidades derivadas são excluídas da pesquisa por padrão. O problema dessa abordagem é que o Eclipse "esquece" que a pasta será derivada se você a excluir (a partir do Eclipse ou externamente, seguida pela atualização da árvore do projeto). Como tantas vezes com o Eclipse, esse é um bug antigo (10 anos neste caso) que ainda se aplica à versão atual (4.6 Neon no momento da redação).

A maneira segura:

Crie um conjunto de trabalho incluindo apenas as entidades que você deseja pesquisar e pesquise apenas dentro desse conjunto de trabalho. Veja a resposta de Dave Ray para obter detalhes sobre este procedimento.


2
Como Dave observou em sua resposta: definir coisas que não são realmente derivadas pode causar problemas. Como ao usar o Maven para criar uma distribuição.
Arjan

2
No Juno, marcar uma pasta como derivada não a exclui da pesquisa. Eu estou trabalhando em Mac OS por isso pode estar relacionado a isso como eu estou vendo uma série de características não funciona corretamente neste OS
Marc

Funciona para mim no Juno SR2 no MS-Windows XP. E a pasta que me incomodou foi realmente derivada (a pasta de construção, com arquivos de listagem às vezes resultando em zilhões de ocorrências).
starblue

@Instantsoup Por que a própria pesquisa não pode excluir as pastas? Quero dizer, tem o "!" personagem apenas para isso, não? Não entendo por que isso não funciona para mim.
desenvolvedor android

3
Criar 'um conjunto de trabalho incluindo apenas as entidades que você deseja pesquisar' não é uma maneira muito segura de fazê-lo. De fato, um filtro INCLUSIVO é bastante inseguro. Imagine criar um novo diretório ou arquivo que seja irmão de outro excluído. Nesse caso, você terá que se lembrar de incluí-lo na pesquisa. Se você esquecer, a pesquisa possui falsos negativos que podem ser perigosos e levar você a acreditar que a pesquisa no Eclipse não é confiável.
JW.

81

Eu poderia imaginar que marcar recursos derivados pode causar problemas em outras áreas. Em vez disso, crie um conjunto de trabalho com as pastas que você deseja incluir na pesquisa:

  • Abrir caixa de diálogo Pesquisar ( Ctrl+H )
  • Alterar o escopo da pesquisa para Conjunto de Trabalho
  • Clique em Escolher ...
  • Clique em Novo para criar um novo conjunto de trabalho com o que você deseja pesquisar (ou Adicionar tudo e remova os que deseja filtrar

5
Isso também tem problemas. Veja meu comentário na resposta da Instantsoup acima. Com esse filtro INCLUSIVO, em alguns casos, quando você adiciona arquivos ou pastas, lembre-se de incluí-los na pesquisa. Se você esquecer, terá perigosos negativos negativos. O que não é o ideal.
JW.

No Eclipse Kepler, há uma caixa de diálogo "Selecionar um tipo de conjunto de trabalho" que aparece após clicar em Novo. (Vale notar que para encontrar todos os tipos de necessidade de arquivo para selecionar "Recursos" neste momento.)
Steve Chambers

1

A melhor maneira rápida e suja no Eclipse Juno:

  1. Clique com o botão direito na pasta .
  2. Vá para Propriedades.
  3. Vá para Compilação C / C ++.
  4. Marque "Excluir recurso da compilação".
  5. Clique no botão OK.
  6. Clique com o botão direito do mouse no projeto .
  7. Vá para o índice.
  8. Clique em reconstruir.
  9. Relaxar!

1
  • Clique com o botão direito do mouse no seu projeto
  • Selecione Properties
  • Selecione Resource->Resource filters
  • Clique Add filter
  • Escolha as seguintes configurações:
    • Excluir tudo
    • Arquivos e pastas
    • Todas as crianças (recursivas)
  • Mudar NameparaProject Relative Path
  • Preencha o texto de entrada com (bin$|bin/.*|build/.*|build$)(substitua bine buildpelos nomes das pastas que você deseja excluir)
  • Carraça Regular expression

Clique em OK e depois em Aplicar.

aviso Legal

Isso se baseia na resposta do @ atzz, que me ajudou a descobrir isso. No entanto, embora tenha respondido à pergunta de como excluir determinados arquivos, não respondeu à pergunta de como excluir determinadas pastas.


0

Excluindo uma Pasta ou Arquivo da Procura no 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.

A esperança é ajuda.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.