Come posso escludere una cartella dall'indicizzazione in Sublime Text, mentre la visualizzo ancora nella barra laterale?


107

Per un progetto di grandi dimensioni con molte dipendenze, ad esempio nella node_modules/cartella, ho notato frequenti picchi di CPU a causa dell'indicizzazione di Sublime di tutti i file nella cartella.

So di poter nascondere file e cartelle utilizzando l' folder_exclude_patternsimpostazione, ma desidero comunque che la cartella sia visibile nella barra laterale.

Come posso mantenere ad esempio node_modules/nella barra laterale, ma escluderla dall'indicizzazione?

Risposte:


188

Per escludere i file dall'indice ma mantenerli nella barra laterale, utilizza l' binary_file_patternsimpostazione nelle Impostazioni utente, ad esempio:

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

Assicurati di copiare i valori dalle tue Settings - Defaultpreferenze (qui mostrate come "*.jpg"ecc.), O inizierai a indicizzare i file binari.


7
Volevo ottenere la stessa cosa di OP, ma per quel che vale, l'utilizzo della CPU Sublime Text 3 aumenta per me con "binary_file_patterns". Sfortunatamente, posso solo calmarlo utilizzando "folder_exclude_patterns". Sono su un Macbook Pro di fine 2013.
Brian FitzGerald

3
Ho lo stesso problema di @BrianFitzGerald, devo usare folder_exclude_patterns quando su OS X. (ST Build 3103, OS X 10.11)
t.mikael.d

34
A partire da marzo 2017, la preferenza Sublime Text 3 è index_exclude_patterns, ad esempio "index_exclude_patterns": ["*.log","node_modules/**","bower_components/**"]
Paul Wenzel,

2
@ Michael Ho letto che "folder_exclude_patterns": ["name_of_folder"]potrebbe aiutare a rimuovere determinati modelli dai risultati di ricerca, ma non l'ho testato. Fonte: coderwall.com/p/bk90bw/…
Paul Wenzel

3
@Michael Posso confermare che index_exclude_patternsnon nasconde node_modulesi file di dalla ricerca "Goto Anything" (⌘P): "index_exclude_patterns": ["*.log", "node_modules/**"], Tested with Sublime Text 3.1.1, Build
3176.

37

Puoi modificare le tue impostazioni personali, in Preferences -> Settings - User, aggiungere:

{
    "folder_exclude_patterns":
    [
        ".svn", ".git", ".hg", "CVS",
        "node_modules",
    ],
}

18
Questa non è la soluzione se vuoi ancora che le cartelle vengano visualizzate nella barra laterale.
xiaolin

Lo uso per nascondere e ignorare le cartelle con il comando-P:"folder_exclude_patterns": ["build/**", ".gradle", "node_modules/**"],
BYTE RIDER

5

Non funziona in ST3 (Build 3126).

Puoi mostrare le cartelle dei moduli del nodo nella barra laterale e nascondere i file all'interno in questo modo:

"file_exclude_patterns":
[
    ...,
    "node_modules/**"
]

Se vuoi nascondere le sottocartelle da ogni modulo del nodo:

"folder_exclude_patterns":
[
    "node_modules/*/**"
]

Tutti i file all'interno di node_modules verranno rimossi dalla ricerca, ma ogni sottocartella node_module sarà ancora visibile nella barra laterale.


2
Questo mostra solo la cartella node_modules ma non la sottocartella, quindi non funziona davvero.
Vishal Sakaria

2

Sublime Text 3 ora fornisce un modo per escludere file e cartelle dall'indicizzazione mantenendoli nella barra laterale:

  "index_exclude_patterns": [
    "*.log",
    "node_modules/*"
  ]

Nel mio progetto ho osservato il seguente miglioramento nel menu dello stato dell'indicizzazione dopo aver applicato le modifiche:

Prima:

index "MyApp" collated in 0.70s from 73934 files
index "MyApp" is using 15167488 bytes for 54234 symbols across 1357673 locations

Dopo:

index "MyApp" collated in 0.00s from 137 files
index "MyApp" is using 61440 bytes for 730 symbols across 4763 locations
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.