Visual Studio 2022, büyük 17.6 güncellemesi yayınlandı

Katılım
28 Ocak 2020
Mesajlar
19.321
Makaleler
52
Çözümler
460
Microsoft, bugün saat 20:00'da Visual Studio 2022 17.6 sürümü yayınlandı.
Bu sürüm uzun zamandır bekleniyordu. Gelmiş geçmiş en büyük Visual Studio 2022 güncellemelerinden birisi.

1684261579062.png

Visual Studio 2022 sürüm 17.6'nın bu Sürümündeki Yeniliklerin Özeti

Geliştirici Topluluğunda Öne Çıkanlar
F# :
  • C#'tan F#'a gezinmek için yerel "Tanıma Git" işlevi tanıtıldı.
csharp-to-fsharp-navigation.gif


Desteklenen senaryoları burada görüntüleyin: #14377.
  • Argüman adlarıyla eşleştiğinde parametre adı ipuçlarını gizleyerek iyileştirildi.
fsharp-improved-parameter-name-hints.png

  • Daha iyi okunabilirlik için daraltılabilir blok yorumları etkinleştirildi.
collapsible-comments.png

  • Yarlanabilir özellikleri dahil ederek rafine nitelik tamamlamaları.
  • Sonuçların aynı şekilde etiketlenmiş gruplara bölünmesine neden olan "Tüm Referansları Bul" hatası çözüldü.
  • Sonuçları akıllıca sıralayarak "Tümüne Git" özelliği deneyimi yükseltildi. Burada daha fazla ayrıntı görün: #14882.
C++
  • Etkin Belge ile Eşitle artık CMake Hedefleri Görünümü'nde çalışıyor. Dosyanın tam yolu ile eşleşen ilk konumu bulur ve bu belgeyle eşitler.
  • C++ projelerini içeren bir çözümü daha hızlı kapatmayı sağlayan Çözüm - Kapat senaryosunda iyileştirmeler yaptık. Genel mükemmellik iyileştirmeleri, bazı durumlarda bir çözümü küçük kod tabanları için %20'den, bazı durumlarda büyük çözümler (1000'den fazla proje) için %50'ye kadar daha hızlı kapatabilir. Kazançların büyük projelerde daha belirgin olmasını bekliyoruz. Chromium için iyileştirmeler genellikle %50 daha hızlıdır ve 20 saniyelik zaman tasarrufu sağlar.
  • Visual Studio Installer aracılığıyla sağlanan Incredibuild sürümü, 10.1.9 sürümüne güncellendi. Yeni özellikler ve en son değişiklikler hakkında ayrıntılı bilgi için Incredbuild 10 sürüm notlarını okuyabilirsiniz.
  • C++/CLI için C++20 desteği
    • /std:c++20ile birlikte kullanılabilir /clr. Bu, çok çeşitli C++20 yapılarının ISO C++ türleri ile kullanılmasına izin verir. Özellikle, tüm C++20 başlıkları kısıtlama olmaksızın #includedbir /clrderlemede olabilir.
    • veya belirtildiğinde iki aşamalı ad arama (ISO C++ [temp.dep]) artık varsayılandır . ile belirtmek artık gerekli değildir . Yönetilen şablonlar ve jenerikler bir istisnadır ve daha önce olduğu gibi iki aşamalı arama semantiği olmadan derlenecektir./std:c++20/std:c++17/Zc:twoPhase-/std:c++17
    • Eşyordamlar her zaman yerel koda göre derlenir ve yönetilen koddan yapılan tüm çağrılar, yönetilen->yerel geçiş cezasına neden olur.
    • Yerel türler için kavramlar desteklenir, ancak yönetilen türlerle kullanılması yasaktır ve bir teşhisle sonuçlanacaktır.
    • Modül desteği henüz uygulanmadı. Kısıtlı modül içe aktarma desteği, gelecekteki bir sürümde sunulacaktır.
  • Yapılandırma zamanında CMake komut dosyalarınızda hata ayıklamak için yeni CMake Hata Ayıklayıcı'yı kullanabilirsiniz. Kesme noktalarını dosya adlarına, satır numaralarına ve CMake hatalarının ne zaman tetiklendiğine göre ayarlayabilirsiniz. Ek olarak, dosya adlarının çağrı yığınlarını görüntüleyebilir ve tanımlı değişkenleri izleyebilirsiniz. Şu anda, bu yalnızca paketlenmiş CMake ile çalışır ve WSL'yi veya uzak makineleri hedefleyen projeler henüz desteklenmemektedir. CMake hata ayıklayıcısına daha fazla destek eklemek için aktif olarak çalışıyoruz ve geri bildirimleriniz bizim için çok değerli.
