Bagaimana cara memberitahu Visual Studio untuk mengecualikan folder dari Temukan di File?

89

Kami menggunakan subversi sehingga kami memiliki subfolder bernama _svn dalam solusi kami. Melakukan Temukan di File akan mengembalikan string dari subfolder ini. Apakah ada cara untuk memberi tahu Visual Studio untuk mengabaikan file-file ini?

Bernard
sumber
7
Ini cukup mengganggu saya dengan Visual Studio's Find in Files. Seperti yang disebutkan @rafbel, saya akhirnya mematikan "sertakan sub-folder" tetapi itu hanya berakhir menjadi langkah tambahan atau lupa mematikannya nanti. Alangkah baiknya untuk mengatakan cari folder root utama, tetapi abaikan folder "vendor" saya karena saya tidak khawatir tentang pustaka pihak ketiga ..
Rich Finelli
Jika seseorang menemukan atau menambahkan pertanyaan ini ke halaman UserVoice VS, silakan posting link di sini agar kita semua bisa upvote!
pbarranis
Ini membuatku gila. Saya baru-baru ini menemukan kemampuan untuk menyesuaikan kotak tarik-turun "Cari". Solusi kami mencakup beberapa proyek yang membentuk bagian penginstal, jadi sebaiknya Anda membatasi pencarian hanya pada proyek-proyek itu saat saya sedang mengerjakannya. Jadi saya membuat profil "Lihat" Penginstal. Namun, kecuali saya ingin menentukan setiap folder dan subfolder dari setiap proyek secara manual, saya harus membiarkan "Sertakan sub-folder" dicentang. Ini mengambil semua folder bin dan obj. Sangat menyebalkan.
Brian Colavito

Jawaban:

31

Yang dapat Anda lakukan adalah menyiapkan sekumpulan folder yang akan digunakan untuk pencarian. Di jendela Temukan dan Ganti, di sisi kanan masukan "Lihat Di", Anda memiliki opsi "Pilih Folder Pencarian" di mana Anda dapat mengatur kumpulan folder tersebut.
Ingatlah untuk menonaktifkan opsi "Sertakan sub folder" jika Anda telah menambahkan folder proyek root.
Jika Anda tidak memiliki ratusan folder, solusi ini akan berfungsi.

rafbel
sumber
15
Tidak, seharusnya tidak, karena menjelaskan cara memasukkan folder ke dalam pencarian alih-alih mengecualikannya. Itu IMHO perbedaan yang cukup besar.
Jan Palas
2
Saya memiliki ratusan folder. Mereka semua tinggal di satu disebut node_moduleslol
nothingisnecessary
24

Tidak pernah memiliki masalah dengan pencarian global sampai kami pindah ke Visual Studio 2017 dan mulai dengan aplikasi Angular + .net Core ... (sebagian besar masalah dengan folder node_modules BESAR sedang dicari)

Saya menemukan bahwa menggunakan properti pengecualian MSBuild DefaultItemExcludes berfungsi dengan baik untuk dikecualikan dari pencarian global di Visual studio 2017 ..

Saya sekarang secara default membuka file proyek (.csproj) untuk proyek inti baru di VS2017 dan menyesuaikan properti sebagai berikut untuk mengecualikan node_modules (terkadang saya menambahkan wwwroot juga):

<DefaultItemExcludes>$(DefaultItemExcludes);node_modules\**</DefaultItemExcludes>

Lihat juga https://github.com/dotnet/cli/issues/7525 , di sana mereka menyarankan untuk menambahkan folder yang akan dikecualikan dan tampaknya menggunakan garis miring daripada garis miring ke belakang, seperti ini:

