Ogranicz zakres wyszukiwania plików w wysublimowanym tekście 2


238

W Sublime Text często używam Cmd+ P/ Ctrl+ Pdo wyszukiwania i przeskakiwania między plikami.

Często pobiera pliki tymczasowe lub buforowane, takie jak .scssc lub inne elementy z folderu / tmp.

Czy istnieje sposób, w jaki mogę ograniczyć zawartość wyświetlaną w wyniku wyszukiwania?

Odpowiedzi:


319

Dodaj i edytuj to w swoim ~/Library/Application Support/Sublime Text 2/Packages/User/Preferences.sublime-settingspliku.

// 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
binary_file_patternsUsuwa pliki z Goto cokolwiek, ale nie ze Znajdź w plikach, jak powinno na podstawie komentarza. Czy ktoś jeszcze tego doświadcza? Wiesz jak to naprawić? Jestem na Ubuntu, kompilacja 2221; to samo dzieje się na moim komputerze Mac (nie znam numeru kompilacji).
Tyler Collier

51
Jest również, "file_exclude_patterns": ["*.log"]jeśli chcesz zignorować niektóre pliki zamiast folderów.
Matt Zukowski

4
Czy to działa w ST3? komentarze w ST # wyglądają inaczej, wygląda na to, że folder_exclude_patterns zostanie wykluczony z paska bocznego, ale chcę tylko, aby został wyłączony z goto i znajdował się w plikach
Michael

20
@ Michael jest taki sam w ST3. Wszyscy inni: czy istnieje sposób, aby wykluczyć folder bez ukrywania go? Często chcę spojrzeć na źródło jakiejś biblioteki, ale nie mam jej w moich typowych wynikach wyszukiwania.
Parris

7
@Parris Mam ten sam problem. Chciałbym wykluczyć z wyszukiwania bota z paska bocznego.
spieglio 30.04.2014

148

W przypadku Podniosłego tekstu 3: Aby wykluczyć z wyszukiwania i wyników GoTo, bez usuwania z paska bocznego, zmień "binary_file_patterns"ustawienie. Dopasowuje pliki ORAZ foldery.

Na przykład, aby wykluczyć pliki z „dist” i „node_modules” z indeksowania GoTo, dodaj to do pliku ustawień użytkownika:

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

