Visual Studio 2022 17.1 Preview 2 ile birlikte, DataTips penceresini sabitleme özelliği geldi.
Şimdiye kadarki versiyonlarda datatips penceresi fareyi üzerinden çektiğiniz anda kayboluyordu ve çok derin bir listeye bakıyorsanız hepsini baştan açmanız gerekmekteydi. Doğal olarak çok sinir bozucu olabiliyor bu durum.
VS 2022 ile birlikte, bu pencereyi pencerenin dışında bir yere tıklamadığınız sürece sabitleyebileceğiniz bir özellik geldi. Bunun için Tools -- Options -- Debugging -- General kısmındaki “Keep expanded data tips open until clicked away” seçeneğini aktif edebilirsiniz.
Visual Studio 17.1 sürümü 15 Şubat 2022 tarihinde release edildi. Bu videoda bu sürüm ile gelen yeniliklere göz attık.
— Index’lenmiş dosyalar ile daha hızlı arama özelliği geldi. Bunu arka planda task manager ile görebileceğiniz ServiceHub.IndexingService.exe uygulaması ile sağlamaya başladılar. Bu özelliği Tools -- Options -- Environment -- Preview Features -- Enable indexing for faster find experience adımlarından açıp kapatabilirsiniz.
— Kod dosyalarınızı otomatik olarak senkronize etme. Bu özellik Tools -- Options -- Environment -- Documents -- Automatically save files when Visual Studio is in the background adımlarından açıp kapatabilirsiniz. Community edition’da yok sanırım, sadece professional ve enterprise müşterilerde var galiba bu.
— Branch’ler arası karşılaştırma.
— C# 11 ile gelmesi planlanan Raw string literal özelliğine otomatik olarak regular string literal veya verbatim string literal’lerden Quick Tips bubble’ı ile çevirme.
Yani;
var s = "\"foo\r\nbar\"";
string’ini;
var s2 = """
"foo
bar"
""";
yapabiliyor. Raw string literal’ler string interpolation’ı destekliyor ve hizalamayı önemsemiyorlar gördüğüm kadarıyla.
— Line staging
Geliştirmesi hala devam ediyormuş. Sanırım bir dosya içerisinde belirli bir satırı stage’e atma işlemi.
— C# 7 – Tuple swap
var temp = args[1];
args[1] = args[0];
args[0] = temp;
kodunu “Quick Actions” ile
(args[0], args[1]) = (args[1], args[0]);
koduna çevirebiliyorsunuz.
— Display diagnostics inline
Bu özelliğe Tools -- Options -- Text Editor -- C# -- Advanced ile gidebiliyorsunuz. Popup ile görebileceğiniz warning’leri ekranda direkt olarak çıkartabiliyor.
Örneğin sadece;
int second = 1;
yazdığınızda, değişkenin üstüne gittiğinizde çıkan popup’ı ekrana direkt olarak basabiliyor. Deneme aşamasında şu anda.
Visual Studio 2022 17.0.3 release’i ile gelen özelliklerden biri de “bidirectional” yani çift yönlü karakterleri artık editörde görebiliyoruz.
Kodun yanlış sunulmasına izin veren potansiyel olarak kötü amaçlı bir istismarı önlemek için, Visual Studio artık iki yönlü metin kontrol karakterlerinin editör içerisindeki karakterlerin sırasını değiştirmesine izin vermeyecek.
Bu özelliği Tools –> Options –> Text Editor –> General page altındaki “Show bidirectional text control characters” kısmında açıp kapatabilirsiniz. Default’ta açık geliyor.
Bidirectional karakter olarak adlandırılan karakterlerin tüm listesi şu şekilde; U+061c, U+200e-U+200f, U+202a-U+202e, U+2066-U+2069
Visual Studio 2022 ile gelen en heyecan verici özellik “Hot Reload” olabilir.
Hot Reload kavramı en basit tabiriyle projenizi rebuild, restart veya re-navigate etmeden yaptığınız değişiklerin anında sonuca yansımasını sağlayan bir özellik. Bunun için kodunuzu debug ederken sadece üst menüdeki “Hot Reload” butonuna basmanız yeterli. Ayrıca her seferinde bu butona basmak istemezseniz, butonun yanındaki ok’ta bulunan “Hot Reload on File Save” seçeneğini seçili hale getirirseniz yaptığınız değişiklikleri kaydettiğiniz anda hot reload aktif olup sonuca yansımasını sağlıyor.
Desteklediği proje tiplerinden bazıları; Console, WPF, Winforms, ASP.NET Core MVC ve Blazor. Ayrıca sadece Visual Studio 2022 için değil, Visual Studio Code ve Jetbrains Rider desteği de mevcut bu özelliğin.
Visual Studio 2022 ile gelen yeni özelliklerden biri de “Force run to cursor” kavramı.
Force run to cursor’ın mantığı şu, kodunuzu debug ederken belirli bir breakpoint’e gelmek için kodunuzu zorlayabiliyorsunuz.
Yani bir satırdan başka bir satıra gitmesi için, arada başka breakpoint’ler olsa bile onlarda durmadan “bu satıra gitmeye zorla” şeklinde komut verebiliyorsunuz. Visual Studio 2022’den önceki versiyonlarda, ya aradaki breakpoint’leri kaldırmak gerekirdi, ya da “continue” seçeneği ile teker teker o breakponint’leri geçmek zorunda kalırdınız.
Bunu yapmak için debug mod’ta gitmek istediğiniz satıra sağ tıklayıp “Force Run To Cursor” diyerek, veya o satırın üzerine gelip “Shift” butonuna basarak gelen 2 yeşil ok tooltip’i ile bu özelliği kullanmak mümkün.
Özellikle karmaşık kodlarınızda bir çok breakpoint’te durmak yerine veya onları bir şekilde teker teker geçmek yerine bu özelliği kullanabilirsiniz.
Visual Studio 2022 ile gelen yeni özelliklerden biri de “temporary breakpoint” kavramı.
Temporary breakpoint kavramının mantığı şu şekilde, bunlar sadece 1 defa hit oluyorlar ve ardından siliniyorlar.
Temporary breakpoint eklemenin 2 yolu var; 1.si normal bir breakpoint ekledikten sonra settings kısmından “Remove breakpoint once hit” seçeneğini seçerek, 2.si de breakpoint kolonuna sağ tıklayıp “Insert temporary breakpoint” diyerek ekleyebiliyorsunuz.
Bu breakpoint çeşidi özellik döngüler içerisinde kullanılmaya gayet elverişli. Döngü içerisinde bir kez dursun, sonra devam etsin şeklinde kontrollerinizi kolaylıkla yapabilirsiniz.
Visual Studio 2022 ile gelen yeni özelliklerden biri de dependent breakpoint kavramı.
Dependent breakpoint’in mantığı, solution içerisinde koyduğunuz bir breakpoint’in aktif olmasını, başka bir breakpoint’e erişilme durumuna göre ayarlayabiliyorsunuz. Bunun için breakpoint kısmına sağ tıklayıp “Insert dependent breakpoint” seçip breakpoint settings penceresi açtıktan sonra, “only enable when the following breakpoint is hit” seçeneği ile hangi breakpoint’e dependent olması gerektiğini seçebiliyoruz.
Dökümantasyonunda da şu şekilde açıklanmış:
We have released a new type of breakpoint called Dependent Breakpoint, which allows you to configure a breakpoint to be enabled only if another breakpoint is first hit.