Efendim, uzun zamandır yapmak isteyipte bir türlü zaman bulamadığım ReShaper yazı dizisine başlıyorum ziyadesiyle. Öncelikle ReSharper nedir bilmeyen arkadaşları onunla tanışmaya davet ediyorum. Hemen gidip Nightly Buildlerden “Works here” yazanlardan bir tanesini indirip kurun ki anlattıklarımın bir anlamı olsun. ReSharper için kısaca Visual Studio’yu kullanılabilir kılan bir eklenti diyebiliriz. Benzer bir ürün de Developer Express’in CodeRush‘ıdır. Fakat ikisini de tam anlamıyla denedikten sonra sizde benim gibi Developer Express otursun grid yazmaya devam etsin diyeceksiniz. ReSharper’ın belli başlı özelliklerini 4 kategoride toplayabiliriz:
Sırayla anlatmaya başlayayım:
Smart Enter:
(
Ctrl+
Shift+
Enter)
Herhangi bir dil elemanı veya bloğun otomatik olarak tamamlanmasını sağlar. Örneğin:

if anahtar kelimesinden sonra Ctrl+Shift+Enter tuşlarına basınca if bloğu otomatik olarak tamamlanacaktır.
Type Completion:
(
Shift+
Alt+
Space)
using ile dahil etmediğiniz bir sınıf kullanmanız gerektiğinde önekleri yazdıktan sonra çalıştırdığınızda hem using eklenmesini hem de istediğiniz sınıf adının tamamlanmasını sağlar. Örnek:

Tamamlama listesinden WebRequest seçildiği zaman usingler arasına System.Net namespace’i de eklenecektir. Dikkat ettiyseniz WebRequest’i anlatmak için WebR yazmadık sadece WR harflerini yazmamız yetti, ReSharper’ın her yerinde CamelHump kullanarak tamamlama yapabilirsiniz.
Smart Code Completion:
(
Ctrl+
Alt+
Space)
Çoğu zaman Bir yerde kod tamamla istediğimizde sadece bulunduğumuz yere uygun önermeleri görmek isteriz. ReSharper bunu yaparken bazı ekstra özelliklerde sunuyor. Örneğin:

Count Extension metoduna lambda expression, Predicate veya anonymous delegate geçebiliriz. Yani count içine Func<int,bool> imzasına sahip herhangi bir şey yazılabilir. ReSharper bize hepsini öneriyor. Create method Predicate(int) seçeneğinizi seçersen bool döndüren ve int tipinde tek parametre kabul eden bir metot otomatik olarak oluşturulacaktır.
Symbol Completion:
(
Alt+
→)
Bir tipi belirttikten sonra değişken ismini
Alt+
→ tuşlarını kullanarak tamamlatabiliriz. Örneğin:

WebRequest sınıfı için 2 tane öneri ile geliyor, çoğu durumda bu önerilerden birisi zaten yazmak istediğimiz olacaktır. Bu özelliğin aktif olması için ReSharper’ın intellisense’ini kullanıyor olmanız lazım.
Surround With:
(
Ctrl+
E,
Ctrl+
U)
Herhangi bir kodu seçtikten sonra bu tuş kombinasyonunu uygularsanız, Surround With kısayol menüsü açılır:

Bu menüde de bir şey yazmanıza gerek yok. Kullanmak istediğiniz seçeneğin kısayoluna basmanız yeterli. Bu özelliği kullandıkça ne kadar rahatlık getirdiğini anlayacaksınız.
Incremental Selection:
(
Ctrl+
W ya da
Alt+
Shift+
→) ve (
Ctrl+
Shift+
W ya da
Ctrl+
Alt+
←)
Incremental Selection komutunu her kullandığımızda kod bloklarına göre seçim gitgide arttırılacaktır. Birkaç deneme yaparak bu özelliğin nasıl çalıştığını anlayabilirsiniz.