Visual Studio'ya klasörleri Dosyalarda Bul'dan dışlamasını nasıl söyleyebilirim?


89

Subversion kullanıyoruz, böylece çözümümüzde _svn adlı alt klasörler var. Dosyalarda Bul yapmak, bu alt klasörlerden dizeler döndürür. Visual Studio'ya bu dosyaları göz ardı etmesini söylemenin bir yolu var mı?


7
Bu, Visual Studio'nun Dosyalarda Bul özelliği beni oldukça rahatsız etti. @Rafbel'in bahsettiği gibi, "alt klasörleri dahil et" i kapatıyorum ama bu sadece fazladan adımlar oluyor veya daha sonra kapatmayı unutuyor. Ana kök klasörde arama yapmak güzel olurdu, ancak "satıcılar" klasörümü görmezden gelin çünkü 3. parti kütüphaneler için endişelenmiyorum ..
Rich Finelli

Birisi bu soruyu VS'nin UserVoice sayfasına bulursa veya eklerse, lütfen buraya bir bağlantı gönderin, böylece hepimiz ona olumlu oy verebiliriz!
pbarranis

Bu beni deli ediyor. Yakın zamanda "Bak" açılır kutusunu özelleştirme yeteneğini keşfettim. Çözümümüz, yükleyici bölümünü oluşturan birkaç proje içeriyor, bu nedenle, ben üzerinde çalışırken aramaları yalnızca bu projelerle sınırlamak güzel. Bu yüzden bir Yükleyici "Bak" profili oluşturdum. Ancak, her projenin her klasörünü ve alt klasörünü manuel olarak belirtmek istemiyorsam, "Alt klasörleri dahil et" seçeneğini işaretli bırakmam gerekiyor. Bu, tüm bin ve obj klasörlerini alır. Çok sinir bozucu.
Brian Colavito

Yanıtlar:


31

Yapabilecekleriniz, arama için kullanılacak bir dizi klasör ayarlamaktır. Bul ve Değiştir penceresinde, "Bak" girişinin sağ tarafında, bu klasör kümelerini ayarlayabileceğiniz "Klasörleri Ara" seçeneğine sahipsiniz.
Kök proje klasörü eklediyseniz "Alt klasörleri dahil et" seçeneklerini kapatmayı unutmayın.
Yüzlerce klasörünüz yoksa bu çözüm çalışmalıdır.


15
Hayır, olmamalı, çünkü klasörleri hariç tutmak yerine aramaya nasıl dahil edileceğini açıklıyor. Bu oldukça büyük bir fark IMHO.
Jan Palas

2
Yüzlerce klasörüm var. Birinde canlı Hepsi denilen node_moduleslol
nothingisnecessary

24

Visual Studio 2017'ye geçip Angular + .net Core uygulamalarıyla başlayana kadar genel bulmayla ilgili bir sorun yaşamadım ... (çoğunlukla aranan HUGE node_modules klasörüyle ilgili sorunlar)

MSBuild dışlama özelliğini DefaultItemExcludes kullanmanın Visual studio 2017'de genel bulmadan hariç tutmak için iyi çalıştığını buldum .

