Visual Studio performans ipuçları ve püf noktaları

Visual Studio performans önerileri, nadir durumlarda ortaya çıkabilecek düşük bellek durumlarına yöneliktir. Bu gibi durumlarda, kullanmadığınız bazı Visual Studio özelliklerini iyileştirebilirsiniz. Aşağıdaki ipuçları genel öneriler olarak tasarlanmamıştır.

Not

Bellek sorunları nedeniyle ürünü kullanmakta güçlük çekiyorsanız geri bildirim aracı aracılığıyla bize bildirin.

64 bit işletim sistemi kullanma

Sisteminizi Windows'un 32 bit sürümünden 64 bit sürümüne yükseltirseniz, Visual Studio için kullanılabilir sanal bellek miktarını 2 GB'tan 4 GB'a genişletirsiniz. 64 bit işletim sistemi yükseltmesi, Visual Studio'nın daha büyük iş yüklerini işlemesini sağlar.

Daha fazla bilgi için bkz . Windows ve Windows Server sürümleri için Bellek Sınırları.

İpucu

Windows üzerinde Visual Studio 2022, 64 bitlik bir uygulamadır. Önceki sürümler 32 bit'lerdir.

Otomatik dosya geri yüklemeyi devre dışı bırakma

Visual Studio, önceki oturumda açık bırakılan belgeleri otomatik olarak yeniden açar. Bu otomatik dosya geri yükleme eylemi, proje türüne ve açılan belgelere bağlı olarak çözümü yükleme süresini %30 veya daha fazla uzatabilir. Windows Forms ve XAML gibi Tasarım Aracı ve bazı JavaScript ve TypeScript dosyaları yavaş açılabilir.

Visual Studio, otomatik belge geri yükleme işlemi çözümün daha yavaş yüklenmesine neden olduğunda sizi sarı bir çubukta bildirir. Aşağıdaki adımları izleyerek otomatik dosya yeniden açmayı devre dışı bırakabilirsiniz:

  1. Seçenekler iletişim kutusunu açmak için Araçlar>Seçenekleri'niseçin.

  2. Projeler ve Çözüm>Genel sayfasında, Çözüm yükünde belgeleri yeniden aç'ın seçimini kaldırın.

Otomatik dosya geri yüklemeyi devre dışı bırakırsanız, açmak istediğiniz dosyalara gitmenin hızlı bir yolu Git komutlarından birini kullanmaktır:

  • Genel Git işlevi için Düzenle>Tümüne> Git'i seçin veya Ctrl T tuşlarına+basın.

  • Düzenle Son Düzenleme Konumuna Git'i>>kullanarak veya Ctrl+Shift+Geri Al tuşuna basarak çözümdeki son düzenleme konumuna atlayın.

  • Çözümde son ziyaret edilen dosyaların listesini görmek için Son Dosyaya Git'i kullanın. Düzenle'yi seçerek Son Dosyaya Git'e>gidin veya Ctrl+1, Ctrl+R tuşlarına basın.>

Hata ayıklama seçeneklerini yapılandırma

Hata ayıklama oturumları sırasında genellikle belleğiniz azaldıysa, bir veya daha fazla yapılandırma değişikliği yaparak performansı iyileştirebilirsiniz.

  • Yalnızca Kodumu Etkinleştir

    En basit iyileştirme, yalnızca projeniz için sembolleri yükleyen Just My Code özelliğini etkinleştirmektir. Bu özelliğin etkinleştirilmesi, yönetilen uygulamalarda (.NET) hata ayıklama için önemli bir bellek tasarrufuna neden olabilir. Bu seçenek bazı proje türlerinde varsayılan olarak zaten etkindir.

    Yalnızca Kodum'u etkinleştirmek için Araçlar>Seçenekler>Hata Ayıklama>Genel'i ve ardından Yalnızca Kodumu Etkinleştir'i seçin.

  • Yüklenecek simgeleri belirtme

    Yerel hata ayıklama için, sembol dosyalarının (.pdb) yüklenmesi bellek kaynakları açısından pahalıdır. Bellek tasarrufu yapmak için hata ayıklayıcısı sembol ayarlarınızı yapılandırabilirsiniz. Genellikle çözümü yalnızca projenizden modülleri yüklenecek şekilde yapılandırabilirsiniz.

    Simge yüklemeyi belirtmek için Araçlar>Seçenekler>Hata Ayıklama Simgeleri'ni> seçin.

    Seçenekleri Tüm modüller yerine Yalnızca belirtilen modüller olarak ayarlayın ve yüklemek istediğiniz modülleri belirtin. Hata ayıklama sırasında, sembol yüküne açıkça bir modül eklemek için Modüller penceresinde belirli modüllere sağ tıklayabilirsiniz. (Hata ayıklarken pencereyi açmak içinWindows>Modüllerinde Hata Ayıklama>.)

    Daha fazla bilgi için bkz . Hata ayıklayıcıda sembol ve kaynak dosyaları belirtme.

  • Tanılama Araçlarını Devre Dışı Bırakma

    Kullanımdan sonra CPU profili oluşturmayı devre dışı bırakmanız önerilir. Bu özellik büyük miktarda kaynak tüketebilir. CPU profili oluşturma etkinleştirildikten sonra, bu durum sonraki hata ayıklama oturumlarında kalıcı hale gelir, bu nedenle bittiğinde bunu açıkça kapatmaya değer. Sağlanan özelliklere ihtiyacınız yoksa hata ayıklarken tanılama araçlarını devre dışı bırakarak bazı kaynakları kaydedebilirsiniz.

    Tanılama Araçları'nı devre dışı bırakmak için bir hata ayıklama oturumu başlatın, Araçlar>Seçenekler>Hata Ayıklama>Genel'i seçin ve hata ayıklarken Tanılama Araçlarını Etkinleştir seçeneğinin seçimini kaldırın.

    Daha fazla bilgi için bkz . Profil oluşturma araçları.