17.6_cmake_debugger.png


Artık sınıflarınıza hızlı bir şekilde oluşturucular ve eşitlik işleçleri eklemek için Üye İşlevi Oluştur özelliğini kullanabilirsiniz. Alanları olan bir sınıfınız olduğunda, sınıf adının altında üç nokta görünecek ve bunların üzerine gelindiğinde bir tornavida simgesi görüntülenecektir. Tornavida simgesinden açılan menü, yeni üye işlev önerilerini görüntüler. Bununla, varsayılan bir yapıcı, tüm alanlarla yapıcı, eşitlik işleci ve tüm alanlarla eşitlik işleci ekleyebilirsiniz.

17.6_creatememberfunction.gif

  • HLSL (Yüksek Seviye Gölgelendirme Dili), oyun geliştirme ve işleme uygulamalarında gölgelendiriciler oluşturmak için kullanılan DirectX'e özgü bir programlama dilidir. Tim Jones'un popüler HLSL Araçları uzantısı artık Visual Studio'nun bir parçası olarak sözdizimi vurgulama, deyim tamamlama, tanımlamaya gitme ve daha fazlasını sunuyor! HLSL Araçlarını kullanmak için Visual Studio Yükleyici'de "C++ ile oyun geliştirme" veya "Unity ile oyun geliştirme" iş yükünde bileşeni etkinleştirin.
  • C++ Sembolleri için Git ve Hepsi Bir Arada Arama performansı iyileştirildi.
  • Artık Unreal Engine günlüklerini Visual Studio'dan çıkmadan görüntüleyebilirsiniz. Günlük penceresini açmak için Görünüm > Diğer Pencereler > Unreal Engine Günlüğü'ne tıklayın. UE günlük penceresini açtıktan sonra, Unreal Editor'ı F5 ile başlattığınızda günlükler otomatik olarak akışa alınır. Hata ayıklayıcıyı UE işleminize eklemek mümkün değilse kırmızı Kayıt düğmesine de basabilirsiniz. Günlüklerinizi filtrelemek için "Kategoriler" veya "Ayrıntı" açılır menülerine tıklayın.
  • Artık STM32CubeIDE projelerini, Dosya > Aç > STM32CubeIDE projesini içe aktar ile Visual Studio'da gömülü geliştirme için içe aktarabilirsiniz. Bu, cihaz yanıp sönme ve STLink için hata ayıklama ayarlarına sahip bir CMake projesi oluşturur. Cihazınız için pano destek paketiyle birlikte STM32CubeIDE kurulu olmalıdır . Daha fazla ayrıntı burada mevcuttur.
  • Yeni Uzak Dosya Gezgini ile, Bağlantı Yöneticisi'nde listelenen uzak makinenize dosyalara göz atabilir, bunları karşıya yükleyebilir ve indirebilirsiniz.
17.6_remote_file_explorer.png


Git Takımları
Hata Ayıklama, Teşhis ve Profil Oluşturma

Kesme noktası grupları
  • Visual Studio hata ayıklayıcı artık, organize gruplardaki çok sayıda kesme noktasını hızlı ve kolay bir şekilde yönetmenize olanak tanıyan Kesme Noktası Gruplarını desteklemektedir.
  • Kesme noktaları penceresindeki "Yeni" açılır menüsünü kullanarak yeni bir kesme noktası grubu oluşturabilirsiniz. Mevcut bir gruba kesme noktası eklemek için kesme noktasına sağ tıklayın ve "Kesme Noktası Grubuna Ekle"yi seçin. Ayrıca kesme noktasını istediğiniz gruba sürükleyip bırakabilirsiniz. Bu kesme noktası grupları etkinleştirilebilir, devre dışı bırakılabilir ve silinebilir. Kesme noktaları, gerektiğinde tek tek veya kombinasyon halinde değiştirilebilir.
