Limita ambito di ricerca file nel testo sublime 2


238

In Sublime Text, utilizzo spesso Cmd+ P/ Ctrl+ Pper cercare e saltare tra i file.

Spesso raccoglieva file temporanei o memorizzati nella cache come .scssc o cose nella cartella / tmp.

C'è un modo per limitare ciò che viene mostrato nei risultati della ricerca?

Risposte:


319

Aggiungi e modifica questo nel tuo ~/Library/Application Support/Sublime Text 2/Packages/User/Preferences.sublime-settingsfile.

// 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"],

12
Il binary_file_patternsrimuove i file da Goto Qualsiasi cosa, ma non da trovare nei file, come dovrebbe in base al commento. Qualcun altro sta vivendo questo? Sai come ripararlo? Sono su Ubuntu, build 2221; la stessa cosa accade sul mio Mac (non conosco il numero di build).
Tyler Collier,

51
C'è anche "file_exclude_patterns": ["*.log"]se si desidera ignorare determinati file anziché cartelle.
Matt Zukowski,

4
Funziona in ST3? i commenti sembrano diversi in ST #, sembra che folder_exclude_patterns lo escluderà dalla barra laterale, ma lo voglio solo escluso da goto e trovarlo nei file
Michael

20
@Michael è lo stesso in ST3. Tutti gli altri: c'è un modo per escludere la cartella senza nasconderla? Spesso voglio guardare la fonte di alcune librerie ma non trovarla nei miei tipici risultati di ricerca.
Parris,

7
@Parris Ho lo stesso problema. Vorrei escludere dal dado del bot di ricerca dalla barra laterale.
spieglio

148

Per Sublime Text 3: per escludere dalla ricerca e dai risultati, senza rimuoverlo dalla barra laterale, modificare l' "binary_file_patterns"impostazione. Corrisponde a file E cartelle.

Ad esempio, per escludere i file in "dist" e "node_modules" dall'indicizzazione GoTo, aggiungilo al tuo file Impostazioni utente:

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