Araçları ve uzantıları devre dışı bırakma

Performansı artırmak için bazı araçlar veya uzantılar kapatılabilir.

İpucu

Genellikle uzantıları birer birer kapatıp performansı yeniden denetleyerek performans sorunlarını yalıtabilirsiniz.

Yönetilen dil hizmeti (Roslyn)

.NET Derleyici Platformu ("Roslyn") performans konuları hakkında bilgi için bkz . Büyük çözümler için performansla ilgili önemli noktalar.

  • CodeLens'i devre dışı bırakma

    Visual Studio, görüntülendiği her yöntemde Tüm Başvuruları Bul görevini gerçekleştirir. CodeLens, başvuru sayısının satır içi görünümü gibi özellikler sağlar. İş, ServiceHub.RoslynCodeAnalysisService32 gibi ayrı bir işlemde gerçekleştirilir. Büyük çözümlerde veya kaynak kısıtlanmış sistemlerde bu özelliğin performans üzerinde önemli bir etkisi olabilir. Örneğin, 4 GB'lık bir makineye büyük bir çözüm yüklerken veya bu işlem için yüksek CPU kullanımıyla ilgili bellek sorunlarıyla karşılaşıyorsanız, kaynakları boşaltmak için CodeLens'i devre dışı bırakabilirsiniz.

    CodeLens'i devre dışı bırakmak için Araçlar>Seçenekleri>Metin Düzenleyicisi>Tüm Diller CodeLens'i> seçin ve özelliğin seçimini kaldırın.

    Daha fazla bilgi için bkz . CodeLens ile kod değişikliklerini ve diğer geçmişi bulma.

