Como posso dizer ao “Find in Files” do IntelliJ para ignorar os arquivos gerados?

103

Eu preciso fazer uma busca nos arquivos. Desejo ignorar ou excluir arquivos gerados, como artefatos JAX-WS ou classes em pastas de destino. Como posso dizer ao IDEA para excluir esses arquivos da descoberta?

Freiheit
fonte
3
Sim! E sempre colocam os resultados gerados no TOPO! Nossa!
SMBiggs de

Respostas:

102

Crie um escopo personalizado definindo o conjunto de arquivos a incluir / excluir de sua pesquisa.

  1. CTRL+ SHIFT+ Fpara a caixa de diálogo Localizar no caminho . (Usuários de Mac pressionam command+ shift+ F)
  2. Em Escopo, selecione Personalizado .

    Encontrar no caminho

  3. Escolha um escopo na lista suspensa ou crie um Escopo personalizado clicando no ...botão à direita do menu suspenso.

  4. Na caixa de diálogo que aparece, clique no +botão e selecione Local
  5. No painel direito, você pode incluir e excluir arquivos individuais e incluir ou excluir recursivamente todos os arquivos em uma pasta.

Agora, ao usar Find in Path , use seu escopo personalizado para restringir quais arquivos são pesquisados.

Suspeito da referência a Localizar em Arquivos em sua pergunta que essas instruções podem não se aplicar à sua versão, mas é útil saber que essa funcionalidade existe e sempre há a versão de avaliação de 30 dias.

Rob Kielty
fonte
2
Isso funciona. Obrigado. Eu esperava que houvesse alguma configuração ou caixa de seleção que eu tivesse esquecido no sentido de "ignorar arquivos gerados".
Freiheit
1
@Freiheit Você pode conseguir que seu projeto ignore os arquivos gerados também, o que os excluiria das pesquisas e similares por padrão em todos os lugares (a menos que você goste ou precise dos arquivos gerados no IntelliJ, é claro).
ajp15243
3
@ ajp15243 Isso pode ser feito nas configurações -> escopo do projeto
:)
1
Para referência, essas etapas funcionam exatamente da mesma forma no IntelliJ Ultimate 13.
kurtzbot de
1
Boa resposta @RobKielty :) Você me salvou de horas de frustrações diárias
Shanimal,
51

Eu sei que é tarde para a festa e a resposta de Rob é decente. Gostaria apenas de adicionar a seguinte alternativa: se você escolheu o Customescopo (como na resposta de Rob), então deixe a seleção em Project Files, isso fará com que a pesquisa do IntelliJ seja um pouco mais seletiva do que o padrão. Não sei quais são as diferenças exatas, mas de particular interesse é que se você marcar um diretório Excludedusando a Modulesguia nas Project Structureconfigurações ou clicando com o botão direito em um diretório e selecionando Mark Directory As-> Excluded.

Se os arquivos que você deseja excluir estão em um único diretório ou em poucos diretórios, para que você possa configurar manualmente essas regras de exclusão, esta é uma maneira muito boa de obter o mesmo resultado sem a necessidade de configurar um escopo personalizado.

Testei isso no IntelliJ Ultimate 14.1.4. Não tenho ideia de como ele se comporta em outras versões, mas suspeito que a maior parte da v14, pelo menos, se comportará da mesma forma.

Thor84no
fonte
Marquei um diretório excluído por engano, como incluí-lo novamente. A opção de contexto "Marcar diretório como" não está mais visível para esse diretório.
coding_idiot
2
@coding_idiot Mark Directory Asainda está visível para mim quando faço isso (a opção de escolher é então Cancel Exclusion). Se isso por algum motivo não funcionar para você, você deve ser capaz de fazer a mesma coisa abrindo as Moduleconfigurações ( Project Settings-> Modules-> <your module>). Nesse diálogo, todas as pastas excluídas devem ser listadas à direita com um xao lado para interromper a exclusão.
Thor84no,
14

Você também pode colocar o filtro de pesquisa de arquivo começando com ! sinal para excluir. Exemplo para pesquisar o código que não está nos arquivos Java de teste: !*Test.java

Se você tiver alguns tipos de arquivos, pode separar com , sinal. Exemplo para pesquisar apenas em arquivos Kotlin e Groovy: *.kt,*.groovy

Isso também pode ser útil.

alex.b
fonte
Isso é muito útil.
javadba
4

Eu uso o próximo padrão para excluir arquivos gerados

!file:*intermediates*/&&!file:*generated*/&&!lib:*..*

Como adicionar este padrão a seguir

yoAlex5
fonte