Nie mogę wymyślić, jak to zaimplementować dla poszczególnych projektów :(. Większość ustawień można przenieść do project.sublime-projectpliku. „Projekt> Zapisz projekt jako”, zapisz go jako katalog główny projektu i dodaj "settings": {...}do pliku json w wygenerowany plik. (ze źródła działa od wersji ST3 3095). Ale nie działa z "binary_file_patterns".


3
Robi to dokładnie tak, jak powinno, zachowuje się jak plik zignorowania, jeśli chcesz tak myśleć. Wielkie dzięki!
Peter_Fretter

6
Ale nie można tego zmienić w zależności od projektu?
user2602152

Uwaga: działa również w Sublime 2.0.2. +1 za dobry opis i pokaz, że to folder/**też działa. :)
try-catch-wreszcie

7
Wydaje mi się, że to nie działa. Używam kompilacji ST3 3095. Nie mogę edytować Preferencji -> Ustawienia - Domyślne, więc dodałem filtr do -> Ustawienia - Użytkownik. Próbowałem dodając "unused/"jak również "*/unused/*"ale żadna praca dla mnie. Udało mi się jednak dodać taki filtr wykluczający: -*/unused/*,-*/_sgbak/*do mojego wyszukiwania, co jest denerwujące, ponieważ nie pamięta, więc musisz go dodawać za każdym razem.
Redtopia,

@ user2602152 Nie mogłem zmusić go do pracy nad projektem, zobacz zaktualizowaną odpowiedź na to, co próbowałem
Jay

98

Możesz wykluczyć pewne wzorce plików i foldery z projektu, zmieniając ustawienia projektu w następujący sposób:

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

Jest to opisane w dokumentacji projektu .


7
Działa dla Sublime Text 3. Czy usuwa wykluczony folder z paska bocznego, ale to nie jest problem dla moich celów.
Webdevotion,

Jaki jest najlepszy sposób, aby ukryć się przed wyszukiwaniem, ale nie przed paskiem bocznym, na projekt?
Adriano Resende,

@AdrianoResende O ile mi wiadomo, nie ma właściwego sposobu na zrobienie tego dla każdego projektu. Tylko z ustawień globalnych.
kleinfreund

85

Możesz również wykluczyć foldery w panelu Znajdź wszystko, używając -*/foldername/*składni w Wherepolu - np .:

-*/node_modules/*

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


2
Tak! Idealny. Nie chcę całkowicie wykluczać node_modules z projektu, po prostu chciałem go odfiltrować z wyszukiwania. Rockin!
Kaper

Nie sądzę, żeby to działało w whereterenie.
Noah

Tak, tam idzie.
Daniel Flippance

3
Zauważ, że w Windows musisz także użyć ukośników do przodu (/), aby wykluczyć katalog, nawet jeśli używasz ukośników do przeszukiwania katalogu. Przykład w polu Gdzie:C:\Projects\SearchThis,-*/but/not/this/*
sp00n

jak wykluczyć wiele folderów?
Anon30,

21

W wysublimowanym tekście 3 (BLD 3059 Windows) musiałem ograniczyć funkcję „znajdź w folderze” do niektórych plików / folderów i być może jednego pliku,

Poniższe działa dla mnie Zawartość where: box

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

Idąc dalej bez absolutnych ścieżek, możesz połączyć powyższe z następującymi symbolicznymi lokalizacjami

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

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

To powinna być zaakceptowana odpowiedź, spełnia pytanie i nie ukrywa folderów przed interfejsem użytkownika, na który chcesz spojrzeć.
JohnC

Tak. Inne sugestie folder_exclude_patternsi file_exclude_patternstylko ukrywa go na pasku bocznym, a nie z wyszukiwania lub GoTo. Niestety nie znalazłem żadnego stałego ustawienia wykluczającego z wyszukiwania i GoTo. Ta odpowiedź jest obecnie najlepszym obejściem.
Magne

Właściwie właśnie zweryfikowałem, że ukrywa to przed Goto. Ale nadal nie ukrywa go w wyszukiwaniu projektu.
Magne

2
Właśnie dowiedziałem się, że wyklucza to znajdowanie w plikach, jeśli uwzględnisz te opcje w pliku ustawień globalnych („Podniosły tekst -> Preferencje -> Ustawienia - Użytkownik”). To nie działa z plikiem ustawień projektu, więc trzeba to zrobić, ponieważ te ustawienia mają zastosowanie do każdego projektu / aplikacji.
Magne,

16

W przypadku SublimeText 2 działa to dla mnie świetnie.

Po wybraniu Znajdź w plikach , określ wyklucz foldery w polu Wejście;

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

Tak więc myślnik, po którym następuje wykluczenie wzoru dla folderów, których nie chcesz przeszukiwać.

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

Ograniczy to zakres wyszukiwania.

Zobacz


12

Myślę, że wiele z tych odpowiedzi obejmuje kilka różnych wersji Sublime Text, oto jak to zrobić z Sublime Text 3 na komputerze Mac.

  1. Otwórz Sublime Text> Preferencje> Ustawienia - menu użytkownika
  2. Edytuj wartości file_exclude_patternsi folder_exclude_patterns, aby zignorować pliki i / lub foldery w narzędziu Znajdź

Przykład

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

Zrzut ekranu

wprowadź opis zdjęcia tutaj


Szukałem globalnego rozwiązania (nie dla jednego projektu) i próbowałem odróżnić plik od folderów, mam tu wszystko! (Używanie ST3 na Linux Mint)
gfd

Dzięki za to - mam działającą ze ST2 na Ubuntu. Szybka rozbieżność: musiałem dodać * do „file_exclude_patterns”; np. „.txt” -> „* .txt”. Śledziłem to: lugolabs.com/articles/…
ximiki

To działa, ale także wyklucza możliwość otwarcia pliku / folderu w sublime. Powiedz, że chcesz zawsze wykluczyć node_modulespodczas wyszukiwania całego folderu. Jeśli jednak coś debugujesz i występuje problem z zależnością, dobrze byłoby mieć opcję otwarcia pliku w module node_modules
Jeremy

4

Możesz również wykluczyć foldery z wyszukiwania za pomocą pola Gdzie:

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

W powyższym przykładzie:

  1. Przeszukuję wszystkie otwarte foldery.
  2. Wykluczam folder o nazwie „node_modules”, który jest folderem najwyższego poziomu bezpośrednio w katalogu głównym mojego projektu.
  3. Wykluczam folder o nazwie „build”, który jest folderem najwyższego poziomu bezpośrednio w katalogu głównym mojego projektu.

Działa to dla mnie w Sublime Text 3, a foldery nadal wyświetlają się na pasku bocznym. Jest to wykluczenie tylko wyszukiwania za pomocą danych wejściowych (nie wpływa na indeksowanie za kulisami).



2

W tych przypadkach, gdy musisz ograniczyć wyszukiwanie (i zastąpienie) tylko do bieżącego katalogu, wykonaj następujące czynności:

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

Ważny bit znajduje się /*/*w ścieżce wykluczenia wzorca. Za pomocą Sublime Text 3 zbuduj 3083 na Windows 7 64-bit.


Jaki jest na to klucz? Gdzie to umieszczasz? (wysublimowane prefiksy)
Leon Gaban

@LeonGaban Ta wskazówka to pozycja „Where” dla interaktywnego panelu Find-in-Files. Domyślne klawisze to CTRL + SHIFT + F.
MEngelby777

2

Pamiętaj, że jeśli chcesz dodać podfolder folderu projektu, musisz dołączyć do folderów za pomocą \/. Korzystając z tego samego przykładu @ DavidPärsson:

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

0

Myślę, że najłatwiejszym sposobem, aby upewnić się, że takie pliki i foldery są wykluczone w każdym projekcie, jest po prostu dodać następujący kod w Sublime User Settings (dodaj i edytuj to w swoim ~/Library/Application Support/Sublime Text 2/Packages/User/Preferences.sublime-settingspliku).

{
    // 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

LUB możesz sprawdzić mój plik preferencji tutaj https://github.com/ahmadawais/dotFiles/blob/master/SublimeText/User/Preferences.sublime-settings#L80-L81

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.