<PropertyGroup>
  <DefaultItemExcludes>node_modules/**;$(DefaultItemExcludes)</DefaultItemExcludes>
</PropertyGroup>

Semoga ini bisa membantu siapa pun yang mengalami masalah dengan pencarian / pencarian global VS2017.

AardVark71
sumber
Terima kasih banyak. Aneh bahwa pertanyaan ini sering ditanyakan pada SO dan tidak ada yang tahu jawaban ini
Ashraf Sabry
Terima kasih, ini seharusnya jawabannya
Dan Parker
Semua proyek Angular saya di Visual Studio 2017 adalah proyek "Folder" tanpa file MSBuild atau file proyek ( *.csprojdll), jadi saya tidak dapat mengaturnya di DefaultItemExcludesmana pun. Apakah saya SOL?
Dai
Ini tidak berfungsi untuk VS 2019. Saya mencoba mengecualikan bootstrap.cssfile tetapi tetap dicari. <DefaultItemExcludes>assets/css/**;$(DefaultItemExcludes)</DefaultItemExcludes>
VDWWD
23

Dari "Temukan di File", di "Jenis File" atau "Lihat jenis file ini", Anda dapat menggunakan:

!*\ExcludeFolder\*

Contoh:

!*\bin\*;!*\obj\*;!*\.*;!*\ExcludeFolder\*

masukkan deskripsi gambar di sini

A. Morel
sumber
1
Tangkapan layar itu dari VS 2019. Jawaban ini tidak berfungsi di VS 2017.
Scott Hutchinson
1
Inilah yang saya cari, ketika saya mengalami masalah ini di VS2019. Terima kasih!
Mass Dot Net
1
Hal-hal mengagumkan. Saya menggunakan Node dan saya tidak pernah ingin mencari folder node_modules. Terima kasih
BoundForGlory
9

Saya mengalami masalah ini saat pindah ke Windows 10 menggunakan Visual Studio 2015 dan TortoiseSVN. Sebelumnya semua folder .svn disembunyikan sehingga tidak muncul dalam hasil pencarian. Untuk mengatasi ini, saya hanya pergi ke properti folder di Windows Explorer dan memeriksa atribut 'Tersembunyi' untuk folder .svn. Setelah menyegarkan tampilan folder di Visual Studio, folder .svn tidak lagi muncul dan diabaikan saat menggunakan Temukan!

Setel atribut folder .svn ke tersembunyi

fungsi cerah
sumber
Maaf, saya belum menginstal VS 2017 jadi saya tidak bisa memeriksa ini.
fungsi
1
Ini sepertinya tidak berfungsi di VS 2017. Selanjutnya, ini menghentikan IISExpress dari menemukan folder, jadi itu juga merusak barang :(
pbarranis
Bekerja dengan sempurna di VS 2015 Pro. Saya belum melihat efek sampingnya :-)
BizzyBob
5

Alih-alih mencari file dalam direktori (direktori solusi Anda, dalam hal ini), Anda dapat membatasi pencarian Anda ke file yang merupakan bagian dari proyek atau solusi. Dengan demikian, file yang ada di direktori _svn akan diabaikan.

Xavier Nodet
sumber
2
Kami memiliki folder proyek bersarang di dalam solusi. Jadi pergi ke masing-masing untuk menemukan sesuatu memakan waktu
Bernard
Dialog 'Temukan di File' memiliki kolom entri 'Cari di' yang dapat disetel ke 'Proyek saat ini' atau 'Seluruh Solusi'. Bukankah yang terakhir berguna untuk Anda? Aku pasti melewatkan sesuatu, lalu ...
Xavier Nodet
2
@XavierNodet dalam kasus saya setidaknya, ada file yang saya miliki dalam solusi saya yang tidak pernah ingin saya cari, tetapi saya perlu dalam solusi saya agar mereka disalin ke direktori output - mis. perlengkapan tes atau sumber statis berbasis teks lainnya.
Tom Lianza
5

Saya menemukan di Visual Studio 2017 terutama ketika menggunakan Angular Cli bahwa file javascript yang dihasilkan atau file build lainnya dapat ditambahkan ke proyek Anda terkadang tanpa disadari. Hal ini dapat menyebabkan beberapa sakit kepala termasuk menambahkan sekumpulan file ke pencarian dan benar-benar memperlambat segalanya, terutama intellisense karena mencari semua file yang dihasilkan di atas file sumber.

Cara termudah yang saya temukan untuk memperbaikinya adalah dengan mengklik kanan pada folder build (yaitu {Project}/dist) dan pilih Exclude from Project. Ini akan menghapus folder dari proyek tetapi konten yang dihasilkan akan tetap tersedia untuk runtime, itu hanya disembunyikan dari UI.

masukkan deskripsi gambar di sini

Jika Anda masih perlu melihat file, Anda dapat menampilkan direktori dan file tersembunyi dengan memilih Show all Filesatau mengklik Ikon: masukkan deskripsi gambar di sini di atas Solution Explorer.

Pada dasarnya Anda ingin mengecualikan semua folder build dari proyek / solusi Anda.

Andy Braham
sumber
Saya rasa Anda tidak dapat "Mengecualikan" folder, hanya file. Setidaknya pada versi Visual Studio 2017. Ketika saya mengklik kanan folder dalam proyek saya, opsi Kecualikan Dari Proyek tidak muncul di menu konteks.
Pete
1
Opsi ini tidak tersedia untuk proyek Situs Web pada VS 2017.
richardtallent
@richardtallent: Saya memeriksa ulang keduanya di VS2017 & VS2019 dan opsi untuk menghapus folder ada di sana. Silakan lihat jawaban saya yang diperbarui untuk tangkapan layar di mana menemukan opsi.
Andy Braham
@AndyBraham, saya menggunakan jenis proyek WebSite (E24C65DC-7377-472B-9ABA-BC803B73C61A dalam file solusi), yang saya percaya mungkin jenis proyek warisan tidak tersedia lagi dalam dialog Proyek Baru. Opsi "kecualikan" tidak tersedia di menu konteks untuk folder dalam proyek jenis ini. Saya membangun situs saya di luar VS menggunakan Vue CLI / UI dan Gulp, jadi satu-satunya perbaikan yang berhasil untuk saya adalah hanya menghapus proyek dari solusi saya (saya tetap menggunakan VS Code untuk kode front-end).
richardtallent
3

Saya tidak berpikir Anda dapat mengatur ini (bagaimanapun juga, Anda meminta pencarian "Seluruh Solusi"), tetapi seringkali Anda dapat menghapus folder dari proyek / menyembunyikan direktori di sistem file (untuk jenis proyek Situs Web).

Lukáš Lánský
sumber
0

Jika Anda tidak menggunakan VS2019 atau VS Code (yang solusinya telah ditemukan di jawaban lain), sebagai solusinya Anda dapat menggunakan pencarian di Manajer Jauh, ini mendukung topeng untuk mengecualikan file atau folder tertentu dari pencarian. masukkan deskripsi gambar di sini

evorios.dll
sumber