17.6_p2_breakpointgroups.gif

  • Kesme noktası grupları ayrıca Sil için Geri Al'ı da destekler. Kesme noktası grupları silme işleminizi geri almak için “Ctrl-z” kullanabilirsiniz.
  • Bununla birlikte, kesme noktası grupları artık bağımlı kesme noktası gruplarını desteklemektedir. kesme noktası gruplarınızı diğer kesme noktalarına bağımlı hale getirebilirsiniz, böylece grup yalnızca önkoşul kesme noktasına ulaşıldığında etkinleşir.
17.6_breakpoint_groups.png


Bellek Aracı Öngörüleri Seyrek Diziler
  • Visual Studio Bellek Analizi aracı artık seyrek dizileri belirleme ve görüntüleme yeteneğine sahiptir. Seyrek dizili liste nesnelerini Insights sekmesi altında görebilirsiniz.
  • Seyrek Dizi, performans ve bellek kullanımı açısından verimsiz olabilen, çoğunlukla sıfır öğelerle dolu bir dizidir. Bellek analiz aracı, bu dizileri otomatik olarak algılar ve bu sıfır değerler nedeniyle ne kadar belleğin boşa harcandığını size gösterir.
17.6_p2_memory_insights_sparse_array.gif

  • Hata ayıklayıcı artık .natstepfilter ve .natjmc dosyalarının önceki genel konum yerine bireysel çözümlere dahil edilmesini destekliyor. Bu değişiklik, ekipler arasında daha verimli işbirliğine izin verir, çünkü bu dosyalar artık bir depodaki herhangi bir dosya gibi ele alınabilir ve buna göre paylaşılabilir.
Enstrümantasyon aracı
  • Visual Studio Instrumentation aracı artık C++ kodunu destekleyerek gelişmiş performans analizi sağlıyor. Enstrümantasyon aracına erişmek için Hata Ayıkla > Performans Profilcisi'ne gidin ve beliren Profiler penceresinden "Enstrümantasyon"u seçin.
  • Enstrümantasyon Veri Görünümü, en uzun süreye göre sıralanan işlevlerin bir listesini sunarak olası darboğazları belirlemeyi kolaylaştırır. Ek olarak, Hot Path bölümü, en fazla CPU tüketen işlevler için çağrı yığınını görüntüleyerek performans sorunları hakkında daha fazla bilgi sağlar.
17.6_p2_instrumentation.png


WSL'de .NET için Profil Oluşturucu Canlı Grafik
  • Visual Studio profil oluşturma araçları artık WSL için dotnet-monitor'dan veri toplarken canlı grafikleri de destekliyor. WSL canlı ölçümleri, .NET nesne tahsisi, CPU kullanımı ve .NET sayaç aracı için kullanılabilir.
  • Araç başlangıçta WSL için dotnet-monitor'dan veri toplarken, canlı sayaç bilgileri için gerçek zamanlı grafiği görebilir, ardından toplamayı durdurabilir ve bellek tahsisi, çağrı ağaçları, işlevler, koleksiyonlar ve diğer ilgili ayrıntılı döküm görünümlerini görebilirsiniz. veri.
17.6_p2_dotnet_wsl_live_graph.png


.NET Nesne Ayırma aracı
  • .NET Nesne Tahsis aracı artık, ETL dosya biçimlerini kullanarak bir .NET veri sağlayıcısından tahsisleri içe aktarma becerisine sahiptir. Örneğin, tahsis onay olaylarını içeren bir .NET sağlayıcısından alınan bir ETL dosyanız varsa, araç bu veriler içinde yapılan tahsisleri yürütebilir ve görüntüleyebilir.
Veri Görselleştiriciler
  • Artık SSH, Docker veya WSL aracılığıyla Unix'te .NET'te hata ayıklarken değişkenlerinizi/nesnelerinizi incelemek için IEnumerable ve DataSet Visualizer'ı kullanabilirsiniz.
17.6_cross_platform_visualizer.gif

  • HTML ve XML hata ayıklayıcı görselleştiricisi artık tamamen temalıdır ve Visual Studio'nun mavi, açık ve koyu temalarını destekler.
