Sublime Text 2'deki Dosya Arama Kapsamını Sınırla


238

Sublime Text'de dosyaları aramak ve aralarında atlamak için genellikle Cmd+ P/ Ctrl+ kullanıyorum P.

Genellikle, .scssc gibi geçici veya önbelleğe alınmış dosyalar veya / tmp klasöründeki şeyler alınır.

Arama sonucunda gösterilenleri sınırlandırabilmemin bir yolu var mı?

Yanıtlar:


319

Bunu ~/Library/Application Support/Sublime Text 2/Packages/User/Preferences.sublime-settingsdosyanıza ekleyin ve düzenleyin .

// 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_patternsO Yorum dayalı gerektiği gibi, Goto şey gelen dosyaları siler, ancak Dosyalarda Bul dan. Bunu yaşayan başka biri var mı? Nasıl düzelteceğinizi biliyor musunuz? Ubuntu'dayım, inşa 2221; Mac'imde de aynı şey oluyor (yapı numarasını bilmiyorum).
Tyler Collier

51
"file_exclude_patterns": ["*.log"]Klasörler yerine belirli dosyaları yoksaymak istiyorsanız da vardır .
Matt Zukowski

4
Bu ST3'te çalışıyor mu? yorum ST # farklı görünüyor, folder_exclude_patterns kenar çubuğundan hariç olacak gibi görünüyor, ama ben sadece goto hariç ve dosyaları bulmak istiyorum
Michael

20
@ Michael ST3'te aynı. Diğer herkes: klasörü gizlemeden hariç tutmanın bir yolu var mı? Sık sık bazı kütüphanelerin kaynağına bakmak istiyorum ama tipik arama sonuçlarıma ulaşmıyorum.
Parris

7
@Parris de aynı problemim var. Kenar çubuğundan arama bot somununu hariç tutmak istiyorum.
spieglio

148

Yüce Metin 3 için: Kenar çubuğundan kaldırmadan arama ve GoTo sonuçlarından hariç tutmak için "binary_file_patterns"ayarı değiştirin . Dosyaları ve klasörleri eşleştirir.

Örneğin, "dist" ve "node_modules" içindeki dosyaları GoTo dizinlemesinden hariç tutmak için, bunu Kullanıcı Ayarları dosyanıza ekleyin:

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

