Excluir pasta da pesquisa, mas não da lista de projetos

95

Tenho alguns projetos diferentes com o mesmo core.

Tudo que eu preciso é marcar todos os projetos não atuais excludedpara evitar pesquisá-los (pesquisa simples, shift + cmd + n etc.)

Em outras palavras, quero obter os resultados da pesquisa do core+ current project.

Existe alguma maneira de fazer closealguns projetos, mas tê-los disponíveis no projects liste opené tão fácil como foi fechado? Ou provavelmente você tem outra experiência?

insira a descrição da imagem aqui

Vitalii Petrychuk
fonte
7
Excluir da pesquisa de texto normal - fácil - basta definir o escopo personalizado (Preferências | Escopos) e usá-lo em "Localizar / Substituir no caminho" e caixas de diálogo semelhantes. Mas isso não funcionará para "Navegar | Arquivo / Classe / Símbolo", pois sempre funciona com o projeto inteiro. Em vez disso, é melhor reorganizar sua estrutura de pastas ("ocultar esta pasta porque trabalho com outra" não é a abordagem correta).
LazyOne de
Sim, uma das maneiras de fazer o que quero é criar para cada pasta um projeto separado e criar um link simbólico para a corepasta. Mas estou procurando maneiras alternativas.
Vitalii Petrychuk
1
Não é necessário link simbólico (embora eu esteja usando isso também - funciona bem para mim). Você pode anexá-lo como Raiz de Conteúdo Adicional (Preferências | Diretórios).
LazyOne de
Ótimo! Por favor, poste sua resposta como uma resposta e eu aceitarei.
Vitalii Petrychuk

Respostas:

66

Para aplicar Custom Search uso Scopes Setting> Project Settings> Scopesusá-lo para Find in Pathou Replace in Path.
Sugiro reorganizar suas pastas, para que nenhum arquivo desnecessário seja deixado no diretório do projeto. Além disso, você pode especificar Fonte Root, indo para Settings> Project Settings> Directoriese adicionando diretórios adicionais.

Justinas
fonte
4
Você poderia criar um escopo com isto:!file[*]:.idea/*&&!file[*]:.idea//*&&!file[*]:app/cache//*&&!file[*]:app/logs//*
Roukmoute
13
Para sua informação, para usuários de Mac, éPhpStorm > Preferences > Appearance & Behavior > Scopes
Wesley Smith
Eu acho que esta resposta está desatualizada agora. Configuração> Configurações do projeto> Escopos não parece existir
Andrew
3
@Andrew Está em Configurações> Aparência e comportamento> Escopos para CE 2016.3
tex
Obrigado tex ... é esse mesmo.
Andrew
41

Esta é a melhor maneira de excluir diretórios dos resultados da pesquisa. Eu trabalho em um grande projeto Magento com muitos diretórios que não quero nos resultados de pesquisa. Isso resolveu meu problema. Se o seu projeto contiver um diretório / vendor, isso ajudará a acelerar a indexação no PHPStorm, pois ele é ignorado.

Clique com o botão direito em qualquer pasta para abrir as seguintes opções.

Excluir da pesquisa

TheRealJAG
fonte
Também funciona para o desenvolvimento de pacotes Laravel. Maneira recomendada de fazer isso para criar a pasta de pacotes na raiz do projeto. Agora ele estará usando as mesmas classes do seu projeto principal, então você acabará obtendo muitos erros de existência de classes duplicadas. Clique com o botão direito e faça isso e funciona como mágica. A abordagem do escopo não funcionou para mim!
Juha Vehnia
39

A partir da versão 2016.3, isso pode ser encontrado em Configurações > Aparência e comportamento > Escopos .

Ou independentemente da versão , basta ir em Configurações e digitar "escopos" na caixa de pesquisa no topo.

Em seguida, basta clicar no símbolo + para adicionar o escopo, escolher a pasta que deseja excluir e clicar em Excluir recursivamente e aplicar.

Então, quando você pesquisa usando CTRL + SHIFT + F, em Opções> Escopo, selecione Personalizado e escolha o escopo que você acabou de criar (comentários de agradecimento).

Andrew
fonte
4
Apenas deseja adicionar se você estiver usando FIND como cmd + shift + F, então na aba de opções você pode customizar por rádio e então escolher a elipse e ela abre a ferramenta de escopo e você pode selecionar ou criar um escopo para excluir o que você precisa.
daveferrara1
4
This automatically excludes this folder's contents from the searches...depois de criar meu escopo personalizado, minha pesquisa Ctrl + Shift + F ainda estava pesquisando globalmente até que eu selecionei explicitamente "Personalizado" e escolhi meu escopo como @ daveferrara1 sugerido.
Dimitry K,
1
Em 2020: Depois de clicar em +, a escolha Localvs Sharedsignifica se a exclusão vai para o VCS ou não. Então você tem que nomeá- lo. Então, após a etapa de @DimitryK (agora chamada de Scopeguia), você deve escolher o mesmo nome em um menu suspenso. (Será que Jetbrains UX está transformando alguém em um velho rabugento?)
Bob Stein
2

Como @Justinas e comentaristas disseram: Você pode fazer um escopo personalizado e se irritar sempre selecionando esse escopo personalizado ao usar Find in Path (e semelhante) porque o PhpStorm não usa esse escopo personalizado por padrão 🤦🏻‍♂️

A exclusão do diretório node_modules interrompe o preenchimento automático e outra funcionalidade de assistência de código de qualquer maneira. Você não quer fazer isso.

No entanto, encontrei um hack que não requer nenhuma exclusão de diretório de node_modules nem um escopo personalizado:

  1. Feche o PhpStorm. Certifique-se de que não está funcionando.
  2. Abra name_of_your_project.iml no diretório .idea dentro do diretório do seu projeto com o seu editor de texto favorito. Contanto que não seja PhpStorm.
  3. Remova a linha <content url="file://$MODULE_DIR$/node_modules" />
  4. Salve .
  5. Aproveite a vida novamente.

Acho que JetBrains é um amador incluir diretórios de armazenamento de dependência como node_modules de JavaScript / TypeScript e fornecedor de PHP por padrão. Quase não existe nenhum caso de uso para incluir esses diretórios na funcionalidade localizar e substituir, quanto mais na funcionalidade de refatoração.

RoestVrijStaal
fonte