¿Cómo puedo excluir una carpeta de la indexación en Sublime Text, mientras sigo mostrándola en la barra lateral?

107

Para un proyecto grande con muchas dependencias, por ejemplo, en la node_modules/carpeta, noté picos frecuentes de CPU debido a que Sublime indexaba todos los archivos en la carpeta.

Sé que puedo ocultar archivos y carpetas usando la folder_exclude_patternsconfiguración, pero aún quiero que la carpeta sea visible en la barra lateral.

¿Cómo puedo mantener, por ejemplo, node_modules/en la barra lateral, pero excluirlo de la indexación?

Geir Sagberg
fuente

Respuestas:

188

Para excluir archivos del índice pero mantenerlos en la barra lateral, use la binary_file_patternsconfiguración en su Configuración de usuario, por ejemplo:

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

Asegúrese de copiar los valores de sus Settings - Defaultpreferencias (aquí se muestran como "*.jpg"etc.), o comenzará a indexar archivos binarios.

Geir Sagberg
fuente
7
Quería lograr lo mismo que OP, pero por lo que vale, el uso de la CPU de Sublime Text 3 aumenta con "binary_file_patterns". Desafortunadamente, solo puedo hacer que se calme usando "folder_exclude_patterns". Estoy en una Macbook Pro de finales de 2013.
Brian FitzGerald
3
Tengo el mismo problema que @BrianFitzGerald, tengo que usar folder_exclude_patterns cuando estoy en OS X. (ST Build 3103, OS X 10.11)
t.mikael.d
34
En marzo de 2017, la preferencia Sublime Text 3 es index_exclude_patterns, por ejemplo "index_exclude_patterns": ["*.log","node_modules/**","bower_components/**"]
Paul Wenzel
2
@Michael Leí que "folder_exclude_patterns": ["name_of_folder"]podría ayudar a eliminar ciertos patrones de los resultados de búsqueda, pero no lo he probado. Fuente: coderwall.com/p/bk90bw/…
Paul Wenzel
3
@Michael Puedo confirmar que index_exclude_patternsno oculta node_moduleslos archivos de la búsqueda "Goto Anything" (⌘P): "index_exclude_patterns": ["*.log", "node_modules/**"], Probado con Sublime Text 3.1.1, Build 3176.
olistik
37

Puede cambiar su configuración personal, en Preferences -> Settings - User, agregar:

{
    "folder_exclude_patterns":
    [
        ".svn", ".git", ".hg", "CVS",
        "node_modules",
    ],
}
liut
fuente
18
Esta no es la solución si aún desea que las carpetas se muestren en la barra lateral.
Xiaolin
Utilizo esto para ocultar e ignorar carpetas con el comando-P:"folder_exclude_patterns": ["build/**", ".gradle", "node_modules/**"],
BYTE RIDER
5

No funciona en ST3 (compilación 3126).

Puede mostrar carpetas de módulos de nodo en la barra lateral y ocultar archivos dentro de esta manera:

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

Si desea ocultar subcarpetas de cada módulo de nodo:

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

Todos los archivos dentro de node_modules se eliminarán de la búsqueda, pero cada subcarpeta de node_module seguirá siendo visible en la barra lateral.

migli
fuente
2
Esto solo muestra la carpeta node_modules pero no la subcarpeta, por lo que realmente no funciona.
Vishal Sakaria
2

Sublime Text 3 ahora proporciona una forma de excluir archivos y carpetas de la indexación mientras los mantiene en la barra lateral:

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

En mi proyecto observé la siguiente mejora en el menú de estado de indexación después de aplicar los cambios:

Antes de:

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

Después:

index "MyApp" collated in 0.00s from 137 files
index "MyApp" is using 61440 bytes for 730 symbols across 4763 locations
Killian Huyghe
fuente