Bunu proje başına nasıl uygulayacağımı anlayamıyorum :(. Çoğu ayar bir project.sublime-projectdosyaya taşınabilir . "Proje> Projeyi Farklı Kaydet", projenizin kök dizinine kaydedin ve "settings": {...}json'a ekleyin . ( kaynak , ST3 build 3095 itibariyle çalışır) Ancak "binary_file_patterns" ile çalışmaz.


3
Bu tam olarak ne gerekiyorsa yapar, bu şekilde düşünmek istiyorsanız, bir yoksay dosyası gibi davranır. Çok teşekkürler!
Peter_Fretter

6
Ancak bunu proje başına değiştirmek mümkün değil mi?
user2602152

Not: Sublime 2.0.2'de de çalışır. İyi açıklamanız ve bunun folder/**işe yaradığını göstermek için +1 . :)
try-catch-nihayet

7
Bu benim için işe yaramıyor. ST3 build 3095 kullanıyorum. Tercihler -> Ayarlar - Varsayılan'ı düzenleyemiyorum, bu yüzden filtreyi -> Ayarlar - Kullanıcı'ya ekledim. Ben "unused/"de eklemeyi denedim "*/unused/*"ama ikisi de işe yaramadı. Ancak, böyle bir hariç tutma filtresi ekleyebildim: -*/unused/*,-*/_sgbak/*aramaya, hatırlamadığı için sinir bozucu, bu yüzden her seferinde eklemeniz gerekiyor.
Redtopia

@ user2602152 Proje başına çalışmayı alamadım, denediğim şey için güncellenmiş cevaba bakın
Jay

98

Proje ayarlarınızı aşağıdaki gibi değiştirerek belirli dosya desenlerini ve klasörleri projenizden hariç tutabilirsiniz :

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

Bu, proje belgelerinde açıklanmaktadır .


7
Yüce Metin 3 için çalışır. Hariç tutulan klasörü kenar çubuğundan kaldırır, ancak bu benim amacım için bir sorun değil.
Webdevotion

Proje başına kenar çubuğundan değil, aramadan gizlemenin en iyi yolu nedir?
Adriano Resende

@AdrianoResende Bildiğim kadarıyla bunu proje başına yapmanın doğru bir yolu yok. Yalnızca global ayarlardan.
kleinfreund

85

Ayrıca -*/foldername/*, Wherealandaki sözdizimini kullanarak Tümünü Bul bölmesindeki klasörleri hariç tutabilirsiniz - örneğin:

-*/node_modules/*

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


2
Evet! Mükemmel. Node_modules'ü projeden tamamen hariç tutmak istemiyorum, sadece aramadan filtrelemek istedim. Rockin!
Özel

Bunun wherealana gittiğini sanmıyorum .
Noah

Evet, oraya gidiyor.
Daniel Flippance

3
Windows'da, dizinde arama yapmak için ters eğik çizgiler kullansanız bile dizinin dışlanması için eğik çizgi (/) kullanmanız gerektiğini unutmayın. Where alanında örnek:C:\Projects\SearchThis,-*/but/not/this/*
sp00n

birden fazla klasör nasıl hariç tutulur?
Anon30

21

Yüce metin 3'te (BLD 3059 Windows) "klasörde bul" işlevini belirli dosyalara / klasörlere ve belki de tek bir dosyaya kısıtlamam gerekiyordu,

Aşağıdakiler benim için çalışıyor Nerede: box

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

Mutlak yollar olmadan daha ileriye gitmek, yukarıdakileri aşağıdaki sembolik konumlarla birleştirebilirsiniz.

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

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

Bu kabul edilen cevap olmalıdır, soruyu yerine getirir ve bakmak istediğiniz arayüzden klasörleri gizlemez.
JohnC

Evet. Diğer öneriler , arama veya GoTo'dan değil, yalnızca kenar çubuğundan gizlenir folder_exclude_patternsve file_exclude_patternsgizlenir. Ne yazık ki arama ve GoTo'dan hariç tutmak için kalıcı bir ayar bulamadım. Yani bu cevap şu anda en iyi çözüm.
Magne

Aslında onu Goto'dan gizlediğini doğruladı. Ama yine de proje çapında aramada saklamıyor.
Magne

2
Bu ayarları global ayarlar dosyanıza ("Sublime Text -> Preferences -> Setting - User") eklerseniz dosyalarda bulmayı hariç tuttuğunu öğrendim. Proje ayarları dosyası ile çalışmaz, bu nedenle bu ayarların her proje / uygulama için uygulanması gerekir.
Magne

16

SublimeText 2 için, bu benim için harika çalışıyor.

Dosyalarda Bul'u seçtiğinizde , Where input;

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

Bu nedenle, arama yapmak istemediğiniz klasörler için bir tire ve ardından hariç tutma deseni.

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

Bu arama kapsamınızı sınırlar.

Bunu gör


12

Bu cevapların birçoğunun Sublime Text'in birkaç farklı sürümünü kapsadığını düşünüyorum, bunu Mac'te Sublime Text 3 ile nasıl yapacağım .

  1. Kullanıcı - Sublime Text> Tercihler> Ayarlar menüsünü
  2. Bul aracından dosya ve / veya klasörleri yoksaymak için file_exclude_patternsve folder_exclude_patternsdeğerlerini düzenleyin

Misal

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

Ekran görüntüsü

resim açıklamasını buraya girin


Küresel bir çözüm arıyordum (proje başına değil) ve dosyayı klasörlerden ayırmaya çalışıyordum, her şeyi burada buldum! (Linux
Mint'te

Bunun için teşekkürler - Ubuntu'da ST2 ile çalışmayı başardım. Hızlı tutarsızlık: "file_exclude_patterns" öğesine * eklemek zorunda kaldım; ".txt" -> "* .txt" gibi. Bunu takip ettim: lugolabs.com/articles/…
ximiki

Bu çalışır, ancak aynı zamanda dosya / klasörü yüce olarak açabilmenizi de engeller. node_modulesBir klasör bulma işlemi yaparken her zaman hariç tutmak istediğinizi varsayalım . Bununla birlikte, bir şeyde hata ayıklarsanız ve bağımlılıkla ilgili bir sorun varsa, node_modules'de bir dosya açma seçeneğine sahip olmak güzel olurdu
Jeremy

4

Ayrıca, Nerede alanını kullanarak klasörleri aramanızın dışında tutabilirsiniz:

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

Yukarıdaki örneğimde:

  1. Tüm Açık klasörlerde arama yapıyorum.
  2. Projem için kök dizinin hemen altında bir üst düzey klasör olan "node_modules" adlı klasörü hariç tutuyorum.
  3. Projem için kök dizinin hemen altında bir üst düzey klasör olan "yapı" adlı klasörü hariç tutuyorum.

Bu benim için Sublime Text 3'te çalışıyor ve klasörler SideBar'da gösterilmeye devam ediyor. Bu, yalnızca giriş yoluyla yapılan bir arama hariç tutmadır (sahne dizininin arkasındaki hiçbir şeyi etkilemez).



2

Yalnızca birkaç kez bulmayı (ve değiştirmeyi) yalnızca geçerli dizine sınırlamanız gerekir:

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

Önemli bit /*/*yol hariç desenidir. Sublime Text 3 build 3083'ü Windows 7 64 bit üzerinde kullanma.


Bunun anahtarı ne? Nereye yerleştiriyorsun? (yüce
pref

@LeonGaban Bu ipucu, etkileşimli panel Dosya Bul dosyaları için 'Nerede' girdisidir. Varsayılan tuş bağlama CTRL + ÜST KRKT + F'dir.
MEngelby777

2

Proje klasörünüzün bir alt klasörünü eklemek istiyorsanız, klasörlere katılmanız gerektiğini unutmayın \/. @ DavidPärsson ile aynı örneği kullanarak:

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

0

Bu tür dosya ve klasörlerin her projede hariç tutulmasını sağlamanın en kolay yolunun sadece Yüce Kullanıcı Ayarları'na aşağıdaki kodu eklemektir (bunu ~/Library/Application Support/Sublime Text 2/Packages/User/Preferences.sublime-settingsdosyanıza ekleyin ve düzenleyin ).

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

VEYA tercihler dosyamı buradan kontrol edebilirsiniz https://github.com/ahmadawais/dotFiles/blob/master/SublimeText/User/Preferences.sublime-settings#L80-L81

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.