Limitar el alcance de búsqueda de archivos en Sublime Text 2

238

En Sublime Text, a menudo uso Cmd+ P/ Ctrl+ Ppara buscar y saltar entre archivos.

A menudo, recogería archivos temporales o en caché como .scssc o cosas en la carpeta / tmp.

¿Hay alguna manera de limitar lo que se muestra en el resultado de la búsqueda?

rickypai
fuente

Respuestas:

319

Agregue y edite esto en su ~/Library/Application Support/Sublime Text 2/Packages/User/Preferences.sublime-settingsarchivo.

// These files will still show up in the side bar, but won't be included in
// Goto Anything or Find in Files
"binary_file_patterns": ["*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds", "*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip"],

"folder_exclude_patterns": [".svn", ".git", ".hg", "CVS"],
AGS
fuente
12
El binary_file_patternselimina los archivos de Goto Cualquier cosa, pero no de Buscar en archivos, como debe basado en el comentario. ¿Alguien más está experimentando esto? ¿Sabes cómo arreglarlo? Estoy en Ubuntu, compilación 2221; Lo mismo sucede en mi Mac (no sé el número de compilación).
Tyler Collier
51
También hay "file_exclude_patterns": ["*.log"]si desea ignorar ciertos archivos en lugar de carpetas.
Matt Zukowski
44
¿Funciona esto en ST3? los comentarios parecen diferentes en ST #, parece que folder_exclude_patterns excluirá de la barra lateral, pero solo quiero excluirlo de goto y encontrarlo en los archivos
Michael
20
@Michael es lo mismo en ST3. Todos los demás: ¿hay alguna manera de excluir la carpeta sin ocultarla? A menudo quiero ver la fuente de alguna biblioteca pero no obtenerla en mis resultados de búsqueda típicos.
Parris
77
@Parris tengo el mismo problema. Quisiera excluir de la búsqueda bot nut de la barra lateral.
spieglio
148

Para Sublime Text 3: para excluir de la búsqueda y los resultados GoTo, sin eliminar de la barra lateral, cambie la "binary_file_patterns"configuración. Coincide con archivos y carpetas.

Por ejemplo, para excluir archivos en "dist" y "node_modules" de la indexación de GoTo, agregue esto a su archivo de Configuración de usuario:

"binary_file_patterns": ["dist/*", "node_modules/*", "*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds", "*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip"]

