Batasi Cakupan Pencarian File dalam Teks Luhur 2

238

Dalam Sublime Text, saya sering menggunakan Cmd+ P/ Ctrl+ Puntuk mencari dan melompati file.

Seringkali, ini akan mengambil file sementara atau cache seperti .scssc atau hal-hal di folder / tmp.

Apakah ada cara agar saya dapat membatasi apa yang ditampilkan dalam hasil pencarian?

rickypai
sumber

Jawaban:

319

Tambahkan dan edit ini di ~/Library/Application Support/Sublime Text 2/Packages/User/Preferences.sublime-settingsfile Anda .

// 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"],
AGS
sumber
12
The binary_file_patternsmenghapus file dari Goto Apa saja, tapi tidak dari Find in Files, karena harus berdasarkan komentar. Adakah yang mengalami ini? Tahu cara memperbaikinya? Saya di Ubuntu, membangun 2221; hal yang sama terjadi pada Mac saya (tidak tahu nomor build).
Tyler Collier
51
Ada juga "file_exclude_patterns": ["*.log"]jika Anda ingin mengabaikan file tertentu daripada folder.
Matt Zukowski
4
Apakah ini berfungsi di ST3? komentar tampaknya berbeda di ST #, sepertinya folder_exclude_patterns akan dikecualikan dari sidebar, tetapi saya hanya ingin itu dikecualikan dari goto dan temukan dalam file
Michael
20
@Michael itu sama di ST3. Semua orang: apakah ada cara untuk mengecualikan folder tanpa menyembunyikannya? Saya sering ingin melihat sumber beberapa perpustakaan tetapi tidak mendapatkannya di hasil pencarian khas saya.
Parris
7
@ Parris Saya memiliki masalah yang sama. Ingin mengecualikan dari bot pencarian kacang dari sidebar.
spieglio
148

Untuk Sublime Text 3: Untuk mengecualikan dari hasil pencarian dan GoTo, tanpa menghapus dari sidebar, ubah "binary_file_patterns"pengaturan. Cocok dengan file DAN folder.

Misalnya, untuk mengecualikan file dalam "dist" dan "node_modules" dari pengindeksan GoTo, tambahkan ini ke file Pengaturan Pengguna Anda:

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