Şimdi VS2017'de yeni bir çekirdek proje için varsayılan olarak proje dosyasını (.csproj) açıyorum ve özelliği node_modules'i hariç tutmak için aşağıdaki gibi ayarlıyorum (bazen wwwroot'u da ekliyorum):

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

Ayrıca bkz. Https://github.com/dotnet/cli/issues/7525 , burada, klasörleri dışlamak için başa eklemenizi ve geriye doğru eğik çizgi yerine eğik çizgi kullanmış gibi görünmenizi tavsiye ediyorlar:

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

Umarım bu, VS2017 global bulma / arama ile sorun yaşayan herkese yardımcı olur.


Çok teşekkürler. Bu sorunun SO'da defalarca sorulması ve hiç kimsenin bu cevabı
bulamaması

Teşekkürler, cevap bu olmalı
Dan Parker

Visual Studio 2017'deki tüm Angular projelerim, herhangi bir MSBuild dosyası veya proje dosyası ( *.csprojvb.) İçermeyen "Klasörler" projeleridir , bu nedenle DefaultItemExcludesherhangi bir yeri ayarlayamıyorum . SOL muyum?
Dai

Bu VS 2019 için çalışmıyor. bootstrap.cssDosyayı dışlamaya çalıştım ama yine de arandı. <DefaultItemExcludes>assets/css/**;$(DefaultItemExcludes)</DefaultItemExcludes>
VDWWD

23

"Dosyalarda Bul" dan "Dosya Türleri" veya "Bu dosya türlerine bak" bölümünden şunları kullanabilirsiniz:

!*\ExcludeFolder\*

Misal:

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

görüntü açıklamasını buraya girin


1
Bu ekran görüntüsü VS 2019'dan. Bu cevap VS 2017'de işe yaramaz.
Scott Hutchinson

1
VS2019'da bu sorunla karşılaştığımda tam olarak aradığım şey buydu. Teşekkür ederim!
Mass Dot Net

1
Harika şey. Node kullanıyorum ve asla node_modules klasörünü aramak istemiyorum. Teşekkürler
BoundForGlory

9

Visual Studio 2015 ve TortoiseSVN kullanarak Windows 10'a geçerken bu sorunu yaşadım. Daha önce .svn klasörlerinin tümü gizlenmişti, bu nedenle arama sonuçlarında görünmüyordu. Bunu çözmek için Windows Gezgini'ndeki klasör özelliklerine gittim ve .svn klasörü için 'Gizli' özelliğini kontrol ettim. Visual Studio'da klasör görünümünü yeniledikten sonra .svn klasörü artık görünmüyor ve Bul kullanılırken yok sayılıyor!

.Svn klasör özniteliğini gizli olarak ayarlayın


Maalesef VS 2017'yi henüz yüklemedim, bu yüzden bunu kontrol edemiyorum.
brightfunction

1
Bu VS 2017'de işe yaramıyor gibi görünüyor. Dahası, IISExpress'in klasörü bulmasını engelliyor, bu yüzden işleri de bozdu :(
pbarranis

VS 2015 Pro'da mükemmel çalışıyor. Henüz herhangi bir yan etki görmedim :-)
BizzyBob

5

Bir dizindeki dosyaları aramak yerine (bu durumda çözümünüzün dizini), aramanızı projenin veya çözümün parçası olan dosyalarla sınırlandırabilirsiniz. _Svn dizinlerindekiler bu nedenle göz ardı edilecektir.


2
Çözümün içine proje klasörlerini yerleştirdik. Bu yüzden her birine bir şeyler bulmak için girmek zaman alıcıdır
Bernard

'Dosyalarda Bul' iletişim kutusunda 'Mevcut proje' veya 'Tüm Çözüm' olarak ayarlanabilen bir 'Ara' giriş alanı vardır. İkincisi sizin için yararlı değil mi? O halde bir şeyi kaçırmış olmalıyım ...
Xavier Nodet

2
@XavierNodet en azından benim durumumda, çözümümde asla aramak istemediğim dosyalar var, ancak çözümümde ihtiyaç duyduğum dosyalar çıktı dizinine kopyalanacak - örn. test fikstürleri veya diğer statik, metin tabanlı kaynaklar.
Tom Lianza

5

Ben bulundu Visual Studio 2017 kullanılarak özellikle Eğik Cli oluşturulan javascript dosyaları veya diğer yapı dosyaları bazen bilmeden projenize eklenebilir. Bu, aramalara bir sürü dosya eklemek ve işleri gerçekten yavaşlatmak da dahil olmak üzere birçok baş ağrısına neden olabilir, özellikle de üretilen tüm dosyaları kaynak dosyaların üstünde aradığı için intellisense.

Bunu düzeltmenin en kolay yolu, yapı klasörüne (yani {Project}/dist) sağ tıklayıp seçimini yapmaktır Exclude from Project. Bu, klasörü projeden kaldıracaktır, ancak oluşturulan içerik çalışma zamanı için hala kullanılabilir olacaktır, yalnızca kullanıcı arayüzünden gizlenmiştir.

görüntü açıklamasını buraya girin

Dosyaları yine de görmeniz gerekiyorsa , Çözüm Gezgini'nin üstündeki Show all FilesSimge: öğesini seçerek veya tıklatarak gizli dizinleri ve dosyaları gösterebilirsiniz görüntü açıklamasını buraya girin.

Temel olarak, tüm derleme klasörlerini projenizden / çözümünüzden hariç tutmak istiyorsunuz.


Bir klasörü hariç tutabileceğinizi sanmıyorum, sadece dosyaları. En azından Visual Studio 2017 sürümümde. Projemdeki bir klasöre sağ tıkladığımda, Projeden Hariç Tut seçeneği içerik menüsünde görünmüyor.
Pete

1
Bu seçenek VS 2017'deki Web Sitesi projeleri için kullanılamaz.
richardtallent

@richardtallent: Hem VS2017 hem de VS2019'da iki kez kontrol ettim ve klasörü kaldırma seçeneği var. Seçeneği nerede bulacağımı öğrenmek için lütfen güncellenmiş cevabıma bakın.
Andy Braham

@AndyBraham, Yeni Proje iletişim kutusunda artık mevcut olmayan eski bir proje türü olabileceğini düşündüğüm WebSite proje türünü (çözüm dosyasında E24C65DC-7377-472B-9ABA-BC803B73C61A) kullanıyorum. Bu tür projelerdeki klasörler için bağlam menüsünde "hariç tut" seçeneği kullanılamaz. Sitemi VS'nin dışında Vue CLI / UI ve Gulp kullanarak oluşturuyorum, bu yüzden benim için çalışan tek düzeltme, projeyi çözümümden kaldırmaktı (yine de ön uç kodu için VS Kodunu kullanıyorum).
richardtallent

3

Bunu ayarlayabileceğinizi sanmıyorum (sonuçta "Tüm Çözüm" aramasını istiyorsunuz), ancak çoğu zaman klasörü projeden kaldırabilir / dizini dosya sisteminde gizleyebilirsiniz (Web Sitesi proje türü için).


0

VS2019 veya VS Kodunu kullanmıyorsanız (çözüm başka yanıtlarda zaten bulunmuşsa), geçici çözüm olarak Far Manager'da aramayı kullanabilirsiniz, belirli dosyaları veya klasörleri aramadan hariç tutmak için maskeleri destekler. görüntü açıklamasını buraya girin

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.