Como posso excluir uma pasta da indexação no Texto Sublime, embora ainda a mostre na barra lateral?

107

Para um grande projeto com muitas dependências, por exemplo, na node_modules/pasta, percebi picos frequentes de CPU devido à indexação do Sublime de todos os arquivos na pasta.

Sei que posso ocultar arquivos e pastas usando a folder_exclude_patternsconfiguração, mas ainda quero que a pasta fique visível na barra lateral.

Como posso manter, por exemplo, node_modules/na barra lateral, mas excluí-lo da indexação?

Geir Sagberg
fonte

Respostas:

188

Para excluir arquivos do índice, mas mantê-los na barra lateral, use a binary_file_patternsconfiguração em suas Configurações do usuário, por exemplo:

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

Certifique-se de copiar os valores de suas Settings - Defaultpreferências (aqui mostrados como "*.jpg"etc.) ou você começará a indexar arquivos binários.

Geir Sagberg
fonte
7
Eu queria realizar a mesma coisa que o OP, mas pelo que vale a pena, o uso da CPU do Sublime Text 3 aumenta para mim com "binary_file_patterns". Infelizmente, só consigo acalmar usando "folder_exclude_patterns." Estou usando um Macbook Pro do final de 2013.
Brian FitzGerald
3
Tenho o mesmo problema que @BrianFitzGerald, preciso usar folder_exclude_patterns no OS X. (ST Build 3103, OS X 10.11)
t.mikael.d
34
Em março de 2017, a preferência do Sublime Text 3 é index_exclude_patterns, por exemplo "index_exclude_patterns": ["*.log","node_modules/**","bower_components/**"]
Paul Wenzel
2
@Michael eu li que "folder_exclude_patterns": ["name_of_folder"]pode ajudar a remover certos padrões dos resultados da pesquisa, mas não testei. Fonte: coderwall.com/p/bk90bw/…
Paul Wenzel
3
@Michael, posso confirmar que index_exclude_patternsnão esconde node_modulesos arquivos da pesquisa "Goto Anything" (⌘P): "index_exclude_patterns": ["*.log", "node_modules/**"], Testado com Sublime Text 3.1.1, Build 3176.
olistik
37

Você pode alterar suas configurações pessoais, em Preferences -> Settings - User, adicionar:

{
    "folder_exclude_patterns":
    [
        ".svn", ".git", ".hg", "CVS",
        "node_modules",
    ],
}
liut
fonte
18
Esta não é a solução se você ainda deseja que as pastas apareçam na barra lateral.
xiaolin
Eu uso isso para ocultar e ignorar pastas com o comando-P:"folder_exclude_patterns": ["build/**", ".gradle", "node_modules/**"],
BYTE RIDER
5

Não funciona no ST3 (Build 3126).

Você pode mostrar pastas de módulos de nó na barra lateral e ocultar arquivos dentro desta maneira:

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

Se você deseja ocultar subpastas de cada módulo de nó:

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

Todos os arquivos dentro de node_modules serão removidos da pesquisa, mas cada subpasta node_module ainda estará visível na barra lateral.

migli
fonte
2
Isso mostra apenas a pasta node_modules, mas não a subpasta, então realmente não funciona.
Vishal Sakaria
2

O Sublime Text 3 agora oferece uma maneira de excluir arquivos e pastas da indexação, mantendo-os na barra lateral:

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

Em meu projeto, observei a seguinte melhoria no menu de status de indexação depois de aplicar as alterações:

Antes:

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

Depois de:

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