Çağrı Yığını ve Paralel Yığın pencereleri
  • Arama yığını penceresi artık arama işlevini desteklemektedir. Arama kutusuna istediğiniz arama anahtar kelimelerini ekleyebilirsiniz ve eşleşen arama yığını çerçeveleri vurgulanır. Pencere ayrıca, hata ayıklama sırasında pencereye hızlı erişim sağlayan paralel yığınlar için yeni bir giriş noktasına sahipti.
17.6_call_stack_search.gif

  • Paralel yığın penceresi artık yeni kopyalama işlevine sahiptir. Yığını kopyalamak için bir kareye çift tıklayabilir/kaydırabilir ve ilgilenilen kareleri seçebilir / satıra tıklayarak özel olarak seçebilir ve kopyalayıp daha sonra değerlendirmek için yerel not defterinize/excel'e yapıştırabilirsiniz.
İşleme yeniden bağla
  • Hata ayıklayıcıya yeniden ekleme işlemi artık oturumlar genelinde çözüm/proje için kalıcıdır. Böylece, yeni bir VS oturumu açtıktan sonra bile daha önce bağlı olduğunuz işlemlere yeniden bağlanabilirsiniz.
Git Araç Geliştirmeleri

Derleme Sırasında Aşama ve Taahhüt

Artık bir derleme sırasında değişikliklerinizi aşamalandırabilir ve aşamalı öğelerinizi taahhüt edebilirsiniz. Doğrudan kaydetme, dosyalarınız değişebileceği için riskli bir işlemdir, ancak artık bunları bir yapı çalışırken hazırlayabilir, dosyalarınızın doğru olduğunu doğrulayabilir ve taahhüt edebilirsiniz.

GitHub Sorunları ve Azure DevOps İş Öğeleri - İyileştirilmiş Arama

Taahhüt mesajındaki Sorunlar ve İş Öğeleri entegrasyonumuzu iyileştirerek, yakın zamanda güncellemediğiniz veya sizinle ilgili olmayan ancak projenizin veya deponuzun parçası olan öğeleri sorgularken artık daha iyi arama sonuçları alıyorsunuz. Arama, öğelerinizin adlarındaki tam dizeleri eşleştirerek çalışır. Bu, tarayıcı ile Visual Studio arasında kopyala-yapıştır öğe kimliklerini en aza indirmeye yardımcı olabilir.

Geliştirilmiş Birleştirme İletişim Kutusu

Birleştirme İletişim Kutusumuzda yapılan güncellemeler, kaç dosyanın etkilendiğini anlamayı kolaylaştırır ve çakışma olması durumunda sizi uyarır.

17.6_mergedialog.png


Git Geçmişi Perf İyileştirmeleri

Git Geçmişi penceremizdeki önemli geliştirmeler artık önceki taahhütleri daha hızlı yükleyerek, dosya ve klasör geçmişinizi eskisinden daha hızlı incelemenizi sağlıyor!

Yeni Şube ve Etiket Adlandırma Geliştirmeleri

Yeni Dal ve Yeni Etiket iletişim kutularındaki iyileştirmeler, addaki geçersiz karakterleri önlemek için boşlukları otomatik olarak kısa çizgilerle değiştirir.

17.6_createbranch.png


GitHub Sorunları

GitHub Sorunları entegrasyonu, bu öneri biletine yanıt olarak VS'deki taahhüt mesaj kutusundan sorunlarınızı aramanıza ve bunlara başvurmanıza olanak tanır . # yazarak veya taahhüt mesajı metin kutusunun sağ alt tarafındaki # düğmesine tıklayarak bir soruna veya çekme isteğine başvurabilirsiniz. İlgili sorunlara erişmek için zaten kimliğinizi doğrulamadıysanız, şimdi bu özellikten yararlanmak için oturum açmanız istenecektir.

Satır Geri Alma

Satır sahneleme (etkileşimli sahneleme olarak da bilinir) özelliğimizi geliştirmeye devam etmek için sahne dışı özelliğini ekledik. Artık burada istendiği gibi değişiklikleri satır satır kaldırmak için araç ipucu seçeneğini kullanabilirsiniz.

Arm64

En popüler geliştirici senaryoları için Windows 11'de Arm64 için yerel destek oluşturmaya devam ediyoruz. Artık Arm64 Visual Studio'da .NET Multi-platform App UI (MAUI) iş yükünü destekliyoruz.

Kod Arama ve Gezinme

17.6ga-all-in-one-search.png