Diğer araçlar ve uzantılar

  • Uzantıları Devre Dışı Bırak

    Uzantılar, Visual Studio'ya eklenen ve yeni işlevler sağlayan veya mevcut işlevselliği genişleten ek yazılım bileşenleridir. Uzantılar genellikle bellek kaynağı sorunlarının kaynağı olabilir. Bellek kaynağı sorunlarıyla karşılaşıyorsanız, senaryoyu veya iş akışını nasıl etkilediğini görmek için uzantıları birer birer devre dışı bırakmayı deneyin.

    Uzantıları devre dışı bırakmak için Uzantılar>Uzantıları Yönet'e gidin ve belirli bir uzantıyı devre dışı bırakın.

  • Harita modunu devre dışı bırakma

    Harita modu , kaydırma çubuğunda kod satırlarını minyatür olarak görüntüler. Harita modu varsayılan olarak etkindir.

    Harita modunu devre dışı bırakmak için Araçlar>Seçenekler>Metin Düzenleyicisi>Tüm Diller>Kaydırma Çubukları'na gidin ve Davranış bölümünde Dikey kaydırma çubuğu için harita modunu kullan seçeneğinin seçimini kaldırın.

  • Sözcük kaydırmayı devre dışı bırakma

    Sözcük kaydırma , kod düzenleyicisi penceresinin geçerli genişliğini aşan uzun bir kod satırının bölümünü görüntüler. Sözcük kaydırma varsayılan olarak açıktır.

    Üzerinde çalışmakta olduğunuz bir projede sözcük kaydırmayı devre dışı bırakmak için Gelişmiş>Sözcük Kaydırmayı Düzenle'ye >gidin. (Aynı menü komutlarını kullanarak bu ayarı değiştirebilirsiniz.)

    Tüm projelerde sözcük kaydırmayı devre dışı bırakmak için Araçlar>Seçenekler>Genel>Metin Düzenleyicisi>Tüm Diller>Genel'e gidin ve Ayarlar bölümünde Word kaydırma seçeneğinin seçimini kaldırın.

  • XAML Tasarım Aracı devre dışı bırakma

    XAML tasarımcısı varsayılan olarak etkindir, ancak yalnızca bir .xaml dosyası açtığınızda kaynakları kullanır. XAML dosyalarıyla çalışıyor ancak tasarımcı işlevselliğini kullanmak istemiyorsanız, bellek boşaltmak için bu özelliği devre dışı bırakın.

    XAML Tasarım Aracı devre dışı bırakmak için Araçlar>Seçenekler>XAML Tasarım Aracı XAML Tasarım Aracı'ni> etkinleştirme'ye gidin ve seçeneğin seçimini kaldırın.

  • İş yüklerini kaldırma

    Artık kullanılmayan iş yüklerini kaldırmak için Visual Studio Yükleyicisi kullanabilirsiniz. Bu eylem, artık gerekli olmayan paketleri ve derlemeleri atlayarak başlangıç ve çalışma zamanı maliyetini kolaylaştırabilir.

  • Yerel .gitignore dosyasına izlenmeyen dosyalar ekleme

    Visual Studio, depoya yeni dosyalar eklediğinizde sorunsuz bir deneyim sağlamak için git komutunu git status izlenmeyen dosyalarla çalıştırır. çok fazla sayıda izlenmeyen dosya olduğunda, git status ek bellek kullanabilir. Bu dosyaları yoksaymak ve performansını git statusartırmak için bu dosyaları veya klasörleri yerel .gitignore dosyanıza ekleyebilirsiniz. Dosyaya erişmek için Git> Ayarlar> Git Deposu Ayarlar gidin. Ardından Git dosyaları bölümünde Ekle'yi seçerek bir .gitignore dosyası oluşturun veya zaten varsa Düzenle'yi seçin.

  • Git araçlarında işleme grafiğini etkinleştirme

    Visual Studio 2022 sürüm 17.2'deki yenilikler: Visual Studio'da Git deponuzu veya dal geçmişinizi görüntülerken gecikmeler yaşıyorsanız, yardımcı olabilecek bir "işleme grafı" özelliğini tümleştirmiş olduk. İşleme grafiğini kullanmak için Visual Studio 2022'yi indirip yüklediğinizden emin olun. İşleme grafı hakkında daha fazla bilgi edinmek için Visual Studio'da Git deneyiminizi süper şarj etme blog gönderisine bakın.

Çöp toplamaya zorlama

CLR bir çöp toplama bellek yönetim sistemi kullanır. Bu sistemde bazen bellek artık gerekli olmayan nesneler tarafından kullanılır. Bu durum geçicidir; çöp toplayıcısı, performansına ve kaynak kullanımı buluşsal özelliklerine göre bu belleği serbest bırakır. Visual Studio'da kısayol tuşu kullanarak CLR'yi kullanılmayan belleği toplamaya zorlayabilirsiniz. Toplamayı bekleyen önemli miktarda çöp varsa ve çöp toplamaya zorlarsanız, Görev Yöneticisi'nde devenv.exe işlemi bırakma işleminin bellek kullanımını görmeniz gerekir. Bu yöntemin kullanılması nadiren gereklidir. Ancak, pahalı bir işlem tamamlandıktan sonra (tam derleme, hata ayıklama oturumu veya çözüm açık olayı gibi), işlem tarafından gerçekten ne kadar bellek kullanıldığını belirlemenize yardımcı olabilir. Visual Studio karma (yönetilen ve yerel) olduğundan, yerel ayırıcı ve çöp toplayıcının sınırlı bellek kaynakları için rekabet etmeleri zaman zaman mümkündür. Yüksek bellek kullanımı koşulları altında, çöp toplayıcıyı çalışmaya zorlamaya yardımcı olabilir.

Çöp toplamayı zorlamak için şu klavye kısayolunu kullanın: Ctrl+Alt+Shift+F12, Ctrl+Alt+Shift+F12 (iki kez basın).

Çöp toplamayı zorlamak senaryonuzun güvenilir bir şekilde çalışmasını sağlıyorsa, bu davranış büyük olasılıkla bir hata olabileceğinden Visual Studio geri bildirim aracı aracılığıyla bir rapor gönderin.

CLR çöp toplayıcısının ayrıntılı açıklaması için bkz . Çöp toplamanın temelleri.