ReSharper Performans Ayarları

ReSharper performans ayarları sayfasına gitmek için Extensions -> ReSharper -> Options (Alt + R O) yolunu izleyebilirsiniz veya resharper kullanıcısı olarak daha uzun bir yol olan Tools -> Options -> ReSarper -> General -> Options yolunu kullanabilirsiniz.

1- Environment | Editor | Visual Studio Features: Bu sekmede Hide Visual Studio light bulb seçeneğinin seçildiğinden ve Merge Visual Studio light bulb actions into ReSharper action indicator seçeneğinin kaldırıldığından emin olun çünkü Visual Studio Light Bulb eylemlerini göstermeye çalıştığı zaman bunu Roslyn’den talep etmesi gerekir ki bu da CPU ve bellek kullanımının artmasına neden olabilir.

2- Code Inspection | Settings: bu sekmede resharper’ın kod inceleme özelliklerinden hangilerini devre dışı bırakacağınızı seçebilirsiniz:

    • Enable code analysis ile ReSharper’ın kodunuzu komple analiz etmesini kapatabilirsiniz. En azından Solution-Wide Analysis eğer bu özelliği kullanmıyorsanız kapatabilirsiniz. Bu özellikleri kapatarak yinede istediğiniz zaman Solution-Wide Analysis özelliğini çağırarak kullanabilirsiniz.
    • Enable code analysis: En üstteki bu özelliği kapatarak kökten çözüm getirebilirsiniz. Bunu yaparak ReSharper’ın design-time inspection dediği siz kod yazarken kod incelemesini devre dışı bırakır eğer ciddi yavaşlık oluşuyorsa kullanabilirsiniz. Tabi ihtiyaç duyduğunuzda bu özelliği manuel çağırarak kullanabilirsiniz.

3- Code Inspection | Ignored Code: kod analizlerini bütün sayfalarınızda veya projelerinizde kullanmanıza gerek yok;

      • Project to ignore kısmında herhangi bir sebepten dolayı taranmasını istemiyorsanız (third-party, hiç değişmeyen yapıda projelerse son derece haklısınız 🙂 buraya ekleyerek indexlemenin dışında bırakabiliriz.
      • Elements to skip kısmında ise dosya ve klasör bazında devre dışı bırakmalar yapabilirsiniz. min.js gibi dosyalarınızı eklemek yararlı olacaktır. Dosyalarınızı eklerken ?, *, ** gibi ifadeleri desteklemektedir.

4- Environment | Products & Features: Kullanmadığınız resharper özelliklerini devre dışı bırakabilirsiniz. Örneğin javascript ve typesript ile işiniz yoksa bu özellikler sekmesinden kaldırabilirsiniz.

5- Environment | General: Store solution caches in: seçenekleri arasında User local settings folder default gelmektedir. “System Temp Folder”, “Solution folder” (Solution’umuz version control sistemine dahil değilse) veya “Custom folder” seçeneklerinden birini seçebilirsiniz. User local settings folder kalmasındaki sorun visual studio’nun directory watcher’ının ReSharper’ın bu klasöre yazdığında tetiklenebilmesidir.

6- Environment | IntelliSense: Yazarken yavaşlamalar yaşıyorsanız bunu yapılandırmanız gerekebilir. Kod incelemesine benzer şekilde, ReSharper IntelliSense’in belirli bölümlerini devre dışı bırakabilir veya tamamen kapatabilir ve yerel Visual Studio’nun IntelliSense’e geri dönebilirsiniz. Aşağıda, minimum devre dışı bırakılan özelliklerden başlayarak devre dışı bırakabilecekleriniz:

      • Environment | IntelliSense | Completion Appearance: sekmesi altında bulunan Show member signatures, Show symbol types, Show summary özellikleri kaldırın. IntelliSense’in tamamlama listesini basitleştirecektir.
      • Environment | IntelliSense | General: ReSharper’ın en sevdiğin kısımlarından birisi burası, üçücü maddedeki ignored code özelliği gibi dillere göre ReSharper’ın veya Visual Studio’nun IntelliSense’ini seçebiliyoruz (Sık kullanmıyorsanız javascript gibi diller için tamamen kapatmanız da mümkün).

7- Environment | Editor | Behavior: Auto-format on semicolon, Auto-format on closing brace ve Correct common language-specific typos bu özellikleri kaldırarak kodun yazıldıktan sonra yeniden biçimlendirilmesini ve bazı yazım yardımlarını kapatarak yazmayı hızlandırır.

8- Environment | Editor | Appearance: Highlight current line, Highlight matching delimiters özelliklerini devre dışı bırakın.

9- Environment | Extension Manager: Kullanmadığımız ReSharper eklentileri varsa devre dışı bırakabilirsiniz zaten performans sorunu olduğu için bu yazısı okuyorsunuz 🙂
10- Tools | Build | General: Use ReSharper build bu seçeneği işaretlersek Build Engine olarak VS yerine ReSharper’ın build özelliğini kullanır. Büyük projeler için derleme süresini azaltıyormuş!
Ayrıca hangi solution içindeki hangi projenin hangi altyapı ile derleneceğini Heuristics sekmesi altından işaretlenebiliyor. Ben henüz denemedim. Daha detaylı bilgi için: https://www.jetbrains.com/help/resharper/Building_Solution.html
11- Code Editing | Context Actions: Burada işimize yaramayan context action’ları kaldırabiliriz.
12- Code Editing | JavaScript | Inspections: Javascripti sık kullanıyorsak performans sorunu oluşturuyorsa Analyse properties’ context when inspecting code seçeneğini devre dışı bırakmak işimize yarayabilir.
13- Code Editing | Third-Party Code: C ++, JavaScript, TypeScript, CSS, HTML ve JSON dosyalarını, klasörleri ve joker karakterleri ‘skipped’ veya ‘library’ olarak işlem görecek şekilde ekleyebiliriz. ReSharper, ‘skipped’ edilen dosyaları tamamen yok sayar ve ‘library’ dosyalarını read-only olarak değerlendirir ve üzerinde refactorings, quick-fixes ve inspection yapmaz.

14- Code Editing | Language Injections: Kullanmak istemediğimiz dillerin injection’larını kaldırabiliriz.

VS içinde performans bildirimlerini almak için Environment | Performance Guide sekmesinden Enable performance suggestions özelliğini aktif edebilirsiniz.
Kaynak: https://www.jetbrains.com/help/resharper/Speeding_Up_ReSharper.html#resharper
ReSharper fazla kaynak tüketen bir yazılım olduğundan ihtiyaç olmayan özellikleri kapatmakta fayda var ama yine de performans sorunu yaşanıyorsa Tools | Options | ReSharper | General sekmesine giderek Suspend Now ile istediğiniz zaman kapatabiliriz.

ReSharper Performans Ayarları
ReSharper Performans Ayarları