Hepsi Bir Arada Aramanın kullanıcı arayüzünü güncelledik.
  • Her sonuç 2 satır yer kaplayarak daha fazla nefes alma alanına sahiptir.
  • Pencere boyutu ve konumu, Visual Studio'nun son oturumundan itibaren devam eder. Seçilen önizleme durumu (kapalı, sağ veya alt) da kaydedilir.
  • Varsayılan önizleme düzeni en alta ayarlanmıştır.
New: Better search in Visual Studio - Visual Studio Blog adresinde daha fazla bilgi edinin.

Hepsi Bir Arada Aramayı etkinleştirebilirsiniz: Araçlar > Önizleme Özelliklerini Yönet > "Yeni Visual Studio Arama deneyimi (yeniden başlatma gerekir)" .

Yapışkan Kaydırma

17.6p1-editor-sticky-scroll.png

  • Yapışkan Kaydırma, dosyada bulunduğunuz yeri yönlendirmenize ve baktığınız kodun içeriğini anlamanıza yardımcı olur. Kodunuzda gezinirken, sınıf ve yöntem imzaları ve diğer başlıklar ekranınızın üst kısmına yapışacaktır. Başlıktaki bir satıra tıklamak sizi o koda yönlendirecektir.
  • Maksimum satır sayısını "Maksimum yapışkan satır" ile özelleştirin.
  • "Kapsam sayısı maksimumu aştığında" ile, "Dış kapsamları tercih et" üst düzey kapsamları veya "İç kapsamları tercih et" alt düzey kapsamları arasında seçim yapın.
"Seçenekler > Metin Düzenleyici > Genel > Yapışkan kaydırma (deneysel)" de "Geçerli kapsamları düzenleyici penceresinin kaydırılabilir bir bölgesinde gruplandır" onay kutusunu değiştirerek etkinleştirin .

Sticky Scroll now in preview - Visual Studio Blog adresinde daha fazla bilgi edinin.

Ayraç Çifti Renklendirme

pair-colorization.png


Ayraç çifti renklendirme ile kodunuz için her bir açılış ve kapanış parantez setini görsel olarak ayırt ederek kodunuzun kapsamını görmeyi veya eksik parantezleri bulmayı kolaylaştırabilirsiniz.

Ayraç çifti renklendirme C#, C++, TypeScript, JavaScript, Visual Basic ve Razor için desteklenir.

Araçlar > Seçenekler > Metin Düzenleyici'ye gidip "Ayraç çifti renklendirmeyi etkinleştir" onay kutusunu işaretleyerek renklendirmeyi etkinleştirebilir veya devre dışı bırakabilirsiniz.

Ampul Performansı İyileştirmeleri

Ampul/kod eylemleri, tanılama ve kod analizi mimarisinin kapsamlı bir şekilde yeniden tasarlanmasıyla büyük ölçüde iyileştirildi. Düşük/orta/yüksek seviyeli düzeltmelerin bir kombinasyonu yoluyla bir ampulü ortaya çıkarmakla ilgili tüm bileşenleri optimize etmeye odaklandık.
  • Düşük seviyeli düzeltmeler, ağaç yürüyüşlerinin sınırlandırılmasını, daha verimli dizi işlemeyi, kaynak metnin işlenmesinde verimliliğin artırılmasını, tahsislerde aşırı azalmayı, dönüştürmeleri, numaralandırmaları ve teşhis kod yollarında veri yapısı seviyesi optimizasyonlarını içeriyordu.
  • Orta düzey düzeltmeler, Lightbulb teşhisini hesaplarken arka plan teşhisini (dalgalı çizgiler) iptal etmeyi, arka plan indekslemeyi optimize etmeyi, belge başına uygulanabilen analizörleri sınırlandırarak teşhis motorunu tek bir belge üzerinde yürütülen sorgular için optimize etmeyi, birkaç 1. taraf/2. taraftaki önemli verimsizlikleri ele almayı içeriyordu. PublicAPI analyzer gibi analizörler ve önbelleğe alma modelimizi iyileştirerek
  • Üst düzey düzeltmeler, yayılmaya yönelik soruları yanıtlamak için tanılama ardışık düzenini yeniden işlemeyi, hangi analizörlerin belirli aralıklarda çalışmak için uygun olduğunu anlamayı, geçmiş çalıştırma bilgilerine dayalı olarak yavaş analizörlerin önceliğini kaldırmayı içeriyordu.
