Ignorar uma pasta nos resultados da pesquisa

164

Estou procurando uma string e obtendo correspondências em uma pasta de origem e uma pasta de compilação (o arquivo na fonte é copiado para compilar durante a compilação).

Não preciso do resultado da pasta de compilação.

O Vim possui o wildignoreque ajuda a filtrar os resultados.

Existe algo semelhante no intelij?

Eric Francis
fonte

Respostas:

246

Marque sua pasta de compilação como excluída:

File > Project Structure > Modules > Sources > Mark as Excluded (red icon)

Você também pode clicar com o botão direito na sua pasta e selecionar Mark Directory As > Excluded.

Pastas excluídas (mostradas como rootExcluded) são aquelas que o IntelliJ IDEA "ignora parcialmente". É fornecida assistência de codificação muito limitada para arquivos em pastas excluídas. As classes contidas nas pastas excluídas não aparecem nas listas de sugestões de conclusão de código, as referências a essas classes são mostradas no editor como não resolvidas. Ao pesquisar, o IntelliJ IDEA não procura em pastas excluídas, etc.

Fonte

Nota: Veja a resposta de Nader Hadji Ghanbari para outra abordagem usando o Scopes.

Darek Kay
fonte
1
Não tenho Arquivo> Configurações do projeto no intellij 14. Excluí algumas pastas e elas não estão incluídas na pesquisa.
Eric Francis
25
Se você ignorar uma pasta, se não aparecer nos resultados da pesquisa. Você também pode clicar com o botão direito na sua pasta e selecionar Mark Directory As > Excluded.
precisa
12
Incluir uma pasta do projeto só é aceitável se essa pasta for realmente ignorada. Às vezes, você não deseja excluir a pasta, mas simplesmente excluí-la da pesquisa.
Nader Ghanbari 14/03
22
Eu apenas tentei isso no IntelliJ 15.0.6 e as pastas excluídas ainda aparecem nos resultados da pesquisa.
Steven Byks
5
Isso não parece estar funcionando no Intellij 2019. Pastas excluídas ainda são exibidas nos resultados da pesquisa.
jrahhali 31/03
87

Resposta curta

Ao definir um escopo ao pesquisar, você pode incluir / excluir arquivos / pastas arbitrários desse escopo.

Resposta detalhada

Uma maneira de atingir seus requisitos (excluindo arquivos e pastas de uma pesquisa) é definir um escopo personalizado. Isso é especialmente útil porque, às vezes, você deseja excluir uma pasta da sua pesquisa e não de todo o projeto.

Siga esses passos:

  1. Edit-> Find-> Find in pathou pressione Ctrl+ Shift+ F.

  2. Escolha Customna Scopeseção e depois escolha<unknown scope>

Escopos de pesquisa

  1. Agora clique no +botão para adicionar um novo localescopo personalizado

Adicionando um novo escopo personalizado

  1. Dê um nome ao escopo e salve-o.

Salvando o escopo personalizado local

  1. Agora você pode incluir e excluir diretórios deste escopo. Você pode primeiro adicionar tudo escolhendo include recursivelyoe depois excluir um por um escolhendo excludeou exclude recursively.

insira a descrição da imagem aqui

Observe que você pode até incluir ou excluir bibliotecas das quais seu projeto depende.

  1. Ao pesquisar, você pode escolher o escopo efetivo na Scopeseção na Find in Pathcaixa de diálogo.

Mais informações

Você pode verificar os documentos do JetBrains no Scopes para obter mais informações. Os escopos podem ser usados ​​não apenas na pesquisa, mas também em vários outros casos de uso no IntelliJ IDEA.

Padrões

Você pode usar Padrões para definir um escopo que os torne ainda mais poderosos e à prova de futuro.

o uso de padrões é outra maneira de excluir arquivos e pastas. Por exemplo file:src/main/java//*&&!file:src/main/java/my//*, excluirá todos os arquivos na mypasta.

insira a descrição da imagem aqui

Nader Ghanbari
fonte
2
Parece que a Idea 15 exige que você clique em "..." ao lado de Personalizado em vez de escolher <unknown scope>.
Mikebridge
como posso excluir arquivos da pesquisa em qualquer lugar?
ycomp 18/08/19
Waaay muito trabalho! A resposta de allkenang abaixo resolve o problema em dois cliques. Isso é mais rápido do que ler a versão curta desta resposta.
Superole
3
@Superole true, o mesmo que a resposta aceita, mas exclui literalmente a pasta do projeto (não será mais uma pasta de origem ou teste) e não é isso que você sempre deseja. Excluir uma pasta totalmente de um projeto ou apenas excluí-la apenas para uma pesquisa específica são duas coisas diferentes (é por isso que algumas pessoas acham essa resposta útil). A propósito, em uma observação lateral, se você usar projetos Maven for Java ou SBT for Scala (ou similares para outros idiomas), provavelmente nunca desejará excluir uma pasta, porque tudo já foi feito automaticamente para você.
Nader Ghanbari 28/09
Obrigado por me ensinar sobre escopos, @NaderGhanbari! Eu não sabia que o IntelliJ tinha essa funcionalidade.
Jan Molak 11/06
23

No Intellij 15, para excluir uma pasta, faça o seguinte:

na janela Projeto, selecione a pasta e clique com o botão direito do mouse e escolha "Marcar diretório como"> "Excluído"

allkenang
fonte
Ahh Obrigado! Isso foi um milhão de vezes mais fácil do que a resposta aceita ! Tentei criar um escopo primeiro, mas isso foi um pesadelo de rolagem, clique, expansão, alternância, inclusão e exclusão.
Superole
Em um projeto Maven, essa configuração não persiste após alterar as ramificações com um aplicativo separado.
Pr0methean
8
Não parece estar funcionando no IntelliJ 2018 - está marcado como excluído, mas ainda é exibido nos resultados: /
Chris Nevill 15/18
12

Clique com o botão direito do mouse no diretório -> Marcar diretório como -> Excluído.

Pishtewan Agha
fonte
0

Se você estiver procurando por usos, abra a opção "Localizar configurações de uso ...", por padrão Ctrl+ Alt+ Shift+ F7, para restringir o escopo de "Todos os arquivos" a "Arquivos de projeto".

Zsolt Z.
fonte