Non riesco a capire come implementarlo in base al progetto :(. La maggior parte delle impostazioni può essere spostata in un project.sublime-projectfile. "Progetto> Salva progetto con nome", salvalo come root del tuo progetto e aggiungilo "settings": {...}al json in il file generato. (dal sorgente , funziona dalla build 3095 di ST3). Ma non funziona con "binary_file_patterns".


3
Questo fa esattamente quello che dovrebbe, si comporta come un file ignorato se vuoi pensare in quel modo. Molte grazie!
Peter_Fretter,

6
Ma non è possibile cambiarlo per progetto?
user2602152

Nota: funziona anche in Sublime 2.0.2. +1 per una buona descrizione e dimostrazione che folder/**funziona anche. :)
try-catch-finalmente

7
Questo non sembra funzionare per me. Sto usando ST3 build 3095. Non riesco a modificare le Preferenze -> Impostazioni - Predefinite, quindi ho aggiunto il filtro a -> Impostazioni - Utente. Ho provato ad aggiungere "unused/", "*/unused/*"ma nessuno dei due ha funzionato. Tuttavia, sono stato in grado di aggiungere un filtro di esclusione come questo: -*/unused/*,-*/_sgbak/*alla mia ricerca, che è fastidioso perché non ricorda, quindi è necessario aggiungerlo ogni volta.
Redtopia,

@ user2602152 Non sono riuscito a farlo funzionare per progetto, vedi la risposta aggiornata per quello che ho provato
Jay

98

È possibile escludere determinati modelli di file e cartelle dal progetto modificando le impostazioni del progetto in questo modo:

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

Questo è descritto nella documentazione del progetto .


7
Funziona con Sublime Text 3. Rimuove la cartella esclusa dalla barra laterale, ma non è un problema per i miei scopi.
Webdevotion

Qual è il modo migliore per nascondersi dalla ricerca ma non dalla barra laterale, per progetto?
Adriano Resende,

@AdrianoResende Per quanto ne so, non esiste un modo corretto di farlo in base al progetto. Solo dalle impostazioni globali.
Kleinfreund,

85

Puoi anche escludere le cartelle nel riquadro Trova tutto utilizzando la -*/foldername/*sintassi nel Wherecampo, ad esempio:

-*/node_modules/*

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


2
Sì! Perfetto. Non voglio escludere del tutto node_modules dal progetto, volevo solo filtrarlo fuori dalla ricerca. Rockin!
Privato il

Non penso che questo vada sul wherecampo.
Noè,

Sì, ci va.
Daniel Flippance,

3
Nota che in Windows dovrai anche usare le barre (/) per escludere la directory, anche se usi le barre all'indietro per la directory in cui cercare. Esempio nel campo Where:C:\Projects\SearchThis,-*/but/not/this/*
sp00n

come escludere più cartelle?
Anon30,

21

Nel sublime testo 3 (BLD 3059 Windows) dovevo limitare la funzione "trova nella cartella" a determinati file / cartelle e forse a un singolo file,

Quanto segue funziona per me Contenuto del dove: box

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

Portandolo oltre senza percorsi assoluti, è possibile combinare quanto sopra con le seguenti posizioni simboliche

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

<open folders>,*.c,*.h,-*/never_this_in_folder/*,<open files>

Questa dovrebbe essere la risposta accettata, soddisfa la domanda e non nasconde le cartelle dell'interfaccia utente che si desidera esaminare.
Giovanni

Sì. Gli altri suggerimenti con folder_exclude_patternse file_exclude_patternslo nascondono solo dalla barra laterale e non dalla ricerca o Vai a. Purtroppo non ho trovato alcuna impostazione permanente per l'esclusione dalla ricerca e da GoTo. Quindi questa risposta è attualmente la soluzione alternativa migliore.
Magne,

In realtà ho appena verificato che lo nasconde al Goto. Ma non lo nasconde ancora nella ricerca ampia del progetto.
Magne,

2
Ho appena scoperto che si esclude dalla ricerca nei file se includi queste opzioni nel tuo file delle impostazioni globali ("Testo sublime -> Preferenze -> Impostazioni - Utente"). Non funziona con il file delle impostazioni del progetto, quindi bisogna fare in modo che queste impostazioni vengano applicate per ogni progetto / app.
Magne,

16

Per SublimeText 2, questo funziona alla grande per me.

Quando si sceglie Trova nei file , specificare escludere le cartelle in Dove input;

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

Quindi, un trattino seguito da un modello di esclusione per le cartelle in cui non si desidera cercare.

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

Ciò limiterà il tuo ambito di ricerca.

Guarda questo


12

Penso che molte di queste risposte riguardino alcune versioni diverse di Sublime Text, ecco come lo faccio con Sublime Text 3 su un Mac.

  1. Apri il testo Sublime> Preferenze> Impostazioni - Menu utente
  2. Modifica i valori file_exclude_patternse folder_exclude_patternsper ignorare file e / o cartelle dallo strumento Trova

Esempio

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

Immagine dello schermo

inserisci qui la descrizione dell'immagine


Stavo cercando una soluzione globale (non una per progetto) e provando a differenziare i file dalle cartelle, ho trovato tutto qui! (Usando ST3 su Linux Mint)
gfd

Grazie per questo - l'ho fatto funzionare con ST2 su Ubuntu. Discrepanza rapida: ho dovuto aggiungere * a "file_exclude_patterns"; ad es. ".txt" -> "* .txt". Ho seguito questo: lugolabs.com/articles/…
ximiki il

Funziona, ma ti esclude anche dalla possibilità di aprire il file / la cartella anche in sublime. Supponi di voler escludere sempre node_modulesquando fai una ricerca a livello di cartella. Tuttavia, se stai eseguendo il debug di qualcosa e c'è un problema con una dipendenza, sarebbe bello avere l'opzione per aprire un file in node_modules
Jeremy,

4

Puoi anche escludere le cartelle dalla tua ricerca tramite il campo Dove:

Dove: <open folders>,-*/node_modules/*.*,-*/build/*.*

Quindi nel mio esempio sopra:

  1. Sto cercando tra tutte le cartelle aperte.
  2. Sto escludendo la cartella denominata "node_modules" che è una cartella di livello superiore proprio sotto la directory principale per il mio progetto.
  3. Sto escludendo la cartella denominata "build" che è una cartella di livello superiore nella directory principale del mio progetto.

Questo funziona per me in Sublime Text 3 e le cartelle continuano a essere visualizzate nella barra laterale. Questa è un'esclusione della sola ricerca tramite input (non influisce sull'indicizzazione dietro le quinte).



2

Per quelle poche volte è necessario limitare la ricerca (e la sostituzione) solo alla directory corrente, procedere come segue:

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

Il bit importante è /*/*nel modello di esclusione del percorso. Utilizzando Sublime Text 3 build 3083 su Windows 7 a 64 bit.


Qual è la chiave per quello? Dove lo metti? (sublime prefs)
Leon Gaban,

@LeonGaban Questo suggerimento è la voce 'Where' per il pannello interattivo Trova-in-File. Il keybinding predefinito è CTRL + MAIUSC + F.
MEngelby777,

2

Si noti che se si desidera aggiungere una sottocartella della cartella del progetto, è necessario unire le cartelle con \/. Utilizzando lo stesso esempio di @ DavidPärsson:

    {
        "folders":
        [
            {
                "path": "src",
                "folder_exclude_patterns": ["backup\/src\/log"]
            }
        ]
    }

0

Penso che il modo più semplice per assicurarsi che tali file e cartelle siano esclusi su ogni progetto sia semplicemente quello di aggiungere il seguente codice in Sublime User Settings (Aggiungi e modifica questo nel tuo ~/Library/Application Support/Sublime Text 2/Packages/User/Preferences.sublime-settingsfile.)

{
    // 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 puoi controllare il mio file delle preferenze qui https://github.com/ahmadawais/dotFiles/blob/master/SublimeText/User/Preferences.sublime-settings#L80-L81

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.