Saya tidak tahu bagaimana cara mengimplementasikan ini berdasarkan per proyek :(. Sebagian besar pengaturan dapat dipindahkan ke project.sublime-projectfile. "Project> Save Project As", simpan di root proyek Anda, dan tambahkan "settings": {...}ke json di file yang dihasilkan. (dari sumber , berfungsi pada ST3 build 3095). Tetapi tidak berfungsi dengan "binary_file_patterns".

Jay
sumber
3
Ini melakukan apa yang seharusnya, berperilaku seperti file abaikan jika Anda ingin berpikir seperti itu. Terima kasih banyak!
Peter_Fretter
6
Tetapi apakah tidak mungkin untuk mengubah ini per proyek?
user2602152
Catatan: berfungsi di Sublime 2.0.2 juga. +1 untuk deskripsi Anda yang baik dan menunjukkan yang folder/**berfungsi juga. :)
coba-tangkap-akhirnya
7
Ini sepertinya tidak berhasil untuk saya. Saya menggunakan ST3 build 3095. Saya tidak dapat mengedit Preferensi -> Pengaturan - Default, jadi saya menambahkan filter ke -> Pengaturan - Pengguna. Saya mencoba menambahkan "unused/"juga "*/unused/*"tetapi tidak berhasil untuk saya. Namun, saya dapat menambahkan filter kecualikan seperti ini: -*/unused/*,-*/_sgbak/*ke pencarian saya, yang menjengkelkan karena tidak ingat, jadi Anda harus menambahkannya setiap kali.
Redtopia
@ user2602152 Saya tidak bisa menjalankannya untuk setiap proyek, lihat jawaban terbaru untuk apa yang saya coba
Jay
98

Anda dapat mengecualikan pola dan folder file tertentu dari proyek Anda dengan mengubah pengaturan proyek Anda seperti:

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

Ini dijelaskan dalam dokumentasi proyek .

David Pärsson
sumber
7
Bekerja untuk Sublime Text 3. Apakah menghapus folder yang dikecualikan dari sidebar, tapi itu tidak masalah untuk tujuan saya.
Webdevotion
Apa cara terbaik untuk bersembunyi dari pencarian tetapi tidak dari sidebar, per proyek?
Adriano Resende
@AdrianoResende Sejauh yang saya tahu tidak ada cara yang benar untuk melakukan ini berdasarkan proyek. Hanya dari pengaturan global.
kleinfreund
85

Anda juga dapat mengecualikan folder di panel Temukan Semua dengan menggunakan -*/foldername/*sintaks di Wherebidang - misalnya:

-*/node_modules/*

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

Daniel Flippance
sumber
2
Iya! Sempurna. Saya tidak ingin mengecualikan node_modules dari proyek sama sekali, hanya ingin menyaringnya keluar dari pencarian. Rockin!
Privateer
Saya tidak berpikir ini terjadi di wherelapangan.
Nuh
Ya, itu pergi ke sana.
Daniel Flippance
3
Perhatikan bahwa di Windows Anda juga harus menggunakan garis miring ke depan (/) agar direktori tidak disertakan, bahkan jika Anda menggunakan garis miring ke belakang untuk mencari direktori. Contoh di bidang Di mana:C:\Projects\SearchThis,-*/but/not/this/*
sp00n
bagaimana cara mengecualikan beberapa folder?
Anon30
21

Dalam teks luhur 3 (BLD 3059 Windows) saya perlu membatasi fungsi "find in folder" untuk file / folder tertentu dan mungkin satu file,

Berikut ini berfungsi untuk saya Isi dari tempat: kotak

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

Mengambil lebih jauh tanpa jalur absolut, Anda dapat menggabungkan di atas dengan lokasi simbolis berikut

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

<open folders>,*.c,*.h,-*/never_this_in_folder/*,<open files>
eephillip
sumber
Ini harus menjadi jawaban yang diterima, memenuhi pertanyaan dan tidak menyembunyikan folder dari UI yang ingin Anda lihat.
JohnC
Iya. Saran lain dengan folder_exclude_patternsdan file_exclude_patternshanya menyembunyikannya dari bilah sisi, dan bukan dari pencarian atau GoTo. Sayangnya saya belum menemukan pengaturan permanen untuk mengecualikan dari pencarian dan GoTo. Jadi jawaban ini saat ini merupakan solusi terbaik.
Magne
Sebenarnya hanya diverifikasi bahwa itu menyembunyikannya dari Goto. Tapi itu masih tidak menyembunyikannya di pencarian proyek luas.
Magne
2
Saya baru tahu bahwa itu mengecualikan dari menemukan dalam file jika Anda memasukkan opsi ini dalam file pengaturan global Anda ("Sublime Text -> Preferences -> Setting - User"). Ini tidak bekerja dengan file pengaturan proyek, jadi kita harus membuat karena pengaturan ini diterapkan untuk setiap proyek / aplikasi.
Magne
16

Untuk SublimeText 2, ini bekerja dengan baik untuk saya.

Saat Anda memilih Temukan di File , tentukan folder kecualikan di input Di mana ;

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

Jadi, tanda hubung diikuti dengan mengecualikan pola untuk folder yang tidak ingin Anda cari.

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

Ini akan membatasi ruang lingkup pencarian Anda.

Lihat ini

Harsh Vakharia
sumber
12

Saya pikir banyak dari jawaban ini mencakup beberapa versi Sublime Text yang berbeda, inilah cara saya melakukan ini dengan Sublime Text 3 pada Mac.

  1. Buka Teks Luhur> Preferensi> Pengaturan - Menu pengguna
  2. Edit nilai file_exclude_patternsdan folder_exclude_patternsuntuk mengabaikan file dan / atau folder dari alat Find

Contoh

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

Tangkapan layar

masukkan deskripsi gambar di sini

Kevin Leary
sumber
Saya mencari solusi global (bukan per proyek) dan mencoba membedakan file dari folder, saya mendapatkan semuanya di sini! (Menggunakan ST3 di Linux Mint)
gfd
Terima kasih untuk ini - saya membuatnya bekerja dengan ST2 di Ubuntu. Perbedaan cepat: Saya harus menambahkan * ke "file_exclude_patterns"; mis., ".txt" -> "* .txt". Saya mengikuti ini: lugolabs.com/articles/…
ximiki
Ini berfungsi, tetapi juga mengecualikan Anda untuk dapat membuka file / folder dengan luhur juga. Katakanlah Anda ingin selalu mengecualikan node_modulesketika melakukan pencarian folder. Namun, jika Anda men-debug sesuatu dan ada masalah dengan ketergantungan, alangkah baiknya memiliki opsi untuk membuka file di node_modules
Jeremy
4

Anda juga dapat mengecualikan folder dari pencarian Anda melalui bidang Di mana:

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

Jadi dalam contoh saya di atas:

  1. Saya mencari melalui semua folder Terbuka.
  2. Saya tidak termasuk folder yang disebut "node_modules" yang merupakan folder tingkat atas tepat di bawah direktori root untuk proyek saya.
  3. Saya tidak termasuk folder yang disebut "build" yang merupakan folder tingkat atas tepat di bawah direktori root untuk proyek saya.

Ini berfungsi untuk saya di Sublime Text 3 dan folder terus ditampilkan di SideBar. Ini adalah pengecualian pencarian saja melalui input (tidak memengaruhi pengindeksan layar apa pun di belakang layar).

afsheenirani
sumber
3

Solusi ini sangat cocok untuk saya: https://superuser.com/a/601270

Find: "something" Where: "<open folders>" // <open folders>" not include hidden folder in sidebar
Laurent Perroteau
sumber
2

Untuk beberapa kali Anda perlu membatasi pencarian (dan ganti) ke direktori saat ini saja, lakukan ini:

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

Bit yang penting ada /*/*di jalur mengecualikan pola. Menggunakan Sublime Text 3 build 3083 pada Windows 7 64-bit.

MEngelby777
sumber
Apa kuncinya? Di mana Anda meletakkannya? (luhur prefs)
Leon Gaban
@LeonGaban Kiat ini adalah entri 'Di mana' untuk panel Cari File interaktif. Penjilidan kunci default adalah CTRL + SHIFT + F.
MEngelby777
2

Perhatikan bahwa jika Anda ingin menambahkan subfolder dari folder proyek Anda, Anda harus bergabung dengan folder tersebut \/. Menggunakan contoh yang sama dari @ DavidPärsson:

    {
        "folders":
        [
            {
                "path": "src",
                "folder_exclude_patterns": ["backup\/src\/log"]
            }
        ]
    }
Alter Lagos
sumber
0

Saya pikir cara termudah untuk memastikan file dan folder seperti itu dikecualikan pada setiap proyek adalah dengan hanya menambahkan kode berikut di Pengaturan Pengguna Luhur (Tambahkan dan edit ini di ~/Library/Application Support/Sublime Text 2/Packages/User/Preferences.sublime-settingsfile Anda .)

{
    // Remove certain files permanently from Sublime via Preferences.sublime-settings.
    "folder_exclude_patterns": [".svn", ".git", ".hg", "CVS", "node_modules"]   
}

Intisari: https://gist.github.com/ahmadawais/690a816ca158067708ad4dbe17822841

ATAU Anda dapat memeriksa file preferensi saya di sini https://github.com/ahmadawais/dotFiles/blob/master/SublimeText/User/Preferences.sublime-settings#L80-L81

Ahmad Awais
sumber