ÖNCE SONRA

Özellikle büyük kaynak dosyaları için hem CPU hem de bellek performansını önemli ölçüde iyileştirdik. Aslında, yukarıdaki giflerde gösterildiği gibi, büyük bir kaynak dosyadaki Lightbulb senaryosunun ilerleme çubuğu döngülerini yaklaşık 8-17 döngüden birden az döngüye indirmeyi başardık.

Microsoft Teams Geliştirme Araçları (Teams Araç Seti)
  • "Teams Uygulama Yapılandırma İyileştirmeleri" özellik bayrağını ekleyin. Teams Toolkit'in önizleme özelliği, geliştiricilerin mevcut dahili uygulamalarını ve SaaS uygulamalarını Teams'e özgü entegrasyonla Teams'e getirmelerini sağlar. Dosyada, teamsfxapp.ymlTeams Toolkit motorunun ne yaptığını tanımlar.
  • Teams Toolkit'i doğrudan Teams geliştirici portalından açmak için derin bağlantıyı ekleyin . Artık Teams projelerini geliştirici portalında açabilir ve Teams Toolkit'te düzenleyebilirsiniz.
  • Başlamanız için yeni bir Teams Uygulaması şablonu kullanıma sunduk: Workflow Bot . Kullanıcı girişine yanıt olarak Uyarlanabilir Kartların iade edilebildiği sıralı iş akışları oluşturmak için yeni Workflow Bot şablonunu kullanın.
  • Ayrıca birkaç hata düzeltmesi yaptık.
Kurumsal Yönetim

Visual Studio düzenlerini intranetinizden Barındırın ve Dağıtın


BT Yöneticileri artık bir dosya paylaşımına ek olarak düzenleri bir intranet web sitesinde barındırabilir ve dağıtabilir. Bir intranet konumu kullanmak, özellikle şu anda birden çok küresel ağ dosya paylaşımı kullanan kuruluşlar için düzen bakımını basitleştirebilir ve yükleme performansını iyileştirebilir. Bu deneyimi nasıl etkinleştireceğinize ilişkin kılavuzu görüntüleyin ve deneyimi iyileştirmek için yapabileceğimiz herhangi bir şey olup olmadığını bize bildirmek için bize geri bildirim bırakın.

Yükleyicinin Kullanılabilir sekmesindeki Ürün Tekliflerinde Yapılan Güncellemeler

Visual Studio yükleyicisinin "Kullanılabilir" sekmesini görüntülediğinizde hangi ürünlerin sunulacağını yöneten mantığı güncelledik. Artık hem mevcut Önizlemelere hem de zaten yüklemiş olduğunuz SKU'ların en son sürümlerine kolayca erişebileceksiniz. BT Yöneticileri ayrıca , belirli kanalları devre dışı bırakarak veya Kullanılabilir sekmesinin görünürlüğünü bastırmak için yeni HideAvailableTab politikasını kullanarak belirli ürünlere maruz kalmayı kısıtlama yeteneğine de sahiptir.

Her Yerde Son Yükleyici

En son yükleyiciyi her yere göndermeye başlayacağız; bu, Visual Studio 2017 ve üzeri sürümlerin tüm sürümlerine yönelik gelecekteki tüm güncellemelerin en son yükleyiciyi içereceği anlamına gelir. Bu, en son yükleyiciye eklediğimiz herhangi bir yeni işlevsellik veya hata düzeltmesinin (bir düzenden kaynaklanan bir yüklemeyi geri alma yeteneği gibi) ürünün söz konusu alt düzey sürümlerinde otomatik olarak kullanılabileceği anlamına gelir. Edinme betiklerinizde --useLatestInstaller parametresini kullanmak artık gerekli olmayacak.

Bir Düzenden Kaynaklanan Ürün Kurulumları için artık geri alma etkinleştirildi

Ürün kaynakları bir düzenden kaynaklanıyorsa artık bir güncellemeyi geri alabilirsiniz. Düzenin, geri dönüşün başarılı olması için gereken paketleri içerdiğinden emin olun. Daha fazla ayrıntı burada bulunabilir.

Makalenin tam halini okumak için (İngilizce):
 

Geri
Yukarı