No puedo entender cómo implementar esto por proyecto :(. La mayoría de las configuraciones se pueden mover a un project.sublime-projectarchivo. "Proyecto> Guardar proyecto como", guárdelo en la raíz de su proyecto y agréguelo "settings": {...}al json en el archivo generado. (desde la fuente , funciona a partir de ST3 build 3095). Pero no funciona con "binary_file_patterns".

Arrendajo
fuente
3
Esto hace exactamente lo que debería, se comporta como un archivo de ignorar si quiere pensar de esa manera. ¡Muchas gracias!
Peter_Fretter
66
¿Pero no es posible cambiar esto por proyecto?
user2602152
Nota: también funciona en Sublime 2.0.2. Haz +1 por tu buena descripción y muestra que folder/**también funciona. :)
try-catch-finally
77
Esto no parece funcionar para mí. Estoy usando ST3 build 3095. No puedo editar las Preferencias -> Configuración - Predeterminado, así que agregué el filtro a -> Configuración - Usuario. Traté de agregar "unused/"tan bien como, "*/unused/*"pero tampoco funciona para mí. Sin embargo, pude agregar un filtro de exclusión como este: -*/unused/*,-*/_sgbak/*a mi búsqueda, lo cual es molesto porque no lo recuerda, por lo que debe agregarlo cada vez.
Redtopia
@ user2602152 No pude hacer que funcionara por proyecto, vea la respuesta actualizada para lo que intenté
Jay
98

Puede excluir ciertos patrones de archivos y carpetas de su proyecto modificando la configuración de su proyecto de la siguiente manera:

{
    "folders":
    [
        {
            "path": "src",
            "folder_exclude_patterns": ["backup"]
        },
        {
            "path": "docs",
            "file_exclude_patterns": ["*.css"]
        }
    ]
}

Esto se describe en la documentación del proyecto .

David Pärsson
fuente
77
Funciona para Sublime Text 3. Elimina la carpeta excluida de la barra lateral, pero eso no es un problema para mis propósitos.
Webdevotion
¿Cuál es la mejor manera de esconderse de la búsqueda pero no de la barra lateral, por proyecto?
Adriano Resende
@AdrianoResende Hasta donde yo sé, no hay una forma correcta de hacer esto por proyecto. Solo desde la configuración global.
kleinfreund
85

También puede excluir carpetas en el panel Buscar todo utilizando la -*/foldername/*sintaxis en el Wherecampo, por ejemplo:

-*/node_modules/*

http://www.sublimetext.com/forum/viewtopic.php?f=2&t=3847&start=10

Daniel Flippance
fuente
2
¡Si! Perfecto. No quiero excluir node_modules del proyecto por completo, solo quería filtrarlo de la búsqueda. Rockin!
Privateer
No creo que esto vaya en el wherecampo.
Noah
Sí, va allí.
Daniel Flippance el
3
Tenga en cuenta que en Windows también tendrá que usar las barras diagonales (/) para que el directorio se excluya, incluso si usa barras diagonales inversas para buscar en el directorio. Ejemplo en el campo Dónde:C:\Projects\SearchThis,-*/but/not/this/*
sp00n
¿Cómo excluir varias carpetas?
Anon30
21

En el texto sublime 3 (BLD 3059 Windows) necesitaba restringir la función "buscar en la carpeta" a ciertos archivos / carpetas y tal vez un solo archivo,

Lo siguiente funciona para mí Contenido del cuadro where:

/C/path/2/project/folder,*.c,*.h,-*/path/not/to/look/in,/C/path/2/specific/file/file.h

Yendo más allá sin rutas absolutas, puede combinar lo anterior con las siguientes ubicaciones simbólicas

<open folders>, <open files>, <current file>

<open folders>,*.c,*.h,-*/never_this_in_folder/*,<open files>
eephillip
fuente
Esta debería ser la respuesta aceptada, cumple con la pregunta y no oculta las carpetas de la interfaz de usuario que desea ver.
JohnC
Si. Las otras sugerencias con folder_exclude_patternsy file_exclude_patternssolo lo oculta desde la barra lateral, y no desde la búsqueda o GoTo. Lamentablemente, no he encontrado ninguna configuración permanente para excluir de la búsqueda y GoTo. Entonces, esta respuesta es actualmente la mejor solución.
Magne
En realidad, acabo de verificar que lo oculta del Goto. Pero todavía no lo oculta en la búsqueda general del proyecto.
Magne
2
Me acabo de enterar de que excluye la búsqueda en archivos si incluye estas opciones en su archivo de configuración global ("Texto sublime -> Preferencias -> Configuración - Usuario"). No funciona con el archivo de configuración del proyecto, por lo que hay que tenerlo en cuenta para que esta configuración se aplique a cada proyecto / aplicación.
Magne
16

Para SublimeText 2, esto funciona muy bien para mí.

Cuando elija Buscar en archivos , especifique las carpetas de exclusión en la entrada Where ;

-bower_components/**/*, -dist/**/*, -node_modules/**/*, -tmp/**/*

Por lo tanto, un guión seguido de un patrón de exclusión para las carpetas en las que no desea buscar.

-folder1/**/*, -folder2/**/*

Esto limitará su alcance de búsqueda.

Mira esto

Vakharia dura
fuente
12

Creo que muchas de estas respuestas abarcan algunas versiones diferentes de Sublime Text, así es como hago esto con Sublime Text 3 en una Mac.

  1. Abra el Texto sublime> Preferencias> Configuración - Usuario Menú de
  2. Edite los valores file_exclude_patternsy folder_exclude_patternspara ignorar archivos y / o carpetas desde la herramienta Buscar

Ejemplo

"file_exclude_patterns":
[
    ".svn",
    ".git",
    ".hg",
    ".md",
    ".txt",
    ".DS_Store"
],
"folder_exclude_patterns":
[
    "node_modules",
    "bower_components",
    ".svn",
    ".git",
    ".hg",
    "CVS",
    "deprecated",
    "cache"
],

Captura de pantalla

ingrese la descripción de la imagen aquí

Kevin Leary
fuente
Estaba buscando una solución global (no una por proyecto) y tratando de diferenciar el archivo de las carpetas, ¡obtuve todo aquí! (Usando ST3 en Linux Mint)
gfd
Gracias por esto, lo conseguí trabajando con ST2 en Ubuntu. Discrepancia rápida: tuve que agregar * al "file_exclude_patterns"; por ejemplo, ".txt" -> "* .txt". Seguí esto: lugolabs.com/articles/…
ximiki
Esto funciona, pero también te excluye de poder abrir el archivo / carpeta en sublime también. Supongamos que desea excluir siempre node_modulesal hacer una búsqueda amplia de carpetas. Sin embargo, si está depurando algo y hay un problema con una dependencia, sería bueno tener la opción de abrir un archivo en node_modules
Jeremy
4

También puede excluir carpetas de su búsqueda a través del campo Dónde:

Dónde: <open folders>,-*/node_modules/*.*,-*/build/*.*

Entonces, en mi ejemplo anterior:

  1. Estoy buscando en todas las carpetas abiertas.
  2. Estoy excluyendo la carpeta llamada "node_modules", que es una carpeta de nivel superior justo debajo del directorio raíz de mi proyecto.
  3. Estoy excluyendo la carpeta llamada "build", que es una carpeta de nivel superior justo debajo del directorio raíz de mi proyecto.

Esto funciona para mí en Sublime Text 3 y las carpetas continúan mostrándose en la barra lateral. Esta es una exclusión de búsqueda solamente a través de la entrada (no afecta a ninguna indexación detrás de escena).

afsheenirani
fuente
3

Esta solución funciona perfectamente para mí: https://superuser.com/a/601270

Find: "something" Where: "<open folders>" // <open folders>" not include hidden folder in sidebar
Laurent Perroteau
fuente
2

Para esas pocas veces que necesita limitar la búsqueda (y reemplazar) solo al directorio actual, haga esto:

c/Path/2/Project,-c/Path/2/Project/*/*

El bit importante está /*/*en el patrón de exclusión de ruta. Usando Sublime Text 3 compila 3083 en Windows 7 de 64 bits.

MEngelby777
fuente
¿Cuál es la clave para eso? ¿Dónde lo colocas? (sublime prefs)
Leon Gaban
@LeonGaban Este consejo es la entrada 'Dónde' para el panel interactivo Find-in-Files. La combinación de teclas predeterminada es CTRL + MAYÚS + F.
MEngelby777
2

Solo tenga en cuenta que si desea agregar una subcarpeta de la carpeta de su proyecto, debe unir las carpetas con \/. Usando el mismo ejemplo de @ DavidPärsson:

    {
        "folders":
        [
            {
                "path": "src",
                "folder_exclude_patterns": ["backup\/src\/log"]
            }
        ]
    }
Alter Lagos
fuente
0

Creo que la forma más fácil de asegurarse de que dichos archivos y carpetas estén excluidos en cada proyecto es simplemente agregar el siguiente código en la Configuración de usuario sublime (Agregar y editar esto en su ~/Library/Application Support/Sublime Text 2/Packages/User/Preferences.sublime-settingsarchivo).

{
    // Remove certain files permanently from Sublime via Preferences.sublime-settings.
    "folder_exclude_patterns": [".svn", ".git", ".hg", "CVS", "node_modules"]   
}

Gist: https://gist.github.com/ahmadawais/690a816ca158067708ad4dbe17822841

O puede consultar mi archivo de preferencias aquí https://github.com/ahmadawais/dotFiles/blob/master/SublimeText/User/Preferences.sublime-settings#L80-L81

Ahmad Awais
fuente