Excluir carpeta de la búsqueda pero no de la lista de proyectos

95

Tengo algunos proyectos diferentes con el mismo core.

Todo lo que necesito es marcar todos los proyectos no actuales excludedpara evitar buscar en ellos (búsqueda simple, shift + cmd + n, etc.)

En otras palabras, quiero tener resultados de búsqueda desde core+ current project.

¿Hay alguna forma de hacer closealgunos proyectos pero tenerlos disponibles en el projects listy openes tan fácil como estaba cerrado? ¿O probablemente tienes otra experiencia?

ingrese la descripción de la imagen aquí

Vitalii Petrychuk
fuente
7
Excluir de la búsqueda de texto normal - fácil - simplemente defina un alcance personalizado (Preferencias | Ámbitos) y utilícelo en "Buscar / Reemplazar en ruta" y cuadros de diálogo similares. Pero esto no funcionará para "Navegar | Archivo / Clase / Símbolo" ya que siempre funciona con todo el proyecto. En lugar de eso, mejor reorganice la estructura de su carpeta ("haber ocultado esta carpeta porque trabajo con otra" no es el enfoque correcto).
LazyOne
Sí, una de las formas de hacer lo que quiero es crear para cada carpeta un proyecto separado y crear un enlace simbólico a la corecarpeta. Pero estoy buscando formas alternativas.
Vitalii Petrychuk
1
No es necesario un enlace simbólico (aunque lo estoy usando también, funciona bien para mí). En su lugar, puede adjuntarlo como raíz de contenido adicional (Preferencias | Directorios).
LazyOne
¡Excelente! Publique su respuesta como respuesta y la aceptaré.
Vitalii Petrychuk

Respuestas:

67

Para aplicar el uso de búsqueda personalizada Scopes Setting> Project Settings> Scopesutilizarlo para Find in Patho Replace in Path.
Sugiero reorganizar sus carpetas, para que no queden archivos innecesarios en el directorio del proyecto. Además, puede especificar Fuente de raíz por ir a Settings> Project Settings> Directoriesy agregar directorios adicionales.

Justinas
fuente
4
Puede crear Scope con esto:!file[*]:.idea/*&&!file[*]:.idea//*&&!file[*]:app/cache//*&&!file[*]:app/logs//*
Roukmoute
13
FYI para usuarios de Mac, esPhpStorm > Preferences > Appearance & Behavior > Scopes
Wesley Smith
Creo que esta respuesta ahora está desactualizada. Configuración> Configuración del proyecto> Alcance no parece existir
Andrew
3
@Andrew Está en Configuración> Apariencia y comportamiento> Ámbitos para CE 2016.3
tex
Gracias tex ... ese es el indicado.
Andrew
41

Esta es la mejor manera de excluir directorios de los resultados de su búsqueda. Trabajo en un gran proyecto de Magento con muchos directorios que no quiero en los resultados de búsqueda. Esto resolvió mi problema. Si su proyecto contiene un directorio / vendor, esto ayudará a acelerar la indexación en PHPStorm, ya que se ignora.

Haga clic derecho en cualquier carpeta para que aparezcan las siguientes opciones.

Excluir de la búsqueda

TheRealJAG
fuente
También funciona para el desarrollo de paquetes de Laravel. Forma recomendada de hacer esto para crear la carpeta de paquetes en la raíz de su proyecto. Ahora usará las mismas clases que su proyecto principal, por lo que terminará recibiendo toneladas de errores de existencia de clases duplicadas. Haga clic derecho y haga esto y funciona como magia. ¡El enfoque de alcance no funcionó para mí!
Juha Vehnia
39

A partir de la versión 2016.3, se encuentra en Configuración > Apariencia y comportamiento > Ámbitos .

O independientemente de la versión , simplemente vaya a Configuración y escriba "ámbitos" en el cuadro de búsqueda en la parte superior.

Luego, simplemente haga clic en el símbolo + para agregar el alcance, elija la carpeta que desea excluir y haga clic en Excluir recursivamente y aplicar.

Luego, cuando busque usando CTRL + MAYÚS + F, en Opciones> Alcance, seleccione Personalizado y elija el alcance que acaba de crear (gracias a los comentaristas).

Andrés
fuente
4
Solo quiero agregar si está usando FIND como cmd + shift + F, luego en la pestaña de opciones puede personalizar por radio y luego elegir la elipse y abre la herramienta de alcance y puede seleccionar o crear un alcance para excluir lo que necesita.
daveferrara1
4
This automatically excludes this folder's contents from the searches...después de haber creado mi alcance personalizado, mi búsqueda Ctrl + Shift + F seguía buscando globalmente hasta que seleccioné explícitamente "Personalizado" y elegí mi alcance como sugirió @ daveferrara1.
Dimitry K
1
En 2020: después de hacer clic en + el LocalShared opción vs significa si la exclusión entra en VCS o no. Entonces tienes que nombrarlo . Luego, después del paso de @ DimitryK (ahora llamado Scopepestaña), debe elegir ese mismo nombre en un menú desplegable. (¿Los retoques de Jetbrains UX están convirtiendo a alguien más en un viejo gruñón?)
Bob Stein
2

Como dijeron @Justinas y los comentaristas: puede hacer un alcance personalizado y molestarse cada vez seleccionando ese alcance personalizado cuando usa Buscar en la ruta (y similar) porque PhpStorm no usa ese alcance personalizado de forma predeterminada 🤦🏻‍♂️

La exclusión del directorio node_modules interrumpe el autocompletado y otras funciones de asistencia de código de todos modos. No quieres hacer eso.

Sin embargo, encontré un truco que no requiere ninguna exclusión de directorio de node_modules ni un alcance personalizado:

  1. Cierre PhpStorm. Asegúrese de que no esté funcionando.
  2. Abra name_of_your_project.iml en el directorio .idea dentro del directorio de su proyecto con su editor de texto favorito.Siempre que no sea PhpStorm.
  3. Quita la línea <content url="file://$MODULE_DIR$/node_modules" />
  4. Salvar.
  5. Vuelve a disfrutar la vida.

Me parece aficionado a JetBrains incluir directorios de almacenamiento de dependencia como node_modules de JavaScript / TypeScript y proveedor de PHP de forma predeterminada. Apenas hay un caso de uso para incluir esos directorios en la funcionalidad de buscar y reemplazar, dejando solo la funcionalidad de refactorización.

RoestVrijStaal
fuente