2022LogoVisual Studio 2022 sürüm 17.0 Sürüm Notları


| Geliştirici Topluluğu Visual Studio 2022 Yol Haritası | Sistem Gereksinimleri | Uyumluluk | Dağıtılabilir Kod | Yayın Geçmişi | Lisans Koşulları | Bloglar | En Son Sürüm Bilinen Sorunlar | Visual Studio Docs'taki Yenilikler


Visual Studio 2022 sürüm 17.0

Destek Zaman Çerçevesi

17.0 LTSC kanalında güncelleştirmeleri alacak şekilde yapılandırılmış Visual Studio 2022 sürüm 17.0'ın Enterprise ve Professional kullanıcıları desteklenir ve Temmuz 2023'e kadar güvenlik açıklarına yönelik düzeltmeler alır. Visual Studio tarafından desteklenen temeller hakkında daha fazla bilgi için lütfen Visual Studio 2022 için Destek İlkesi'ni gözden geçirin.

Visual Studio 2022 sürüm 17.0'ın en güvenli sürümünü 17.0 LTSC kanalından indirmek için aşağıdaki düğmelerden birine tıklayın. Visual Studio Abonelikleri sitesinde ek 17.0 LTSC ürünleri bulunabilir.

Kurumsal Düğmeyiİndir Profesyonel Düğmeyi İndir

Visual Studio 2022 ürünlerinin en güncel sürümlerine yönelik bağlantılara erişmek için Visual Studio sitesini ziyaret edin. Visual Studio 2022'yi yükleme ve güncelleştirme yönergeleri için bkz. Visual Studio 2022'yi en son sürüme güncelleştirme. Visual Studio Yönetici Kılavuzu, Visual Studio'yu kuruluşunuza dağıtma yönergelerini içerir.

Visual Studio Community sürümü yalnızca Visual Studio'nun en son ikincil sürümünün en son hizmet sürümüyle Geçerli Kanal'da desteklenir. visualstudio.microsoft.com/downloads veya my.visualstudio.com'dan en son Visual Studio Community sürümünü yükleyebilirsiniz

Visual Studio 2022 sürüm 17.0 Sürümleri

Visual Studio 2022 Blogu

Visual Studio 2022 Blogu , Visual Studio Mühendislik Ekibi'nin resmi ürün içgörü kaynağıdır. Visual Studio 2022 sürümleri hakkında ayrıntılı bilgileri aşağıdaki gönderilerde bulabilirsiniz:


17.0.14 Visual Studio 2022 sürüm 17.0.14

yayın tarihi: 13 Eylül 2022

17.0.14'ün bu sürümünde giderilen sorunlar

Güvenlik Danışmanlığı

CVE-2022-38013 .NET Hizmet Reddi Güvenlik Açığı ASP.NET Core 3.1 ve .NET 6.0'da kötü amaçlı bir istemcinin yığın taşmasına neden olabileceği ve bir saldırganın model bağlama sırasında ayrıştırılan özelleştirilmiş bir yük gönderdiğinde hizmet reddi saldırısına yol açabileceği bir hizmet reddi güvenlik açığı bulunmaktadır.


17.0.13 Visual Studio 2022 sürüm 17.0.13

yayın tarihi: 9 Ağustos 2022

17.0.13'ün bu sürümünde giderilen sorunlar

  • 17.1.4 güncelleştirmesinin ardından Git Hatasını giderir - Visual Studio ile git deposunu güvenli olarak işaretleme seçeneği sağlayan Visual Studio Geri Bildirimi.
  • Güncelleştirmeler MinGit'i CVE - CVE-2022-29187 (mitre.org) ile ilgili olarak sürüm 2.37.1.1'e Güncelleştirmeler. Bu, kullanıcıların sahip oldukları bir depoya gittiği ancak diğer kullanıcıların kötü amaçlı kod çalıştırmak için yazabileceği bir güvenlik açığına maruz bırakır.
  • Windows için Git'i v2.37.1.1'e Güncelleştirmeler ve CVE-2022-31012'yi ele alın.

Güvenlik Danışmanlığı Bildirimi


17.0.12 Visual Studio 2022 sürüm 17.0.12

yayın tarihi: 12 Temmuz 2022

17.0.12'nin bu sürümünde giderilen sorunlar

  • LibraryManager, cdnjs API'sinde yapılan değişiklikleri barındıracak şekilde güncelleştirildi
  • Belge açılırken metin düzenleyicisinin boş olmasına veya yazarken kilitlenmesine neden olan hata düzeltildi.

Güvenlik Danışmanlığı Bildirimi


17.0.11 Visual Studio 2022 sürüm 17.0.11

yayın tarihi: 14 Haziran 2022

17.0.11'in bu sürümünde giderilen sorunlar

  • Yan yana Dev 16.11 C++ Araç Takımı 14.29.30145.00 sürümüne güncelleştirildi. Dev 16.11 C++ Araç Takımı'nın en son sürümü, kalan tüm C++20 hata raporlarını düzeltme de dahil olmak üzere önemli hata düzeltmeleri içerir. Daha fazla bilgi için 16.11.14 sürüm notlarına bakın.

Geliştirici Topluluğu’ndan

Güvenlik Danışmanlığı Bildirimi


17.0.10 Visual Studio 2022 sürüm 17.0.10

yayın tarihi: 10 Mayıs 2022

17.0.10'un bu sürümünde giderilen sorunlar

  • Visual Studio tarafından kullanılan Windows için Git sürümü güncelleştirildi ve isteğe bağlı olarak yüklenebilir bileşen 2.36.0.1 sürümüne güncelleştirildi
  • Git tümleştirmesiyle ilgili, ayrılan dalların çekilmesi/eşitlenmesi durumunda çıkış penceresinin bunun nasıl çözüleceğiyle ilgili yerelleştirilmiş bir ipucu göstermemesi sorunu düzeltildi.
  • Visual Studio'da bir Git deposunu açarken, hatanın nedenini ve nasıl giderileceği yerine çıkış penceresinin "Bir veya daha fazla hata oluştu" ifadesini göstermesine neden olan bir sorun düzeltildi.
  • Daytona'da webview2 temeli güncelleştirildi

Geliştirici Topluluğu’ndan

Güvenlik Danışmanlığı Bildirimi

[CVE-2022-29117 .NET Hizmet Reddi Güvenlik Açığı .NET 6.0, .NET 5.0 ve .NET Core 3.1'de kötü amaçlı bir istemcinin tanımlama bilgilerini işleyebildiği ve Hizmet Reddine neden olabileceği bir güvenlik açığı bulunmaktadır.

CVE-2022-23267 .NET Core Hizmet Reddi Güvenlik Açığı .NET 6.0, .NET 5.0 ve .NET Core 3.1'de kötü amaçlı bir istemcinin HttpClient aracılığıyla fazla bellek ayırmaları yoluyla Hizmet Reddine neden olabileceği bir güvenlik açığı bulunmaktadır.

CVE-2022-29145 .NET Hizmet Reddi Güvenlik Açığı .NET 6.0, .NET 5.0 ve .NET Core 3.1'de kötü amaçlı bir istemcinin HTML formları ayrıştırıldığında hizmet reddine neden olabileceği bir güvenlik açığı bulunmaktadır.

CVE-2022-24513 Ayrıcalıkların yükseltilmesi güvenlik açığı Microsoft Visual Studio güncelleştirici hizmeti yerel yapılandırma verilerini yanlış ayrıştırdığında olası bir ayrıcalık yükseltme güvenlik açığı vardır.


17.0.9 Visual Studio 2022 sürüm 17.0.9

yayın tarihi: 19 Nisan 2022

17.0.9'un bu sürümünde giderilen sorunlar

  • 17.0.8'den vctip.exe regresyonu düzeltildi
  • Adres Temizleme (ASAN) ile oluşturulan bazı uygulamaların Windows 11 yüklenmesini engelleyen bir hata düzeltildi.
  • Yığın çekişmesi olan çok iş parçacıklı uygulamaların kilitlenme, yanlış "joker işaretçi serbest bırakıldı" raporları veya işlem çıkışı sırasında kilitlenmeyle karşılaşabileceği başka bir ASAN sorunu düzeltildi.
  • 'Çevrimdışı bir makineye Visual Studio için uzantı (vsix) yüklenemiyor' sorunu düzeltildi.

17.0.8 Visual Studio 2022 sürüm 17.0.8

yayın tarihi: 12 Nisan 2022

17.0.8'in bu sürümünde giderilen sorunlar

Geliştirici Topluluğu’ndan

Güvenlik Danışmanlığı Bildirimi

CVE-2022-24765 Ayrıcalıkların yükseltilmesi güvenlik açığı Windows için Git'te git işlemlerinin bir Git dizini için seraching yaparken depo dışında çalışabileceği olası bir ayrıcalık yükseltme güvenlik açığı vardır. Windows için Git artık 2.35.2.1 sürümüne güncelleştirildi.

CVE-2022-24767 DLL ele geçirme güvenlik açığı Kaldırıcıyı SYSTEM kullanıcı hesabı altında çalıştırırken Windows için Git yükleyicisinde olası bir DLL ele geçirme güvenlik açığı var. Windows için Git artık 2.35.2.1 sürümüne güncelleştirildi.

CVE-2022-24513 Ayrıcalıkların yükseltilmesi güvenlik açığı Microsoft Visual Studio güncelleştirici hizmeti yerel yapılandırma verilerini yanlış ayrıştırdığında olası ayrıcalık yükseltme güvenlik açığı vardır.


17.0.7 Visual Studio 2022 sürüm 17.0.7

yayın tarihi: 8 Mart 2022

17.0.7'nin bu sürümünde Giderilen Sorunlar

  • Yüksek yenileme hızı monitörlerinde iyileştirilmiş performans.
  • Topluluk SKU kullanıcıları için Visual Studio başlatma sırasında oluşan bir kilitlenme düzeltildi.

Geliştirici Topluluğu’ndan

Geliştirici Topluluğu, 17.0 sürümünde sağlanan düzeltmelerin tam listesine sahiptir.

Güvenlik Danışmanlığı Bildirimi

CVE-2020-8927 Güvenlik Açığı .NET 5.0 ve .NET Core 3.1 sürümlerinde, 1.0.8'den önceki Brotli kitaplığı sürümlerinde arabellek taşması olan bir Uzaktan kod Yürütme güvenlik açığı bulunmaktadır.

CVE-2022-24464 Güvenlik Açığı Belirli http form isteği türlerini ayrıştırırken .NET 6.0, .NET 5.0 ve .NET CORE 3.1'de hizmet reddi güvenlik açığı vardır.

CVE-2022-24512 Güvenlik Açığı .NET 6.0, .NET 5.0 ve .NET Core 3.1'de .NET Çift Ayrıştırma yordamında yığın arabellek taşması oluştuğu bir Uzaktan Kod Yürütme güvenlik açığı bulunmaktadır.

CVE-2021-3711 OpenSSL Arabellek Taşması güvenlik açığı Windows için Git tarafından kullanılan OpenSSL'de olası bir arabellek taşması güvenlik açığı bulunmaktadır. Windows için Git artık bu sorunu gideren 2.35.1.2 sürümüne güncelleştirildi.


17.0.6 Visual Studio 2022 sürüm 17.0.6

yayın tarihi: 8 Şubat 2022

17.0.6'nın bu sürümünde giderilen sorunlar

Güvenlik Danışmanlığı Bildirimi

CVE-2022-21986 Güvenlik Açığı Kestrel web sunucusu belirli HTTP/2 ve HTTP/3 isteklerini işlediğinde .NET 5.0 ve .NET 6.0'da Hizmet Reddi güvenlik açığı var


17.0.5 Visual Studio 2022 sürüm 17.0.5

yayın tarihi: 13 Ocak 2022

17.0.5'in bu sürümünde giderilen sorunlar

  • İzleme Profili Oluşturmanın başarısız olmasına neden olan geçici meta verilerle ikili bir dosya izlendiğinde VSInstr'in çıkmadığı zaman zaman ele alınan örnek.
  • İkili dosyayla birlikte PDB oluşturulurken link.exe zaman zaman kilitlenmesine veya kilitlenmesine neden olan sorunlar düzeltildi.
  • Tamsayı taşması nedeniyle çağrı işlemini kilitleyen C++ Eşzamanlılık::p arallel_for_each dosyasındaki bir hata düzeltildi.
  • C++20 ve C++En son dil modları altında ATL'nin CString karşılaştırmalarındaki bir hata düzeltildi.
  • Çok sayıda pogo yoklaması kullanıldığında arm64 ve arm64ec üzerinde PGI ed ikili dosyasının yürütülmesi sırasında oluşan kilitlenme düzeltildi.
  • Çok büyük işlevlerin iyileştirilmesinin yanlış kod oluşturabileceği bir sorun düzeltildi.

17.0.4 Visual Studio 2022 sürüm 17.0.4

yayın tarihi: 16 Aralık 2021

17.0.4'ün bu sürümünde Giderilen Sorunlar

  • Xcode 13.2 Desteği ekler.

17.0.3 Visual Studio 2022 sürüm 17.0.3

yayın tarihi: 14 Aralık 2021

17.0.3'ün bu sürümünde Giderilen Sorunlar

Çift yönlü metin denetimi karakter işleme

Kodun yanlış tanıtılmasına izin veren kötü amaçlı olabilecek bir açıktan yararlanmayı önlemek için, Visual Studio düzenleyicisi artık çift yönlü metin denetim karakterlerinin düzenleme yüzeyindeki karakterlerin sırasını değiştirmesine izin vermez. Yeni bir seçenek, bu çift yönlü metin denetimi karakterlerinin yer tutucularla gösterilmesine neden olur. Bu davranış yalnızca kod düzenleyicisinde işlenenleri etkileyeeceğinden, çift yönlü metin denetim karakterleri kodda bulunmaya devam eder.

Çift yönlü metin denetim karakterlerinin yer tutucularla değiştirıldığı VS

Bu işlev Araçlar\Seçenekler'de denetlendi. Metin Düzenleyicisi\Genel sayfasının altında varsayılan olarak denetlenecek "Çift yönlü metin denetim karakterlerini göster" seçeneği vardır. İşaretlendiğinde, tüm çift yönlü metin denetimi karakterleri yer tutucu olarak işlenir. Seçeneğin işaretini kaldırmak, bu karakterlerin işlenmediği önceki davranışa geri döner.

Unicode karakteri, şu aralıklardan birine denk gelirse çift yönlü metin denetim karakteri olarak kabul edilir: U+061c, U+200e-U+200f, U+202a-U+202e, U+2066-U+2069.

  • Web Forms Tasarımcısı'ndaki kilitlenme düzeltildi
  • !important için CSS tamamlama işleminin HTML veya Razor dosyalarında yanlış konuma metin eklemesine neden olan bir sorun düzeltildi.
  • SignalR gibi benzer bağımlılıkları paylaşan kitaplıklarla çakışan Xamarin.Forms XAML Çalışırken Yeniden Yükleme bir regresyon düzeltildi. Xamarin.Forms XAML Çalışırken Yeniden Yükleme artık uygulamanıza ne yüklenirse yüklensin birlikte çalışabilir.
  • Projeye Genel Bakış Sayfaları, Tanılama Araçları veya Performans Profili Oluşturucu pencerelerinin bazen boş olması sorunu düzeltildi.
  • Razor dosya düzenlemesinde imlecin bazen yazının ortasında farklı bir konuma atladığı bir sorun düzeltildi.

Geliştirici Topluluğu’ndan

Geliştirici Topluluğu, 17.0 sürümünde sağlanan düzeltmelerin tam listesine sahiptir.

Güvenlik Önerisi bildirimi

CVE-2021-43877 .NET Güvenlik Açığı .NET Core, .NET 5 ve .NET 6 uygulamaları IIS içinde barındırıldığında ayrıcalıkların yükseltilmesine izin verebilecek bir ayrıcalık yükseltme güvenlik açığı ANCM'de mevcuttur.

CVE-2021-42574 Çift Yönlü Metin Güvenlik Açığı Çift yönlü metin denetimi karakterleri, kodun düzenleyicide diskte bulunandan farklı bir şekilde işlenmesine neden olmak için kullanılabilir.


17.0.2 Visual Studio 2022 sürüm 17.0.2

yayın tarihi: 30 Kasım 2021

17.0.2'nin bu sürümünde Giderilen Sorunlar

  • Çakışan verilerle memmove benzeri işlemler ile sessiz-kötü codegen için düzeltme
  • C++ Modülleri veya Üst Bilgi Birimleri kullanılırken görüntülenen çıkış penceresine mesajlaşma eklendi. Bu, IntelliSense ile Modülleri veya Üst Bilgi Birimlerini kullanmayla ilgili bilinen sorunları içerir.
  • CMake Genel Bakış Sayfaları ve CMakeSettings düzenleyicisinin "IntelliSense'in başlatma işlemini tamamlaması bekleniyor..."
  • Veri üyesi başlatıcılarıyla sınıf hiyerarşisinde yer alan bir şablonlu yıkıcının çok erken örneklenmesi ve tanımlanmamış türlerin veya diğer hataların kullanımıyla ilgili yanlış tanılamalara yol açması sorunu düzeltildi.
  • Python iş yüküne Python 3.9.7 eklendi. Güvenlik açığı nedeniyle Python 3.7.8 kaldırıldı.
  • Sonrakini Bul (F3) ve Sonrakini Bul SeçiliYi Bul (Ctrl+F3) bazen bir sonraki oluşum yerine dosyadaki ilk oluşuma atladığı bir sorun düzeltildi.
  • Sürüm denetimi kullanıcı arabirimlerindeki tarihlerin müşterinin işletim sistemi yerel ayarına uygun olmaması sorununu çözün.
  • müşterilerin Windows Terminal varsayılan olarak ayarlaması ve hata ayıklayıcının bir konsol uygulamasında hata ayıklamayı düzgün bir şekilde durduramama ve gelecekteki başlatmaları önlemesi sorununu Windows 11 giderin.

Geliştirici Topluluğu’ndan

Geliştirici Topluluğu, 17.0 sürümünde sağlanan düzeltmelerin tam listesine sahiptir.


17.0.1 Visual Studio 2022 sürüm 17.0.1

yayın tarihi: 16 Kasım 2021

17.0.1'in bu sürümünde Giderilen Sorunlar

  • Toplu derlemeler kullanılırken kilitlenme düzeltildi.
  • XAML Çalışırken Yeniden Yükleme etkin olan Xamarin.Forms projeleri başlatılırken oluşan kilitlenme düzeltildi.

Geliştirici Topluluğu’ndan

Geliştirici Topluluğu, 17.0 sürümünde sağlanan düzeltmelerin tam listesine sahiptir.

17.0.0 Visual Studio 2022 sürüm 17.0.0

yayın tarihi: 8 Kasım 2021

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

64 bit

  • devenv.exe artık yalnızca 64 bit

Azure Cloud Services

  • Yeni müşteriler için Azure'da kullanım dışı bırakıldıklarına göre yeni Azure Bulut Hizmeti (klasik) projeleri desteklenmez. Azure Bulut Hizmeti (genişletilmiş destek) projeleri önerilen değişimdir.
  • Mevcut Azure Bulut Hizmeti (klasik) projeleri açılabilir ve tam olarak desteklenir.

C++

  • v143 derleme araçları artık Visual Studio yükleyicisi ve tek başına derleme araçları aracılığıyla kullanılabilir.
  • Yeni Çalışırken Yeniden Yükleme deneyimi artık hata ayıklayıcı altında çalışırken yerel C++ uygulamaları tarafından kullanılabilir. Hem MSBuild hem de CMake projelerini destekler. Daha fazla bilgi için aşağıdaki Çalışırken Yeniden Yükleme bölümümüze bakın.
  • Artık SSH bağlantısı kurmadan WSL2'de yerel olarak derleyebilir ve hatalarını ayıklayabilirsiniz. Hem platformlar arası CMake projeleri hem de MSBuild tabanlı Linux projeleri desteklenir.
  • Visual Studio artık CMakePresets.json dosyasındaki seçeneği destekliyor buildPresets.targets . Bu, CMake projenizde hedeflerin bir alt kümesini oluşturmanıza olanak tanır.
  • CMake projelerindeki Proje menüsü kolaylaştırıldı ve "Önbelleği Sil ve Yeniden Yapılandır" ve "Önbelleği Görüntüle" seçeneklerini kullanıma sunar.
  • CMake Genel Bakış Sayfaları, CMakePresets.json'ı destekleyecek şekilde güncelleştirildi.
  • /scanDependenciesP1689r4'te açıklandığı gibi CMake projeleri için C++20 modül bağımlılıklarının çıkışı için bayrağı uygulandı. Bu, CMake ile modül tabanlı projeler oluşturmaya yönelik bir destek adımıdır ve bu desteği sonraki sürümlerde tamamlamaya çalışıyoruz.
  • Artık LLDB ile Visual Studio'dan uzak sistemlerde çalışan işlemlerin hatalarını ayıklayabilirsiniz.
  • Visual Studio ile birlikte gönderilen CMake sürümünü 3.21 sürümüne yükselttik. Kullanılabilir olanlarla ilgili ayrıntılar için CMake 3.21 sürüm notlarına bakın.
  • Visual Studio ile birlikte gönderilen LLVM araçları LLVM 12'ye yükseltildi. Ayrıntılar için LLVM sürüm notlarına bakın.
  • MSVC araç takımı artık hata ayıklama kayıtlarında sha-256 kaynak karması olarak varsayılan olarak kullanılır. Daha önce araç takımı varsayılan olarak kaynak karması için MD5 kullanıyordu.
  • C++ ile oyun geliştirme iş yükü artık Visual Studio 2022 desteğiyle en son Unreal Engine'i yüklüyor.
  • İçeri aktarılan Modüllerden ve Üst Bilgi Birimlerinden türler için gezinti ve söz dizimi vurgulama sağlarken C++ IntelliSense'te geliştirmeler yapıldı.
  • Önbelleğe alınmış üst bilgi kullanımını ve sembol veritabanı erişimini iyileştirerek C++ IntelliSense performansı geliştirildi ve kodunuza erişmek için geliştirilmiş yükleme süreleri sağlandı.
  • C++ için IntelliSense Kod Linter'i artık varsayılan olarak açıktır ve anında tür olarak öneriler sağlar ve yaygın kod hataları için öneriler düzeltir.
  • anahtarı -fsanitize=fuzzeraltında libfuzzer desteği. Diğer ayrıntılar için belgelere bakın.
  • Kod çözümleme araçlarımızda null işaretçi başvuru algılamasını geliştirdik.
  • Kod analizi artık ek açıklama ekli _Check_return_ veya _Must_inspect_result_ denetlenmesi gereken işlevlerin değerlerini döndürmeyi zorunlu kılacak.
  • Kod analizi desteği gsl::not_null eklendi.
  • C++ Mobil Geliştirme iş yükünde NDK r21 LTS'ye güncelleştirildi.
  • C++ AMP üst bilgileri artık kullanım dışı bırakıldı. Bir C++ projesine amp.h'yi> dahil <etmek derleme hataları oluşturur. Hataları susturmak için öğesini tanımlayın _SILENCE_AMP_DEPRECATION_WARNINGS. Daha fazla ayrıntı için lütfen AMP Kullanımdan Kaldırma bağlantılarımıza bakın.

Hata Ayıklama & Tanılaması

  • İşleme ekle iletişim kutusu geliştirmeleri
  • Özel durum yardımcı geliştirmeleri
  • Çalıştırmayı Tıklamaya Zorla
  • Bellek Dökümü Tanılama Analizi
  • Bağımlı Kesme Noktası adlı yeni bir kesme noktası türü yayımladık. Bu, kesme noktasını yalnızca başka bir kesme noktasına ilk isabet edildiğinde etkinleştirilecek şekilde yapılandırmanıza olanak tanır.
  • Extrenal Sources düğümüne daha fazla güncelleştirme ekledik. Artık modülü "Kaynakları Olmayan Modüller" alt düğümü altında görebilir ve sembolleri çözüm gezgininin kendisini yükleyebilirsiniz.
  • Kesme Noktası Cilt Payı geliştirmeleri
  • Geçici Kesme Noktası
  • Kesme Noktasını Sürükleyip Bırakma
  • Çözüm Gezgini'de Dış Kaynaklar Düğümü
  • İşleme ekle iletişim kutusu geliştirmeleri

Kişiselleştirme

  • Dikey ve yatay sekmeler için Renk Sekmeleri eklendi
  • Tema Paketi eklendi ve özel temalar koleksiyonunu başlatmak için VS Code tema yazarlarıyla birlikte çalıştı
  • VS Code temalarını Visual Studio 2022'de çalışacak şekilde dönüştürmek için Oluşturulmuş Tema Dönüştürücüsü
  • Visual Studio temasını Windows temasıyla eşitleme özelliği eklendi
  • Docwell'de sekme genişliğini özelleştirmeyi, etkin belgeyi kalınlaştırmayı ve ek kapatma düğmesini içeren yeni belge yönetimi özellikleri eklendi.

Düzenleyici

  • Alt kelime gezintisi eklendi
  • Otomatik kaydetme artık önizleme özelliği olarak kullanılabilir
  • Çok girişli kopyalama/yapıştırma deneyimi

Genişletilebilirlik

  • Microsoft.VisualStudio.Language.Client derlemelerinden API'ler kaldırıldı
  • VS SDK birkaç hataya neden olan değişiklik içeriyor ve Visual Studio 2019 uzantıları 2022'de çalışmaz. Daha fazla bilgi için VSSDK belgelerine bakın.
  • VS SDK Başvuru derlemeleri artık klasöre VSSDK\VisualStudioIntegration\Common\Assemblies yüklenmez. Derlemeniz bu derlemeleri kullanıyorsa, bunun yerine nuget paketlerini kullanmak için projenizi geçirin. Çevrimdışı senaryolar için:
    1. Nuget paketlerinin geri yükleneceği kuruluş içi bir nuget akışı tutun.
    2. İkili dosyaları iade edin.
  • ILanguageClient hataya neden olan değişiklik düzeltmeleri eklendi

Bulut Hizmetleri

  • Azurite , eski ve artık etkin olarak geliştirilmiş Azure Depolama Öykünücüsü yerine Azure Depolama'nın yerel öykünmesi için kullanılacaktır.

Git Araçları

  • Farklı depoları kapsayan herhangi bir Çözüm için önizleme bayrağı altında çoklu depo desteği (başka bir deyişle, farklı Git depolarında barındırılan projeleri olan çözümler)
  • Azure DevOps'ta yayımlama artık git deposu oluşturma deneyiminde tam olarak destekleniyor
  • Boş bir VS'den depoları görüntüleme ve açma veiptal edilmemiş işleme sayısını görüntüleme gibi yeni bir özellik de dahil olmak üzere durum çubuğu iyileştirmeleri
  • Git Değişiklikleri penceresindeki taşma menüsü artık yalnızca ek git işlemlerine sahip yerel depolar için kullanılabilir
  • Eklenen/silinen satır sayısını ve bulunabilir yapılandırma seçeneklerini içeren Birleşik Fark araç çubuğu
  • Daha hızlı yanıt veren ve kullanıcı dostu bir kullanıcı arabirimi de dahil olmak üzere ayrıntılı geliştirmeleri işleme

Yardım Menüsü

  • 17.0 sırasında Yardım Menüsünü Başlarken malzemeleri ve yararlı İpuçları/Püf Noktaları ile yeniden düzenledik.
  • Geliştirici Topluluğu, Sürüm Notları, Visual Studio ürün Yol Haritası ve Sosyal Medya sayfalarımıza erişim gibi öğeleri ekleyerek geliştirme ekibimizle daha fazla işbirliği sağlar.

Çalışırken Yeniden Yükleme Deneyimi

  • Çalışırken Yeniden Yükleme artık Visual Studio hata ayıklayıcısı aracılığıyla ve birçok .NET 6 uygulama türü için hata ayıklayıcı olmadan .NET geliştiricileri tarafından kullanılabilir
  • Çalışırken Yeniden Yükleme artık Visual Studio Hata Ayıklayıcı'sını kullanırken C++ geliştiricileri tarafından kullanılabilir

Daha fazla ayrıntı için yukarıdaki bağlantıya bakın

IntelliCode

JavaScript/TypeScript

  • Ek araçlarla tek başına JavaScript/TypeScript projeleri oluşturan yeni bir JavaScript/TypeScript proje türü yayımladık. Bilgisayarınızda yüklü çerçeve sürümünü kullanarak Visual Studio'da Angular ve React projeleri oluşturabileceksiniz.
  • JavaScript ve TypeScript testi artık Visual Studio Test Gezgini'nde kullanılabilir
  • NPM GUI kullanılabilir, böylece artık Nuget paketlerini indirdiğiniz gibi NPM modüllerini de indirebilirsiniz

.NET 6 SDK

  • .NET 6 SDK'sı Visual Studio 2022'ye dahildir

.NET Üretkenliği

  • Parametre yeniden düzenlemesi, yöntem uygulamasından çağıranlarına yeni bir parametre taşıyabilir.
  • Veri akışı analizi için Değer Kaynağını İzleme
  • Yeniden atanan değişkenlerin altını çizme seçeneği
  • Geçersiz Kılma Oluştur iletişim kutusunda arama seçeneği eklendi
  • XML <kod> etiketleri için hızlı bilgiler artık boşluk ve CDATA bloklarını korur
  • Tüm Başvuruları Bul penceresi artık çok hedefli projeleri gruplandıracak
  • Visual Basic'te yinelenen türleri kaldırmak için yeniden düzenleme
  • Uygulama'ya gidin, artık geçersiz kılınan soyut bildirimleri olan üyelere gitmez.
  • ad alanlarını Çözüm Gezgini klasör yapınızla eşleşecek şekilde eşitleme
  • Çözüm Gezgini arka plan kodu analizini yapılandırma
  • Null atanabilir başvuru türleri artık yeni .NET projeleri için varsayılan olarak etkindir
  • C# 10.0 Dosya kapsamlı ad alanı yeniden düzenleme
  • Koda dönüştürülmüş kaynaklara git artık varsayılan olarak açıktır
  • Tür denetimi yerine null denetimi tercih etmek için yeniden düzenleme
  • Bir yöntem açıkça özel durumlar oluşturduğunda XML açıklamaları artık otomatik olarak etiket oluşturur <exception>
  • Devralma Kenar Boşluğu artık varsayılan olarak etkindir

Programlama dilleri

  • C#10

Razor (ASP.NET Core) Düzenleyicisi

  • Daha az kullanıcı arabirimi donuyor ve çözüm başlatma performansı iyileştirildi
  • Bazı çözümlerde 2 kata kadar daha hızlı anlamsal renklendirme
  • Razor dosyalarında F7 (kodu görüntüleme) desteği
  • Razor dosyalarında kod parçacığı desteği, sekme-sekme tuşuna basmak yerine tek bir sekmeyle kod parçacığı oturumunun tamamlanmasını sağlar
  • İç içe HTML ve Razor Bileşenleri olduğunda bloklarda daha iyi biçimlendirme @code
  • Razor dosyalarında Çalışırken Yeniden Yükleme desteği
  • Performans geliştirmeleri
  • Biçimlendirme ve girinti geliştirmeleri
  • Yeni Razor düzenleyici renkleri
  • TagHelpers artık renklendirilmiştir ve hızlı bilgi sınıflandırma desteği ve tamamlama araç ipuçlarına sahiptir
  • Razor yapıları için açılı ayraç vurgulama ve gezinti
  • Açıklamalarda artık otomatik tamamlama, akıllı girinti, açıklama devamlarının otomatik olarak eklenmesi ve açıklama gezintisini engelleme var

Uzaktan Test

  • Linux kapsayıcıları, WSL ve SSH bağlantıları üzerinden uzak ortamlarda testleri çalıştırmayı etkinleştirmenin çok erken deneysel önizlemesi.

Test araçları desteği

  • Test Gezgini'nde göster
  • 17.0 ile başlayan test platformunun yeni sürümleri Genel testleri ve Sıralı testleri çalıştıramaz. Bu belirli özellikler yalnızca MSTestv1'in erken bir sürümünün parçası olarak gönderilir ve MSTestv2'ye dahil değildir. Bu özelliklerin çok düşük kullanımda olduğunu ve sıralı testlerin artık en iyi test uygulamalarının aksine kabul edildiğini görüyoruz.
  • Yeni TestSettings dosyaları ve TestSettings düzenleyicisi de dahil olmak üzere bazı test deneyimleri 17.0'da kullanılamayacaktır. Test çalıştırmaları TestSettings dosyalarını kullanmaya devam edebilir, ancak TestSettings RunSettings ile değiştirildi ve kullanıcıların gelişmiş performans ve işlevselliği geçirmelerini öneririz. Daha fazla bilgi edinin.
  • Web Yük Testi ve Kodlanmış UI Testi destek güncelleştirmeleri. Kodlanmış UI Testleri ve [Web Yük Testleri](Bulut tabanlı yük testi hizmetinin kullanım ömrü sonu | Azure DevOps Blogu (microsoft.com) 2019'da resmi olarak kullanım dışı bırakılmıştır. Kullanıcıları en aza indirmek için Visual Studio 2022'de bu özellikler için minimum destek sağlanır. Kullanıcıların Kodlanmış UI Testi ve Web Yük Testi'nin dışına taşmalarını kesinlikle öneririz.

UWP Uzantı SDK'ları için araç kutusu popülasyonu

  • UWP Uzantı SDK'larının artık Araç Kutusu'nda görünmesini istedikleri türleri SdkManifest.xml dosyalarında listeleyerek açıkça bildirmeleri gerekir. Visual Studio'nun eski sürümlerinin davranışı değişmemiştir; bildirimdeki denetim listesini yoksayar ve bunun yerine SDK'nın derlemelerindeki denetim türlerini dinamik olarak numaralandırır.

Güvenilen Konumlar

  • "Güven Ayarları" işlevini yeniledik ve artık güvenilmeyen kod (dosyalar, projeler veya klasörler gibi) IDE içinde açılmak üzere olduğunda bir uyarı gösterebiliriz.
  • Güven denetimleri artık çözüm klasörü düzeyinde yapılır
  • Kullanıcı tarafından oluşturulan projeler otomatik olarak güvenilenler listesine eklenir
  • Kullanıcılar Visual Studio tarafından oluşturulan geçici konumlarda güven denetimlerini atlayabilir

Güncelleştirmeler, LTSC'ler ve Dağıtım

  • Visual Studio 2022 ile, sonbaharda ve ilkbaharda yayınlanacak, simultanouely tarafından desteklenen birden çok hizmet temeli olacaktır. Daha fazla ayrıntı için Visual Studio Yayın Ritmi belgelerine ve Visual Studio 2022 Ürün Yaşam Döngüsü'ne bakın.
  • Visual Studio 2022 ile birlikte gelen yeni yükleyici artık Visual Studio ürününün güncelleştirmelerini nereden alması gerektiğini yapılandırma özelliğine sahiptir. Bu, farklı bir LTSC'den güncelleştirmeleri seçmenize olanak tanır veya yönetilen bir kurumsal ortamdaysanız, istemciyi güncelleştirmelerini bir düzenden alacak şekilde yapılandırabilirsiniz. Kaynağı güncelleştirmeler için yapılandırma özelliği, Visual Studio Yükleyicisi ile birlikte gelen yeni işlevlerdir ve bu nedenle davranış Visual Studio 2019 gibi Visual Studio'nun alt düzey sürümleri için de geçerlidir. Güncelleştirme kanalını yapılandırma hakkında ek bilgi için Visual Studio'yu Güncelleştirme belgelerine bakın. Bunun ağ düzenleri için çalışması hakkında ek bilgi için Visual Studio Yöneticiler Kılavuzu'na bakın.
  • BT Yöneticileri artık Visual Studio'yu yüklemeden sorunları bildirebilir.

Kullanıcı Arabirimi

  • Varsayılan simgeler güncelleştirildi ve yenilendi.

Web Araçları

  • Özet yayımla sayfasında artık '...' altında uzaktan hata ayıklamayı ve profil oluşturmayı başlatma /durdurma eylemleri vardır 'Barındırma' bölümünün sağ üst köşesindeki menü
  • Bağlı Hizmetler sayfasında artık Depolama Gezgini başlatma eylemi vardır
  • .NET 6 ile birlikte gelen "ASP.NET Core Boş" şablonu, destek eklemeye başladığımız yeni 'minimal API'ler' paradigması kullanıyor
  • Azurite , eski ve artık etkin olarak geliştirilmiş Azure Depolama Öykünücüsü yerine Azure Depolama'nın yerel öykünmesi için kullanılacaktır.
  • Visual Studio'daki Bağlı Hizmetler deneyimi aracılığıyla Microsoft kimlik platformu kullanarak ASP.NET Core uygulamanıza kimlik doğrulaması ekleyebilirsiniz.

.NET Framework için WPF XAML Tasarımcısı

  • .NET Framework için geçerli WPF XAML Tasarımcısı, .NET için WPF XAML Tasarımcısı (.NET Core) için kullanılan mimariye bağlı olarak, .NET Framework için yeni bir WPF XAML Tasarımcısı ile değiştirilir. Visual Studio deneyimi aynı görünecektir, ancak önceki modeli temel alan .design.dll ve Microsoft.Windows.Design.Extensibility kullanım dışı bırakılan üçüncü taraf denetim satıcılarının yeni genişletilebilirlik modelini desteklemesi gerekir. .NET (.NET Core) için zaten bir .designtools.dll uzantı oluşturduysanız, aynı uzantı .NET Framework için yeni WPF XAML Tasarımcısı için de çalışır. Yeni genişletilebilirlik modeline geçiş hakkında daha fazla bilgi için lütfen aşağıdaki geçiş belgesine bakın.

XAML Çalışırken Yeniden Yükleme

  • XAML Çalışırken Yeniden Yükleme Değişiklikleri - Uygulama içi araç çubuğunda ve ayarlarında yapılan küçük değişiklikler

XAML Canlı Önizleme

  • XAML Live Preview artık uygulamalarını Android Öykünücüsü'nde veya UWP masaüstü uygulaması olarak çalıştıran WPF, UWP, WinUI ve Xamarin.Forms geliştiricileri için kullanılabilir. Live Preview, çalışan bir uygulama kullanıcı arabirimini yakalar ve Visual Studio'da yerleşik bir pencereye getirir. Bu, XAML Çalışırken Yeniden Yükleme kullanarak bu değişiklikleri Visual Studio'nun içinde görürken çalışan uygulama ile Visual Studio arasında ileri ve geri sekme tuşuyla canlı XAML kodu değişiklikleri yapmaya gerek kalmadan uygulamayı değiştirmeyi kolaylaştırır.

Daha fazla bilgi için yukarıdaki bağlantıya tıklayın.

XAML Örnek Verileri

  • Design-Time Örnek Veriler artık WPF uygulamalarında araç kutusundan DataGrid, ListBox ve ListView denetimleri oluşturulurken varsayılan olarak eklenir. Bu davranışı devre dışı bırakmak için Araçlar - Seçenekler ->> XAML Tasarımcısı'nın altında "Öğe oluşturma işleminde örnek verileri otomatik olarak ekle" seçeneğinin işaretini kaldırın."
  • Örnek Veriler hakkında daha fazla bilgi edinmek için lütfen Örnek Veriler belgelerini ziyaret edin.

Geliştirilmiş XAML bağlama deneyimi

  • Özellik Denetçisi'nden Veri Bağlama iletişim kutusuna hızlı erişim, Hızlı Eylemler'den bağlama ayarlama, Veri Bağlama İletişim Kutusu'nun içinde bağlanacak özelliği seçme gibi veri bağlamayı hızlı ve kolay hale getirmek için bir dizi geliştirme yaptık.

Daha fazla bilgi için yukarıdaki bağlantıya tıklayın.

Bilinen Sorunlar

.NET ile Mobil Geliştirme

Python Araçları

C++ IntelliSense

Visual Studio 2022 sürüm 17.0.0'ın bu Sürümündeki Yeniliklerin Ayrıntıları

Hata Ayıklama & Tanılaması

  • İşleme ekle iletişim kutusu geliştirmeleri
  • Pencerenin alt kısmındaki iki durumlu düğme aracılığıyla yeni üst/alt işlem listesi görünümü
    • Görünüm seçimi kalıcı olmalıdır.
    • Klavyedeki sol tuş takımı üst/alt görünümde üst işleme gider.
    • Tüm sütunlar özgün görünüm gibi sıralanabilir olmalıdır.
  • Yeni Komut Satırı sütunu her iki görünümde de kullanılabilir.
  • Uygulama havuzu adı w3wp işlemleri için "Başlık sütununda" gösterilir

! [İşleme ekle ] (media/17.0/17.0_P2_attach_to _process_3.png)

  • Catch bloğuna bir Özel Durum Yardımcısı eklendi. Bu, yönetilen bir adım özel durum oluşmasına neden olduğunda ve adım bir yakalama bloğunda tamamlandığında ilgili özel durum bilgileriyle birlikte özel durum yardımcısını görüntüler.
  • 'Yakalandı' özel durumlarında özel durum yardımcısını gösteren yeni bir 'devam' düğmesi.

Özel Durum İşleyicisi Güncelleştirmeler

  • Aralarındaki tüm kesme noktaları yoksayılırken seçilen imleç konumuna ulaşılana kadar hata ayıklayıcıyı çalıştıracak tıklamaya zorla çalıştırma seçeneği ekledik.
  • Bunu, istenen kod satırındaki sağ tıklama menüsünden "Çalıştırmayı Tıklamaya Zorla" seçeneğine tıklayarak yürütebilirsiniz.

Çalıştırmayı İmleç'e Zorla

  • Uygulama hata ayıklama modundayken, SHIFT tuşunu basılı tutarken fare üzerine geldiğinde bir kod satırının yanında görünen yeşil karaktere tıklayarak "Çalıştırmayı Tıklamaya Zorla" komutunu da yürütebilirsiniz.

Çalıştırmayı İmleç Karakterine Zorla

  • Bellek Dökümü Tanılama Analizi
    • ASP.NET Core bellek dökümlerinde daha fazla zaman uyumsuz eşitleme sorunu bulmak için çözümleyici altyapısını geliştirdik.
    • CPU süresine göre ilk 5 iş parçacığını gözden geçirerek kodunuzun hangi bölümlerinin en fazla CPU kaynağı tüketiyor olduğunu bulun.
    • 0. Nesil, 1, 2 ve Büyük Nesne Yığını'ndaki bellek baskısı belirtileri için yönetilen yığının tamamını gözden geçirin.
    • Kilitlenme bilgi dökümü varsa, uygulamanızın kilitlenmesine neden olan ikinci şans özel durumunu ve iş parçacığını bulabilirsiniz.
    • Tanılama hipotezi oluşturmakta zorlanıyor musunuz? Kilitlenmenin veya kilitlenmenin tam nedeni iyi bilinmediğinde yığındaki tüm özel durumları hızla bulmak ve gözden geçirmek için Özel durum çözümleyicisini kullanabilirsiniz.
    • Bellek analizinin önemli olduğu anlarda Finalizer kuyruk çözümleyicisinin buluşsal özellikleri geliştirildi. Artık kodunuza odaklanıyoruz ve .NET framework tarafından yönetilen nesneleri dışlıyoruz.

Bağımlı Kesme Noktası

Bu, kullanıcının yalnızca başka bir kesme noktasına ilk isabet edildiğinde etkinleştirilecek şekilde bir kesme noktası yapılandırmasına olanak tanıyan yeni kesme noktasıdır. Hata ayıklama sırasında, Visual Studio hata ayıklayıcısı uygulamayı yalnızca önkoşul kesme noktasına isabet ederse Bağımlı kesme noktasında duraklatır. Ayarlar penceresinden "Yalnızca takip edilen kesme noktasına isabet edildiğinde etkinleştir" onay kutusunu etkinleştirerek ve Bağımlı kesme noktanızı yapılandırmanızı istediğiniz açılan listeden önkoşul kesme noktasını seçerek herhangi bir kesme noktasını Bağımlı kesme noktasına dönüştürebilirsiniz.

Bağımlı Kesme Noktası

Kesme Noktası Cilt Payı geliştirmeleri

Kullanıcının kesme noktası ayarlayabildiği konumu belirtmek için yeni kesme noktası karakteri ekledik.

Kesme Noktası Karakteri

Bu kesme noktası karakterine sağ tıklayın seçeneğiyle yeni bağlam menüsü verir; daha az tıklamayla gelişmiş kesme noktaları (Koşullu kesme noktası, İzleme noktası ve Geçici kesme noktası) oluşturmak için hızlı bir yol sağlar.

Kesme Noktası Bağlam Menüsü

Geçici Kesme Noktası

Bu, kullanıcının kodu yalnızca bir kez kesmesine olanak tanıyan yeni kesme noktasıdır. Hata ayıklama sırasında, Visual Studio hata ayıklayıcısı bu kesme noktası için uygulama çalışma zamanını yalnızca bir kez duraklatır ve isabet aldıktan hemen sonra kaldırır. Ayarlar penceresinden "Kesme noktasını bir kez bastıktan sonra kaldır" onay kutusunu etkinleştirerek herhangi bir kesme noktasını geçici kesme noktasına dönüştürebilirsiniz. Alternatif olarak, kesme noktası cilt payı içindeki yeni sağ tıklama bağlam menüsünü kullanarak bu kesme noktasını ayarlayabilirsiniz.

Geçici Kesme Noktası

Kesme Noktasını Sürükleyip Bırakma

Kesme noktaları için sürükle ve bırak hareketini ekledik. Artık kesme noktanızı tutabilir ve istediğiniz kod satırında serbest bırakarak kesme noktasını bir konumdan diğerine taşıyabilirsiniz. Eylemler/koşul değişkenleri bağlam içinde olduğu sürece ilerleme kesme noktamız için çalışır.

Kesme Noktasını Sürükleyip Bırakma

Çözüm Gezgini'de Dış Kaynaklar Düğümü

Çözüm gezginine yeni bir "Dış Kaynaklar" düğümü ekledik. Bu, şu anda yalnızca hata ayıklama sırasında görünür ve Kaynak Sunucu veya Source Link bilgileri içeren sembollerin yüklendiği yönetilen modüllerin kaynaklarını gösterir. Hata ayıklama sırasında, Kaynak Sunucu bilgilerini içeren yüklü tüm yönetilen sembol dosyaları (.pdb) bu düğümün altında görünür. Diğer çözüm gezgini klasörleri gibi dosyalara göz atabilir veya bir öğeye çift tıklayarak dosyayı Kaynak Sunucudan indirebilir ve VS Düzenleyicisi'nde açabilirsiniz. Çözüm gezgininde Dış Kaynaklar düğümü

İşleme Ekle İletişim Kutusu Geliştirmeleri

İşleme ekle iletişim kutusuna yeni bir otomatik yenileme onay kutusu ekledik. Bu onay kutusu, denetim yapıldığında işlem listesini kullanılabilir işlemlerle otomatik olarak yeniler. İşleme ekle iletişim kutusundaki yeni "Masaüstünden herhangi bir pencereyi seçin" seçeneği, kullanıcının masaüstünden çalışan herhangi bir pencereyi seçmesine olanak tanır ve hata ayıklama için ilişkili işlemine ekler.

İşleme Ekle İletişim Kutusu Geliştirmeleri

Bellek Dökümü Tanılama Analizi

Stack Overflow Özel Durumu oluştuğunda kök çağrı çerçevelerini bulmak zor ve zaman alabilir. En son çözümleyicilerimiz Çağrı Yığını'nın kullanışlı bir görünümünü sunar ve daha hızlı sorun analizi için yinelenen ve gürültülü çerçeveleri kaldırır.

Kişisel -leştirme

VS Code Temalarını Visual Studio Temalarına Dönüştürme

VS Code temalarını Visual Studio'da çalışacak şekilde dönüştürebilen bir Tema Dönüştürücü aracı oluşturduk. Burada deneyin.

Yeni Visual Studio Tema Paketi

Varsayılan VS Code temaları artık Visual Studio Tema Paketi olarak kullanılabilir. Buradaki tema paketine bir göz atın.

Temayı Windows işletim sistemiyle eşitleme

Temanızın kullanılabilir ortam ışığı miktarına göre ayarlanabilmesi için Visual Studio temanızı Windows temanızla eşitleme özelliği ekledik. Bunu etkinleştirmek için Araçlar > Teması > Sistem Ayarını Kullan'a gidin.

Renk Sekmeleri

Renk sekmelerini etkinleştirmek için Araçlar > Seçenekler > Sekmeleri & Windows'a gidin ve Renklendirme Sekmelerini etkinleştirin.

Renk sekmeleri

Düzenleyicisi

Alt kelime gezintisi

Ctrl+Alt+Sol Ok ve Ctrl+Alt+Sağ Ok tuşları artık alt kelimeyle gezinir. Örneğin, "HelloWorld" dizesi "Hello" ve "World" değerlerini alt kelime olarak tanımlar. Araçlar > Seçenekleri > Metin Düzenleyicisi > Genel'deAlt Sözcük gezintisini etkinleştirmek, sözcükle ilgili komutların (örneğin TransposeWord) alt sözcüklerle etkileşim kurmasına neden olur.

Otomatik Kaydet

Araçlar > Seçenekleri > Ortam > Önizleme Özellikleri'nin altında otomatik kaydetme özelliği artık kullanılabilir. Etkinleştirilirse, Visual Studio uygulaması odağı kaybettiğinde (örneğin, başka bir pencere odağı aldığında), mümkünse tüm kirli belgeler diske kaydedilir. Herhangi bir dosya kaydedilemezse, kullanıcı dosyayı açıkça kaydedene kadar kirli kalır (Kaydet veya Farklı Kaydet... komutlarıyla).

Çok girişli kopyalama\yapıştırma deneyimi

Çok girişli kopyalama ve yapıştırma deneyimini geliştirdik. Daha önce birden çok satırın birden çok giriş işaretine yapıştırılması panonun tamamının her şapka işaretinde çoğaltılmasıyla sonuçlanıyordu. Artık aynı sayıda şapka işaretine birden çok satır yapıştırılması her satırı ilgili bir şapka işaretine ekler. Çoklu klavye kullanmak için Alt+Shift+fare tıklaması veya Alt+Shift+ tuşlarına basın ve seçimleri genişletmek için Ctrl+Shift+ok tuşlarını kullanın. Ardından, birden çok seçimdeki metni kopyalamak için Ctrl+C tuşlarına basın. İstediğiniz konumlara yapıştırmak istediğiniz her satır için birden çok giriş karakteri oluşturmak için Alt+Shift+fare tıklaması tuşlarını kullanın. Son olarak, her satırı kendi şapka işaretine yapıştırmak için Ctrl+V tuşlarına basın.

Çok girişli kopyalama ve yapıştırma

Ayrıca, alt +Shift+yukarı veya aşağı ok tuşlarını ya daAlt+Shift+fare sürükleme tuşlarını kullanarak birden çok giriş tuşuyla seçebilirsiniz. Daha önce, bu hareketler kutu seçimi oluşturmuş. Şimdi, kutu seçimi birden çok giriş karakterine dönüşür. Bu yöntem, tek tek girişler eklemek için tam konumlara tıklamaktan daha kolay ve daha hızlıdır. Çok şapkalı seçimi genişletirken Alt+Shift+ok tuşlarıyla kutu seçimini kullanmaya devam etmek ve Alt+Shift+fare sürüklemek istiyorsanız Araçlar > Seçenekler > Metin Düzenleyicisi > Gelişmiş'e gidin ve Kutu seçimini kullan'ı seçin.

Çok girişli kutu seçimi seçeneği

Genişletilebilir -lik

Microsoft.VisualStudio.LanguageServer.Client, dil istemcisi başlatılamadığında bildirimleri özelleştirmek için yeni bir yol sunar.

Başlatma görevi artık Görev Durum Merkezi (TSC) tarafından izlenecek. Başlatma görevi başarısız olursa, kullanıcılar TSC'ye giderek neyin yanlış gittiği hakkında daha fazla bilgi alabilir. Dil istemcileri artık kullanıcıya gösterilen iletiyi özelleştirerek bu hatanın kendilerine neyi temsil edeceği ve düzeltmek için gerçekleştirilebilecek eylemler hakkında bilgi sağlayabilecek. Bunu yapmak için ILanguageClient arabiriminde yeni bir API kümesi sunuyoruz. Bu yeni API'ler ILanguageClient arabiriminde hataya neden olur, bu nedenle dil uzantılarının Visual Studio 2022'de çalışabilmek için yeni pakete başvurması gerekir.

Yeni API'ler şunlardır:

  1. ShowNotificationOnInitializeFailed özelliği - Dil sunucusunun kullanıcıya hatayı bildirmek için bir kabarcık göstermemizi isteyip istemediğini belirleyen Boole özelliği:

Görev Durum Merkezi'nde ShowNotificationOnInitializeFailed

Bu özelliğin true olarak ayarlanması, yalnızca hatanın üzerinde çalışmakta oldukları proje için kullanıcı deneyimini önemli ölçüde etkilemesi durumunda gerçek olarak ayarlanmasını önerir.

  1. OnServerInitializedFailedAsync yöntemi - Dil istemcisinin başlatılması başarısız olduğunda bu yöntem çağrılır. LanguageClientInitializationInfoBase nesnesine, dil istemcisinin kullanıcıya hatayı kendi yöntemiyle bildirebilmesi veya hata bağlamını içeren özelleştirilmiş bir ileti sunabilmesi için hatanın nasıl oluştuğu hakkında bilgi sağlayacağız. İleti sağlanmışsa, Visual Studio'nun Çıkış penceresinde gösterilir.

Çıkış Penceresinde dil istemcisi başlatma hatası

JavaScript/TypeScript

Artık Visual Studio'da tek başına Angular, React ve Vue projeleri oluşturmanıza olanak tanıyan yeni bir JavaScript/TypeScript proje türü desteği vardır. Projeler, yerel makinenize yüklediğiniz çerçeve cli araçları kullanılarak oluşturulur. Bu, şablon sürümünün yerel makinenizde bulunan cli sürümlerini temel alarak da olduğu anlamına gelir.

Bu yeni projelerde birim testleri çalıştırabilecek ve bunları ASP.NET Core API projeleriyle tümleştireceksiniz. Belgelere buradan ulaşabilirsiniz

  • Ek araçlarla tek başına JavaScript/TypeScript projeleri oluşturan yeni bir JavaScript/TypeScript proje türü yayımladık. Bu konuda daha fazla bilgiyi burada bulabilirsiniz
  • NPM GUI kullanılabilir, böylece NPM modüllerini yeni JavaScript/TypeScript projelerinde Nuget paketlerini indirdiğiniz gibi indirebilirsiniz

NPM GUINPM GUI2

.NET & için Çalışırken Yeniden Yükleme Deneyimi C++ Geliştiricileri

Bu yılın başlarında, mümkün olduğunca çok .NET geliştiricisine Çalışırken Yeniden Yükleme getirme konusunda iddialı bir proje olan .NET Çalışırken Yeniden Yükleme'yi duyurmuştuk. Bu yolculuğa Visual Studio 2019'da sunulan ilk önizlemeyle başladık ve tüm deneyimin gönderileceği Visual Studio 2022'de çok daha fazlasının geleceği konusunda söz verdik. Bugün Visual Studio 2022 GA sürümünde tamamladığımız işlemlerin ayrıntılarını paylaşmak için sabırsızlanıyorum.

Çalışırken Yeniden Yükleme yeni olan herkes için hızlı bir giriş aşağıda verilmiştir. Visual Studio'daki Çalışırken Yeniden Yükleme deneyimi hem yönetilen .NET hem de yerel C++ uygulamalarında çalışır. Üzerinde çalıştığınız uygulamanın türü ne olursa olsun, Çalışırken Yeniden Yükleme amacımız düzenlemeler arasında mümkün olduğunca çok uygulama yeniden başlatması kaydederek uygulamaların yeniden derlenmesi, yeniden başlatılması, uygulamanın içinde bulunduğunuz önceki konuma yeniden gidilmesi vb. için harcadığınız zamanı azaltarak daha üretken olmanıza olanak sağlamaktır.

Bunu, uygulama kod dosyalarınızı düzenlemenizi ve bu kod değişikliklerini "Çalışırken Yeniden Yükleme" olarak da bilinen çalışan uygulamaya hemen uygulamanızı mümkün kılarak gerçekleştiririz. Bu değişiklikler uygulandıktan sonra, uygulamanın kendisinde (veya bir tür zamanlayıcı aracılığıyla vb.) bir eylem gerçekleştirerek kodunuzu yeniden yürütmeniz ve değişiklikleri hemen görmeniz yeterlidir; kesme noktaları aracılığıyla uygulamanın duraklatılması gerekmez!

Bu özelliğin bazı canlı tanıtımlarını görmek istiyorsanız şu videolardan birine göz atabilirsiniz:

Visual Studio'da Çalışırken Yeniden Yükleme Kullanıcı Deneyimi

Visual Studio 2022'de hem .NET hem de C++ geliştiricileri için Çalışırken Yeniden Yükleme deneyiminde de önemli geliştirmeler lenmiştir. Araç çubuğu artık gelişmiş görünüm ve daha fazla işlevsellikle "Çalışırken Yeniden Yükleme" düğmemizin hedef uygulamasını içerir.

Fark ettiğiniz ilk şey, yeni bir simge içeren yeni açılan stil düğmesidir. Komut " kod değişikliklerini uygula" (erken önizlemelerden) "Çalışırken Yeniden Yükleme" olarak yeniden adlandırılır.

Visual Studio 2022'de Çalışırken Yeniden Yükleme Kullanıcı Deneyimi

Düğmelerin genişletilmesi, çalışan uygulamaları yeniden başlatma, kaydetmede Çalışırken Yeniden Yükleme için kabul etme iki durumlu düğmesi ve yeni ayarlar paneline hızlı erişim gibi özelliklere hızlı erişimi gösterir.

Yeni özelliklerin her biri hakkında daha fazla ayrıntı aşağıdadır:

  • Uygulamaları Kolayca Yeniden Başlat: Uygulamanızı hata ayıklayıcısını kullanarak mı yoksa hata ayıklayıcı olmadan mı başlattıysanız (.NET 6 uygulamaları için YENİ!) fark etmeksizin, bir yeniden derleme aracılığıyla kaba bir düzenleme uygulanması gerekiyorsa, çalışan uygulamanızı artık kolayca yeniden başlatabilirsiniz.
  • Kaydet'te Çalışırken Yeniden Yükleme: Önceki önizleme sürümlerinde, Çalışırken Yeniden Yükleme düğmesine açıkça tıklamanız gereken diğer tüm projeler için yalnızca ASP.NET projelerde kaydetmede Çalışırken Yeniden Yükleme değişiklik uygulayabiliyordusunuz. Son sürümde artık herhangi bir proje türü için kaydetme anahtarını kullanarak Çalışırken Yeniden Yükleme mümkündür. Bu seçenek kabul edilir, ancak etkinleştirildikten sonra kapatılmadığı sürece gelecekteki tüm Visual Studio oturumlarınızda geçerli olur.
  • Kolay Ayarlar Erişimi: Çalışırken Yeniden Yükleme etkinleştirildiğinde/devre dışı bırakıldığında size daha fazla denetim sağlamak için bir Çalışırken Yeniden Yükleme seçenekleri paneli ekledik. Bu ayarlara Visual Studio "Seçenekler > .NET / C++ Çalışırken Yeniden Yükleme" veya ayarlar'a tıklayarak Çalışırken Yeniden Yükleme düğmeleri açılan menüsünden ulaşabilirsiniz.

.NET uygulamanızı hata ayıklayıcı olmadan çalıştırırken kullanılabilen gelişmiş bir kaba düzenleme iletişim kutusu da ekledik.

Visual Studio 2022'de Çalışırken Yeniden Yükleme için Yeni Kaba Düzenleme iletişim kutusu

Bu yeni iletişim kutusunda aşağıdakiler gibi birden fazla geliştirme vardır:

  • Her Çalışırken Yeniden Yükleme kaba düzenlemelerde Değişiklikleri Yeniden Derleme ve Uygulama için Visual Studio oturumu genelinde kabul etme seçeneği. Bu, denetlendikten sonra Visual Studio yeniden başlatılana kadar gelecekteki tüm kaba düzenlemeler için geçerlidir
  • Kod değişikliklerinizi yeniden oluşturma ve uygulama komutu, birden çok el ile gerçekleştirilen adım yerine tek tıklamayla gerçekleştirilebilir
  • Ayrıca ayarlara kolay erişim

İletişim kutusu, daha önce mümkün olduğu gibi otomatik bir işlem yapmak istemiyorsanız düzenlemeye devam etmenizi de sağlar.

Bilinen bir sınırlama vardır, bu yeni iletişim kutusu hata ayıklayıcı kullanılırken GA sürümünde kullanılamaz, ancak bu senaryoda kullanılabilir hale getirme çalışması gelecek bir güncelleştirmede tamamlanacaktır.

C++ uygulamaları desteği

Visual Studio 2022'yi kullanırken ve uygulamanızı hata ayıklayıcıyla başlatırken Artık 'Çalışırken Yeniden Yükleme' düğmesini kullanarak hata ayıklayıcı (F5) altında çalışırken yerel bir C++ uygulaması Çalışırken Yeniden Yükleme mümkündür. Çalışırken Yeniden Yükleme, CMake ve OpenFolder projeleri kullanılarak oluşturulan uygulamalar için de desteklenir.

Bu deneyim yerel Düzenleme ve Devam Et tarafından desteklenir. Desteklenen düzenlemeler için belgelerimize bakın.

Desteklenen .NET App Frameworks & Senaryoları

Mayıs 2021'de Çalışırken Yeniden Yükleme duyuracağımızdan beri .NET geliştiricilerinin sık sorulan bir sorusu ".NET uygulamaları çerçevem/sürüm bileşimimle çalışacak Çalışırken Yeniden Yükleme?" oldu. Çoğu durumda EVET yanıtını vermek için büyük ilerleme kaydettik, işte öne çıkanlar.

  • Visual Studio 2022'yi kullanırken ve uygulamanızı hata ayıklayıcıyla başlatırken temel Çalışırken Yeniden Yükleme deneyimi çoğu .NET uygulaması ve framework sürümüyle çalışır; bu, .NET Framework, .NET Core ve .NET 5+ (hem C# hem de VB.NET için) içerir. Desteklenen uygulamaların türü web (arka planda kod değişiklikleri), masaüstü, mobil, bulut ve diğer proje türlerini içerir. Buradaki temel kural, hata ayıklayıcısını kullanıyorsanız Çalışırken Yeniden Yükleme kullanabileceğinizi varsayalım ve deneyin!
  • Visual Studio 2022 kullanırken ancak hata ayıklayıcısını kullanmadığınızda (örneğin, uygulamayı başlatmak için CTRL-F5 kullanma) Çalışırken Yeniden Yükleme artık çoğu .NET 6 uygulaması türünü hedeflerken hata ayıklayıcı olmadan bile kullanılabilir. Bu, .NET 6 'yi (.NET 5 veya üzeri) hedeflemeyen uygulamaların "hata ayıklayıcı yok" senaryoyu desteklemeyeceği ve Çalışırken Yeniden Yükleme destek almak için hata ayıklayıcıyı kullanması gerektiği anlamına gelir.
  • Visual Studio 2022'yi bir .NET 6 uygulamasıyla kullanırken en fazla senaryo türü desteklenir. Bu, yukarıdaki yeni "hata ayıklayıcı yok" özelliğiyle sınırlı değildir. Ayrıca, Blazor projelerini Sık Erişimli Yeniden Yükleme desteği ve daha genel olarak herhangi bir ASP.NET Core uygulamasında razor dosyalarını düzenleme ve CSS Çalışırken Yeniden Yükleme gibi diğer yeni özellikleri de içerir. Hem Visual Studio 2022'yi hem de .NET 6'yi hedefleyen uygulamaları birlikte kullanmak, size en güçlü Çalışırken Yeniden Yükleme deneyimini kesinlikle sağlayacaktır ve denemenizi umuyoruz.

Aşağıda yukarıdaki özeti genişletecek ve daha fazla ayrıntıya ineceğiz.

Hata ayıklayıcısını kullanırken .NET uygulamasıyla Visual Studio 2022

Visual Studio 2022 kullanırken ve uygulamayı hata ayıklayıcıyla başlatırken, Çalışırken Yeniden Yükleme Konsol, Windows Forms (WinForms), WPF, UWP, WinUI 3* gibi tipik uygulama türleri ve ASP.NET MVC, Web API'si ve hatta eski Web Forms projeleri dahil olmak üzere çoğu ASP.NET web projesi türü (arka planda kod oluşturma düzenlemeleri için) dahil olmak üzere çoğu uygulama çerçevesiyle çalışır. Bu liste de yalnızca bir örnektir. Gerçek yanıt, .NET'e sahip olduğunuz ve Visual Studio yönetilen hata ayıklayıcısını kullandığınız her yerde temel Çalışırken Yeniden Yükleme desteği almanız gerektiğidir.

Bu, Azure İşlevleri gibi projelerin bile bu senaryoda harika çalışacağı anlamına gelir. Kombinasyonunuzu denemenizi ve herhangi bir sorun bulursanız bize bildirmenizi öneririz.

*WinUI 3 varsayılan olarak Çalışırken Yeniden Yükleme desteklemeyen karma mod hata ayıklamayı kullanır. Çalışırken Yeniden Yükleme düzgün çalışmasını sağlayacak Yönetilen Hata Ayıklayıcı'yı etkinleştirerek bunu proje ayarlarında değiştirebilirsiniz.

Visual Studio 2022'yi bir .NET uygulamasıyla kullanırken, ancak hata ayıklayıcısını kullanmadığınızda

Çalışırken Yeniden Yükleme artık Konsol, WPF, Windows Forms (WinForms), ASP.NET Core MVC, Web API ve Blazor gibi proje türleri de dahil olmak üzere çoğu .NET 6 uygulaması türünü hedeflerken hata ayıklayıcı olmadan kullanılabilir. Bazı geliştiricilerin uygulamalarını hata ayıklayıcı olmadan başlatmak için iyi bir nedene veya tercihe sahip olduğunu biliyoruz ve bu ek özelliğin onlara başlangıç süresi üzerinde çok az bir etki sağlamasını umuyoruz.

Bu özellik .NET 6+ için özeldir ve .NET 6 'yi (.NET 5 veya altı) hedeflemeyen uygulamalar "hata ayıklayıcı yok" senaryoyu desteklemez ve Çalışırken Yeniden Yükleme işlevselliğine erişmek için hata ayıklayıcıyı kullanması gerekir.

Ayrıca ilk sürümümüzdeki "hata ayıklayıcı yok" senaryosu için tüm proje türlerinin desteklenmediğini unutmayın. Özellikle:

  • UWP uygulamaları hata ayıklayıcı olmadan Çalışırken Yeniden Yükleme için desteklenmez, bu tasarım gereğidir ve bunu geliştirmek için geçerli plan yoktur.
  • iOS & Android'i hedefleyen Xamarin.Forms uygulamaları .NET Çalışırken Yeniden Yükleme (uygulamanızı hata ayıklayıcıyla veya hata ayıklayıcı olmadan başlatıp başlatmadığınıza bakılmaksızın) desteklemez, ancak XAML Çalışırken Yeniden Yükleme
  • Yakın gelecekte .NET MAUI uygulamaları hata ayıklayıcı senaryolarını desteklemez, ancak hata ayıklayıcı aracılığıyla .NET Çalışırken Yeniden Yükleme'ı destekler

Visual Studio 2022'yi bir .NET 6 uygulamasıyla kullanırken en fazla senaryo türü desteklenir

Hem Visual Studio 2022'yi kullanabilen hem de .NET 6'ya yönelik uygulamalar üzerinde çalışabilen geliştiriciler, en şık ve yetenekli Çalışırken Yeniden Yükleme deneyiminin avantajlarından yararlanır.

Desteklenen özelliklerin öne çıkanları:

  • Blazor uygulamaları (Server ve WebAssembly*)
  • Hem Blazor hem de normal ASP.NET Core web sitelerinde Razor dosyası düzenleme
  • CSS Çalışırken Yeniden Yükleme
  • Uygulamaları hata ayıklayıcı olmadan çalıştırırken Çalışırken Yeniden Yükleme destek alma olanağı (yukarıda daha ayrıntılı olarak açıklandığı gibi)

.NET 6'yi hedefleyen geliştiriciler, gelecek Visual Studio 2022 güncelleştirmelerinde ve .NET özellik bandında ve önemli sürümlerde daha fazla geliştirme almaya devam edecektir. Daha yeni başlıyoruz!

*Visual Studio 2022 GA sürümünde, Visual Studio hata ayıklayıcısını kullanırken Blazor WebAssembly desteği Çalışırken Yeniden Yükleme henüz etkinleştirilmedi. Yine de Çalışırken Yeniden Yükleme Alabilirsiniz Uygulamanızı hata ayıklayıcı olmadan Visual Studio aracılığıyla başlatırsanız ve bunu gelecekteki bir Visual Studio güncelleştirmesinde çözmek için çalışıyoruz.

Desteklenen ASP.NET Core Senaryoları

Temel Çalışırken Yeniden Yükleme deneyimi artık birçok ASP.NET senaryosunda yaygın olarak desteklenmektedir. En yaygın olarak kullanılabilen özellik, çoğu web uygulaması türü için arka planda kod ve diğer .NET sınıf dosyalarını değiştirebilme özelliğidir. Bu özellik, Visual Studio hata ayıklayıcısını kullanırken çalışır ve daha önce kullanılabilir olan Düzenle ve Devam Et'e her yerde sunulur.

.NET 6'yı hedefleyen ASP.NET Core geliştiriciler için .NET'in daha düşük sürümlerinde kullanılamayan ek özellikler vardır; bu, aşağıdaki gibi iyileştirmeleri içerir:

  • CSHTML: Razor CSHTML dosyasını düzenlemek artık birçok düzenleme türünü destekliyor.
  • Tarayıcı Yenileme: Razor dosyasını düzenlemek artık hata ayıklama sırasında web tarayıcınızdaki değişiklikleri otomatik olarak yeniler. Bu daha önce yalnızca uygulamayı hata ayıklayıcı olmadan başlatırken kullanılabilirdi.
  • CSS Çalışırken Yeniden Yükleme: Artık uygulama çalışırken CSS dosyalarını değiştirmek mümkündür ve siz yazarken değişiklikler çalışan uygulamaya hemen uygulanır.
  • Hata Ayıklayıcı Yok: Artık web uygulamanızı hata ayıklayıcı olmadan başlatmak için Visual Studio kullanırken Çalışırken Yeniden Yükleme destek alacaksınız (CTRL-F5).

Not: Blazor Wasm uygulaması üzerinde çalışırken ve Visual Studio 2022 (17.0) kullanırken razor sayfaları için Çalışırken Yeniden Yükleme yalnızca hata ayıklayıcı olmadan uygulamalar başlatılırken çalışır. Gelecek bir güncelleştirmede hata ayıklayıcı desteği ekleyeceğiz.

Desteklenen .NET Düzenlemeleri

.NET Çalışırken Yeniden Yükleme deneyimi Düzenle ve Devam Et mekanizması tarafından desteklenir ve önceki sürümlerde başlangıçta mümkün olanın ötesine geçerek ek düzenleme türlerini desteklemek için geliştirmeler yaptık. Geliştirmeler şunlardır:

  • Özel Öznitelikleri ekleme, güncelleştirme veya silme
  • Kayıt yapılarını ekleme veya güncelleştirme
  • #line yönergelerini ekleme veya güncelleştirme
  • Switch ifadelerini düzenleme
  • Yönergenin kendisinde yapılan değişiklikler de dahil olmak üzere #line yönergeleriyle dosyaları düzenleme
  • Üst düzey deyimleri düzenleme
  • Genel kullanım yönergeleri, dosya kapsamlı ad alanları, geliştirilmiş lambda'lar ve parametresiz yapı oluşturucuları gibi yeni C# 10 özelliklerinden herhangi birini kullanan kodu düzenleme
  • Lambda parametrelerini yeniden adlandırma
  • Mevcut yöntemlerin parametrelerini yeniden adlandırma

Yukarıdaki geliştirmeler hem Çalışırken Yeniden Yükleme hem de Düzenle ve Devam Et deneyimlerinde kullanılabilir.

Ek Güncelleştirmeler

  • Çalışırken Yeniden Yükleme, Düzenle ve Devam Et:Artık birden çok işleme eklendiğinde hem Çalışırken Yeniden Yükleme hem de Düzenle ve Devam Et deneyimlerini güvenilir bir şekilde kullanabilirsiniz. Daha önce bu özellik tam olarak desteklenmiyordu ve her zaman düzgün çalışmıyordu, bu artık düzeltildi.
  • Hata/uyarı iletileri güncelleştirildi: İletiler hem EnC hem de Çalışırken Yeniden Yükleme uygulandığında çok sayıda hata/uyarı iletisini daha net olacak şekilde güncelleştirdik. Çalışırken Yeniden Yükleme işlemleri sırasında düzenleme ve devam etme terminolojisinin kullanılmaması için iletileri daha genel hale getirerek bunu yaptık
  • .NET uygulamalarının Daha Hızlı Birim Testi: Çalışırken Yeniden Yükleme teknolojisi artık .NET 6 hedeflendiğinde birim testini hızlandırmak için deneysel bir özellik olarak kullanılabilir. Daha fazla bilgi için bu sürüm notlarının test bölümüne bakın

Desteklenmeyen .NET Senaryoları

Son sürümde bile bilmeniz gereken desteklenmeyen bazı senaryolar olacaktır:

  • Xamarin.Forms uygulamaları iOS ve Android senaryolarında .NET Çalışırken Yeniden Yükleme desteklemez. UWP uygulamasını hedeflerken bazı Çalışırken Yeniden Yükleme alırsınız. Bu tasarım gereğidir ve başka geliştirmeler yapmayı beklemiyoruz. (Not: XAML Çalışırken Yeniden Yükleme en son SDK'daki Xamarin.Forms müşterileri için kullanılabilir ve desteklenmeye devam edecektir)
  • .NET MAUI uygulamaları, .NET MAUI ile çalışmak için bu sürümde desteklenmez ve Çalışırken Yeniden Yükleme ayrıntılar için lütfen Visual Studio 2022 Güncelleştirme 1 Önizleme 1 sürüm notlarına bakın.
  • F# kullanılarak oluşturulan veya .NET Native hedefleyen uygulamalar Çalışırken Yeniden Yükleme desteklemez.

.NET Üretkenliği

Eşitleme ad alanlarının yeniden düzenlenmesi artık Çözüm Gezgini'daki bir projenin veya klasörün (sağ tıklama) menüsünde kullanılabilir ve böylece ad alanlarını klasör yapınızla eşleşecek şekilde kolayca eşitleyebilirsiniz.

Çözüm Gezgini'den ad alanlarını eşitleme

Arka plan kodu analizi yapılandırması artık Çözüm Gezgini (sağ tıklama) menüsünde kullanılabilir. Çözüm Gezgini çözüm düğümüne sağ tıklayın ve Çözümle ve Kod Temizleme'yi seçin. Ardından, arka plan kodu analizi kapsamını yapılandırmak için Çözümleme Kapsamını Ayarla'yı seçin.

  • Şimdi, bir ifadeyi yöntem uygulamasından çağıranlara yeni bir parametre ekleyerek taşıyacak bir parametreyi tanıtan bir yeniden düzenleme vardır. İmlecinizi ifadeyi içeren satıra getirin veya ifadeyi vurgulayın. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+.) tuşlarına basın. için {0}Parametreyi tanıt'ı veya tüm oluşumları için Parametreyi tanıt'ı {0}seçin. Her iki seçenekte de (1) güncelleştirilmiş ifadeyi tüm çağrı sitelerine eklemek, (2) ifadeyi döndüren ve çağrı sitelerine bağımsız değişken ekleyen yeni bir yöntem ayıklamak ve oluşturmak ya da (3) ifadeyi içeren ve özgün yöntemi çağıran yöntemin aşırı yüklemesini oluşturmak için üç açılır öğe seçeneği bulunur.

Hızlı Eylemler menüsünden parametre ekleme

  • Belirli değerlerin belirli bir noktada nasıl geçmiş olabileceğini ve nereden geçirilebileceğini belirlemek için veri akışı analizi gerçekleştirmenize olanak tanıyan Değer Kaynağını İzle adlı yeni bir komut vardır. Belirli bir üyeye sağ tıklayın ve sağ tıklama menüsünden Değer Kaynağını İzle'yi seçin.

Sağ tıklama menüsündeki değer kaynağını izleme

  • Sonuçları analiz etmenizi sağlayan Değer İzleme penceresi açılır:

Değer İzle Kaynak Penceresi

  • Yeniden atanan değişkenlerin altını çizme seçeneği ekledik. Bu varsayılan olarak kapalıdır, bu nedenle Araç > Seçenekleri Metin Düzenleyicisi > C# veya Temel > Gelişmiş'te etkinleştirmeniz ve Altı çizili yeniden atanan değişkenler'i > seçmeniz gerekir.

Düzenleyici'de yeniden atanan değişkenlerin altını çizme

  • Geçersiz KılmaLar Oluştur iletişim kutusuna, geçersiz kılınacak üyeleri hızla aramanıza ve seçmenize olanak sağlayan bir arama seçeneği ekledik.

Geçersiz Kılma Oluştur İletişim Kutusunda Ara

  • XML <kod> etiketleri için Hızlı Bilgi artık boşlukları ve CDATA bloklarını korur. İmlecinizi öğenin üzerine getirin. Hızlı Bilgi, desteklenen stilleri kodunuzun üzerindeki XML yorumlarında gösterir.

XML için Hızlı Bilgi boşluğu korur

  • Tüm Başvuruları Bul penceresi artık çok hedefli projeleri gruplandırarak görsel gürültüyü azaltmaya yardımcı olur.

Çok Hedefli Tüm Başvuru Gruplarını Bul

  • Artık Visual Basic'te yinelenen türleri kaldıran bir yeniden düzenleme vardır.
  • Uygulama'ya gidin, artık geçersiz kılınan soyut bildirimleri olan üyelere gitmez.

C# Dil Araçları

C# 8.0'da null değerinin beklenip beklenmediğini bildirmenize olanak sağlayan null atanabilir başvuru türleri kullanıma sunuldu. Null atanabilir başvuru türlerini kullanmak için enable</Nullable> öğesini proje dosyanıza eklemeniz <Nullable>veya projenizdeki her kaynak dosyaya enable pragması #nullable eklemeniz gerekir. Bu süreci kolaylaştırmaya yardımcı olmak için artık yeni .NET projeleri için etkinleştirmeyi <Nullable></Nullable> otomatik olarak ekleyeceğiz.

C# 10.0'da, sınıf tanımlarını bir ad alanı içinde iç içe yerleştirmeme seçeneği sunan Dosya kapsamlı ad alanını kullanıma sunuyoruz. Artık bir ad alanını dosya kapsamlı ad alanına dönüştürmek için yeniden düzenleme yaptık. Dosya kapsamlı ad alanını kullanmak için önce önizleme</LangVersion> öğesini proje dosyanıza eklemeniz <LangVersion>gerekir. Ardından imlecinizi bir ad alanına yerleştirin. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+. ) tuşlarına basın. Dosya kapsamlı ad alanına dönüştür'ü seçin.

Dosya kapsamlı ad alanı yeniden düzenleme

Artık değer türlerine uygulandığında tercih is not nullis object etmek için bir yeniden düzenleme vardır. Bu yeni yeniden düzenlemeyi kullanmak için imlecinizi bir tür denetimine yerleştirin. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetiklemek için (Ctrl+. ) tuşlarına basın. Tür denetimi üzerinde null denetimi tercih et'i seçin.

Koda dönüştürülmüş kaynaklara gitme

Varsayılan olarak, kitaplık türlerinin bildirimlerine gitmenize olanak tanıyarak Şu anda Koda Dönüştürülmüş Kaynaklar'a gidin. Kaynak kodunuzda bir kitaplık simgesinde ve derlenmiş kaynaklarda Tanıma Git'i çağırdığınızda, Kaynak Koda Dönüştürülmüş Kaynaklar'a gidin.

Düzenleyici Geliştirmeleri

XML açıklamaları artık bir etiket içinde <summary> otomatik olarak bir <exception> etiket oluşturur ve bir yöntem açıkça özel durumlar oluşturduğunda açıklama eklemenize olanak sağlar.

Visual Studio 2019'da, kodunuzun uygulamalarını ve geçersiz kılmalarını temsil eden kenar boşluklarına simgeler ekleyen Devralma Kenar Boşluğu'nu yayımladık. Devralma kenar boşluğu simgelerine tıkladığınızda, gitmek için seçebileceğiniz devralma seçenekleri görüntülenir. Bu sürümde Devralma Kenar Boşluğu varsayılan olarak etkindir. Devralma Kenar Boşluğu'nu devre dışı bırakmak için Araçlar>Seçenekler>Metin Düzenleyicisi>C# veya Temel>Gelişmiş'e gidin ve Devralma Kenar Boşluğunu Etkinleştir'in seçimini kaldırın.

Devralma Kenar Boşluğu

Programlama Dilleri

C# 10

  • Yapılarda (record struct Point(int X, int Y);, var newPoint = point with { X = 100 };) yapıları ve with ifadeleri kaydedin.
  • Genel kullanım yönergeleri: global using yönergeler, programınızdaki birçok dosyada aynı using yönergeleri yinelemekten kaçınıyor.
  • İyileştirilmiş kesin atama: kesin atama ve null atanabilirlik analizi gibi dictionary?.TryGetValue(key, out value) == trueyaygın desenleri daha iyi işler.
  • Sabit ilişkilendirilmiş dizeler: sabitlerden oluşan ilişkilendirilmiş dizeler kendilerinin sabitleridir.
  • Genişletilmiş özellik desenleri: özellik desenleri iç içe üyelere (if (e is MethodCallExpression { Method.Name: "MethodName" }) ) erişmeye izin verir.
  • Korumalı kayıt ToString: bir kayıt, korumalı ToStringolan bir temel kaydı devralabilir.
  • Artımlı kaynak oluşturucular: Kaynak oluşturma işlem hattını ayırarak ve ara sonuçları önbelleğe alarak büyük projelerde kaynak oluşturma deneyimini geliştirin.
  • Karma dekonstrüksiyonlar: yapısızlaştırma-atamaları ve dekonstrüksiyon-bildirimleri birlikte karıştırılabilir ((existingLocal, var declaredLocal) = expression).
  • Yöntem düzeyi AsyncMethodBuilder: Bir async yöntemi derlemek için kullanılan AsyncMethodBuilder yerel olarak geçersiz kılınabilir.
  • #line span yönergesi: Razor gibi kaynak oluşturucuların hedef aralığı belirten yönergelerle #line çizgi eşlemesinin ayrıntılı denetimine izin verin (#line (startLine, startChar) - (endLine, endChar) charOffset "fileName").
  • Lambda geliştirmeleri: lambdalarda özniteliklere ve dönüş türlerine izin verilir; lambdalar ve yöntem grupları doğal bir temsilci türüne (var f = short () => 1;) sahiptir.
  • İlişkili dize işleyicileri: ilişkilendirilmiş dize işleyici türleri, atamalarda ve çağrılarda ilişkilendirilmiş dizelerin verimli bir şekilde biçimlendirilmelerini sağlar.
  • Dosya kapsamlı ad alanları: Tek bir ad alanına sahip dosyaların fazladan ayraçlara veya girintilere (namespace X.Y.Z;) ihtiyacı yoktur.
  • Parametresiz yapı oluşturucuları: yapı türleri için parametresiz oluşturucuları ve örnek alanı başlatıcılarını destekler.
  • CallerArgumentExpression: Bu öznitelik, bir yönteme dize olarak geçirilen ifadelerin yakalanmasına olanak tanır.

Daha fazla ayrıntı için bkz. C# dili özellik durumu ve hataya neden olan değişiklikler.

Razor (ASP.NET Core) Düzenleyicisi

  • Razor dosyalarında artık Çalışırken Yeniden Yükleme destek vardır.

Razor Dosyalarında Desteği Yeniden Yükleme

  • Razor Düzenleyicisi'nde performansta önemli geliştirmeler yaptık.

  • Biçimlendirmeyi ve girintiyi iyileştirerek daha güvenilir ve önemli ölçüde daha hızlı hale getirdik.

  • Yeni Razor renkleri ekledik! Bu renkleri Araçlar > Seçenekleri > Ortam > Yazı Tipleri ve Renkler'de özelleştirebilirsiniz.

  • TagHelpers artık renklendirilmiştir ve Hızlı Bilgi ve IntelliSense tamamlama araç ipuçlarında sınıflandırma desteğine sahiptir.

TagHelpers Sınıflandırma Desteği

  • Razor yapıları için açılı dal vurgulama ve gezinti özelliklerini iyileştirdik.

  • Açıklamalar artık otomatik tamamlama, akıllı girintileme, açıklama devamlarının otomatik olarak eklenmesi ve açıklama gezintisini engelleme özelliğine sahiptir.

Uzaktan Test Erken Deneysel Önizleme

Linux kapsayıcıları, WSL ve SSH bağlantıları üzerinden uzak ortamlarda testleri çalıştırmayı sağlayan çok erken deneysel bir önizlememiz var! Bu çok değerli bir özellik olsa da, geri bildirim topladığımız için bu özellik hala çok erken deneysel bir durumda olduğu için sabrınızı istiyoruz. Visual Studio'dan bağlı bir ortamı nasıl iletişim kuracağımız ve yönetebileceğimiz konusunda birçok köşe senaryosu olduğunu hayal edebileceğiniz için normalde elde ettiğiniz sorunsuzluğa sahip olmayabilirsiniz. Uzaktan testin bu deneysel sürümünü kullanmaya yönelik bazı gereksinimler şunlardır:

  • Hedef ortamınıza gerekli bağımlılıkları yüklemeniz gerekir. Bu, .NET 3.1'i hedefleyen testlerinizin linux kapsayıcısında çalışmasını istiyorsanız kapsayıcıda Dockerfile aracılığıyla .NET 3.1'in yüklü olduğundan emin olmanız gerektiği anlamına gelir. Bir gün test bağımlılıklarınızdan herhangi birinin sorunsuz bir şekilde edinilmesine olanak tanıyan bir yükleme deneyimi oluşturmak isteriz, ancak şimdilik ortamın sağlanmasının büyük kısmını kullanıcının belirtimine bırakıyoruz.
  • Çıkış-Testler> bölmesi aracılığıyla uzak ortama bağlantı durumunuzu izlemeyi planlayın. Örneğin, kapsayıcı durdurulduysa Çıkış-Testler> bölmesinde bir ileti görüntülenir. Tüm senaryoları algılamayabiliriz, bu nedenle bağlantının kaybedilmiş gibi görünmesi durumunda çıkışınızı denetlemeyi planlayın. Özellikle Çıkış bölmesi "Test" olarak ayarlanmadıysa iletiyi hemen göremeyebilirsiniz. Bağlantılar kaybolduğunda en iyi bildirim modelini denemeye devam ediyoruz, bu nedenle geri bildirim çok hoş! Bağlantı kopmuş gibi görünüyorsa, bağlantıyı yerel ortamınıza geri ayarlamak için Test Gezgini'ndeki uzaktan test ortamı açılan listesini kullanabilir ve ardından bağlantıyı yeniden kurmak için uzak ortamı yeniden seçebilirsiniz.
  • Deneysel önizlemenin kapsamı şimdilik yalnızca .NET testleri olarak belirlenmiştir. C++ uzaktan test deneyimlerini desteklemeye olan ilginin farkındayız ve bunu da eninde sonunda sağlamayı umuyoruz.

Uzaktan testi nasıl deneyebilirim?

  • Deneysel süreden sonra resmi belgeler gelecek. Şimdilik test etmeye başlamak için ihtiyacınız olan şeyler aşağıdadır.
  • Ortamlar çözümünüzün kökünde kullanılarak testenvironments.json belirtilir. json dosya yapısı aşağıdaki şemayı izler:
{
    "version": "1", // value must be 1
    "environments": [
        { "name": "<unique name>", ... },
        ...
    ]
}
  • Yerel kapsayıcı bağlantıları
    • Yerel olarak çalışan bir kapsayıcıya bağlanmak için yerel makinenizde Docker Desktop olmalıdır. İsteğe bağlı olarak, daha iyi performans için WSL2 tümleştirmesini etkinleştirin .
    • Dockerfile için ortam, çözümünüzün kökünde belirtilebilir testEnvironments.json :
          {
          "name": "<name>",
          "localRoot": "<path to local environment>", // optional
          "type": "docker",
          "dockerImage": "<docker image tag>",
          }
      
      Örnek:
      {
      "version": "1",
      "environments": [
          {
          "name": "linux dotnet-core-sdk-3.1",
          "type": "docker",
          "dockerImage": "testenv"
          }
      ]
      }
      
    • .NET 3.1'i hedefleyen testleri çalıştırmak için bir Dockerfile örneği aşağıda verilmiştir.
      FROM mcr.microsoft.com/dotnet/core/sdk:3.1
      
    • Kapsayıcınızı aşağıdaki komutu (sonundaki "." dahil) kullanarak oluşturun: docker build -t <docker image name> -f <path to Dockerfile> .
  • Yerel WSL2 bağlantıları
    • Yerel makinenizde WSL2 tümleştirmesini etkinleştirmeniz gerekir.
    • Ortam, çözümünüzün kökünde şu şemayı izleyerek belirtilebilir testEnvironments.json :
      {
      "version": "1",
      "environments": [
          {
          "name": "WSL-Ubuntu",
          "type": "wsl",
          "wslDistribution": "Ubuntu"
          }
      ]
      }
      
  • SSH bağlantıları
    • SSH bağlantıları eklemek veya kaldırmak için Araçlar > Seçenekler > Platformlar > Arası Bağlantı Yöneticisi gidin. "Ekle" seçeneğini belirlediğinizde konak adını, bağlantı noktasını ve ihtiyacınız olan tüm kimlik bilgilerini girebilirsiniz.
    • Ortam, çözümünüzün kökünde aşağıdakilerle belirtilebilir testEnvironments.json :
      {
      "version": "1",
      "environments": [
          {
          "name": "ssh-remote",
          "type": "ssh",
          "remoteUri": "ssh://user@hostname:22"
          }
      ]
      }
      
  • Etkin ortam, Test Gezgini araç çubuğundaki bir açılan listeyle seçilir. Şu anda bir kerede yalnızca bir test ortamı etkin olabilir.

Test Gezgini'nde uzaktan test ortamı açılan listesi

  • Ortam seçildikten sonra testler bulunur ve yeni ortamda çalıştırılır.

Testler uzak ortamlarda bulunur ve yürütülür

  • Artık testlerinizi uzak ortamda çalıştırabilir ve hatalarını ayıklayabilirsiniz!

    Test gezgininde uzak ortamdan test sonuçlarını görüntüleme

  • Test Gezgini bazı eksik ortam önkoşullarını yüklemenizi ve bunları yüklemeyi denemenizi isteyebilir, ancak sonuçta uzak ortamın sağlanmasının büyük bölümünü kullanıcının belirtimine bırakıyoruz.

Test Gezgini'nde Çalışırken Yeniden Yükleme [deneysel]: Arka planda Çalışırken Yeniden Yükleme teknolojisini kullanarak test deneyiminizi hızlandıran yeni bir deneysel özelliği denemek artık mümkündür. Bunun anlamı, tam derlemenin hala gerekli olduğu ilk test çalıştırmanızdan sonra küçük değişiklikler yapabileceğiniz, testlerinizi çalıştırabileceğiniz ve tüm bu güncelleştirmelerin yeniden tam derleme yapmak zorunda kalmadan yansıtılacağıdır. Başlamak ve daha fazla uyarı öğrenmek için aşağıdaki ayrıntılara bakın:

Visual Studio'da Test Gezgini için sık erişimli yeniden yükleme, küçük düzenlemeler arasında derleme gerektirmeden testleri çalıştırmanızı sağlar

  • Bu deneyim yalnızca .NET 6'ya yönelik projeler için kullanılabilir ve 'Araçlar > Seçenekler > Testi' seçeneğine giderek kabul etmeniz gerekir

Araçlar > Seçenekler > Testi'nde sık erişimli yeniden yüklemeyi etkinleştir seçeneğini gösteren Visual Studio'nun ekran görüntüsü.

  • Bu seçenek etkinleştirildiğinde, düzenleyicide kaydedilmemiş değişikliklerle bile testleriniz güncelleştirilir. Oluşturmuyoruz, bu nedenle bin klasörünüzdeki diskinizde bulunan ikili dosyalar eski. Bu, disktekiyle Visual Studio'daki test sonuçlarınız arasında tutarsızlıklar görebileceğiniz anlamına gelir. Bunları çözmek için ve iade etmeden önce ile tam derleme yaptığınızdan emin olun (Ctrl+Shift+B). Açık derlemeler, sık erişimli yeniden yükleme testi sonuçlarını normal tam derleme test sonuçlarıyla değiştirir.

  • Sık erişimli yeniden yüklemenin alabildiği bazı düzenleme türleri vardır ve bu gibi durumlarda, varsayılan olarak tam derleme yapma eski davranışına geri döner. Yalnızca Visual Studio'daki değişikliklerin izlendiğini, düzenleyicide hedefleri değiştirme gibi opak durumların varsayılan olarak tam derleme gerektirmeye geri dönebileceğini de unutmayın.

  • Bazı büyük değişiklikler (1000'den fazla yöntem adını yeniden adlandırmak gibi) sık erişimli yeniden yükleme yalnızca yeniden oluşturmaktan daha uzun sürebilir. Böyle durumlarda, kullanıcılardan sık erişimli yeniden yüklemeyi beklemek yerine tam yeniden derleme yapmalarını isteyen bir ileti çıktıya yazdırılır.

  • Test Gezgini'nde çalışırken yeniden yükleme ile yığın izlemeleri henüz kullanılamıyor. Yığın izlemesini kullanmanız gerekiyorsa tam derleme yapmanızı öneririz.

Test araçları

  • Test Gezgini'nde Göster (Ctrl+E,S): Test Gezgini'nde Göster, imlecinizin düzenleyicideki bir test yönteminde bulunduğu yerden testin Test Gezgini'nde bulunduğu yere atlayabilme özelliğidir. Bu, şu anda çalışmakta olduğunuz belgenin Çözüm Gezgini vurgulanmış olarak kalmasını sağlayan Etkin Belgeyle Eşitle adlı benzer bir özelliği anımsatabilir. Bu, Geliştirici topluluğunda en çok oy alan öğelerden biriydi, bu nedenle oy veren ve bu özelliği önceliklendirmemize yardımcı olan herkese teşekkür ederiz! Test Gezgini'nde göster seçeneği düzenleyici sağ tıklama menüsünden, CodeLens test karakterinden ve Çözüm Gezgini sağ tıklamadan da kullanılabilir.

    Sağ tıklama menüsünden Test Gezgini'ndegöster CodeLens'ten Test Gezgini'nde göster

  • Web Yük Testi ve Kodlanmış UI Testi destek güncelleştirmesi: Web Yük testi kaydedicisi Visual Studio 2022'de kullanılabilir. Kodlanmış UI Test kaydedicisi Visual Studio 2022'ye dahil edilmeyecektir. Visual Studio 2022'de kod yazarak Kodlanmış UI testlerini çalıştırmaya ve yeni testler oluşturmaya devam edebilirsiniz, ancak kaydedici bağlantı noktası için uygun olmayan 32 bit bağımlılıkları temel alır. Kodlanmış UI kaydedicisini kullanmak için Visual Studio 2019'u yan yana yüklemeye devam edebilirsiniz. Web Yük Testi ve Kodlanmış UI Testi 2019'da kullanım dışı bırakıldı ve kullanıcılara olan etkiyi en aza indirdiğimizde bunları üründen kaldırmayı planlıyoruz. Yeni platformlar arası ve açık kaynak web testi çerçevesi Playwright'ı benimsemeleri için web kullanıcı arabirimi testiyle ilgilenen kullanıcıları kesinlikle teşvik ediyoruz. Playwright, tüm ana tarayıcıları desteklemeye ve zaman uyumsuz kodun çok daha iyi işlenmesine ek olarak yerleşik test kaydı işlevine de sahiptir.

Güvenilen Konumlar

  • "Güven Ayarları" yenilemesinin bir parçası olarak "Web işareti" denetimini kaldırdık ve daha önce güvenilmeyen kodu (dosyalar, projeler veya klasörler gibi) açmaya çalışırken görüntülenen bir uyarı iletişim kutusu ekledik
  • Koda artık geçerli klasör veya üst klasör konumunda güvenilebilir
  • Kullanıcı tarafından oluşturulan projeler otomatik olarak kullanıcının güvenilen konumlar listesine eklenir
  • Visual Studio işlevselliği tarafından oluşturulan geçici konumlar için güven denetimlerini atlayabilirsiniz

İçerik (çözüm, proje, dosya veya klasör gibi) IDE içinde açılmadan önce klasör konumuna daha önce güvenilip güvenilmediğini doğrularız.

Güvenilmeyen kod algılanırsa, sizi güvenlik etkileri konusunda uyaran ve normal IDE işleminden önce koda güvenmenizi isteyen bir uyarı iletişim kutusu gösteririz.

Not: Bu özellik şu anda varsayılan olarak kapalı olsa da, içerik açmadan önce Seçenekler > Güven Ayarları > Güven kararı alma yoluyla etkinleştirilebilir

Dış Kaynaklar Düğümü güncelleştirmeleri

Çözüm gezginindeki Dış Kaynaklar düğümünde artık C++ desteği de vardır. Ayrıca, sembollere sahip tüm modüllerin henüz yüklenmediğini gösteren yeni bir alt düğüm ekledik.

Çözüm gezginindeki Dış Kaynaklar düğümü C++ desteği sunuyor

Modüllerin dış kaynak düğümlerinde görünmesi için simgeleri doğrudan çözüm gezgininden yüklemek için sağ tıklama bağlam menüsünü de kullanabilirsiniz. Dış Kaynaklar düğümündeki dosyalar da alfabetik olarak sıralanır.

Dış Kaynaklar menüsü

Güncelleştirilmiş ve yenilenen simgeografi

  • Visual Studio 2022 kullanıcı arabirimini yenileme hedefimiz kapsamında, tutarlılık, okunabilirlik ve tanıdıklık temelinde IDE genelinde yenilenen ve güncelleştirilen simgeler bulacaksınız.

Koyu ve açık arka planlı yeni simge örnekleri

XAML Çalışırken Yeniden Yükleme

XAML Çalışırken Yeniden Yükleme ayarlarını ve uygulama içi araç çubuklarını, ayarların ve uygulama deneyimlerinin .NET Çalışırken Yeniden Yükleme değil XAML Çalışırken Yeniden Yükleme ile ilgili olduğunu netleştirmek için güncelleştirdik.

XAML uygulamalarında uygulama içi araç çubuğu güncelleştirildi

Ortak seçenekleri birlikte daha iyi düzenlemek için ayarlar bölmesini de kolaylaştırdık.

Güncelleştirilmiş XAML Ayarları seçenekler paneli

XAML Canlı Önizleme

XAML Live Preview artık uygulamalarını Android Öykünücüsü'nde veya UWP masaüstü uygulaması olarak çalıştıran WPF, UWP, WinUI ve Xamarin.Forms geliştiricileri için kullanılabilir. Live Preview, çalışan bir uygulama kullanıcı arabirimini yakalar ve Visual Studio'da yerleşik bir pencereye getirir. Bu, XAML Çalışırken Yeniden Yükleme kullanarak bu değişiklikleri Visual Studio'nun içinde görürken çalışan uygulama ile Visual Studio arasında ileri ve geri sekme tuşuyla canlı XAML kodu değişiklikleri yapmaya gerek kalmadan uygulamayı değiştirmeyi kolaylaştırır.

XAML Masaüstü Uygulamaları Kullanıcı Arabiriminin Canlı Önizlemesi

Başlamak için:

  • Hata ayıklayıcısını kullanarak desteklenen bir uygulamayı başlatma
  • "XAML Live Preview" yazarak veya uygulama içi araç çubuklarını "XAML Live Preview'da Göster" düğmesini kullanarak hızlı arama yaparak XAML Live Preview'ı açın

Deneyim başlatıldıktan sonra aşağıdaki özellikler kullanılabilir olacaktır:

  • Kaydırma ve Yakınlaştırma: Uygulama kullanıcı arabiriminizi yakalayan pencereyi kaydırabilir ve yakınlaştırabilirsiniz. Bu, uygulamanın tamamını veya yalnızca düzenlemeye çalıştığınız bölümleri göstermek için gereksinimlerinize uygun hale getirmenizi sağlar. Kaydırma ve kaydırma bir dokunmatik tuş takımı (iki parmağınızla kaydırma), fare kaydırma tekerleği veya CTRL + Tıklama ile çalışır.
  • Cetveller: Çalışan uygulamanızı kaplamak için bir veya daha fazla yatay/dikey cetvel ekleyebilirsiniz. Bu çizgiler daha sonra fare veya klavye kullanılarak konumlandırılabilir. Cetvelleri klavyeyle taşırken, hassas konumlandırma için ok tuşlarını ve hızlı konumlandırma için Ctrl + ok tuşlarını kullanın. Cetvelleri seçip (üzerine tıklayarak) ve delete tuşuna basarak da silebilirsiniz.
  • Öğe Seçimi & bilgi ipuçları: Öğe seçimiyle, Canlı Görsel Ağaç veya uygulama içi araç çubuğundan alışkın olabileceğiniz özelliği kullanarak düzenlemek istediğiniz XAML öğesini seçebilirsiniz. Seçildikten sonra, seçilen öğe hakkında yazı tipleri, renkler, kenar boşluğu/doldurma bilgileri ve daha fazlası gibi ek bilgiler almak için yeni 'bilgi ipuçları' özelliğini de etkinleştirebilirsiniz. Öğe Seçimi'ni kullanırken, Kaynak XAML'ye gitmek için Canlı Görsel Ağaç araç çubuğu düğmesi veya Hata Ayıklama > Seçenekleri > Çalışırken Yeniden Yükleme ayarları aracılığıyla Seçili Öğeyi Önizle özelliğini etkinleştirmeyi göz önünde bulundurun.
  • Windows Geçişi: Hangi uygulama pencerelerinizin yakalandığını denetleyebilirsiniz.

Geliştirilmiş XAML bağlama deneyimi

  • Özellik Denetçisi'nde geliştirilmiş veri bağlama simgeleri. Artık bir özelliğin yanındaki "silindir" simgesine tıklayarak Veri Bağlama İletişim Kutusu'na hızla erişebilir ve 'x' simgesine tıklayarak bağlamayı temizleyebilirsiniz.

Özellik Denetçisi'nde bağlama simgeleri

  • XAML tasarımcısından yalnızca birkaç tıklamayla bağlama oluşturabilmeniz için Hızlı Eylemler'e Bağlama sekmesi eklendi.

Hızlı Eylemler'de Bağlama sekmesi

  • Yolda özelliği seçmek için Veri Bağlama İletişim Kutusuna Hedef Özellik birleşik giriş kutusu eklendi.

Hedef Özelliği ile Güncelleştirilmiş Veri Bağlama İletişim Kutusu birleşik giriş kutusu

Geliştirici Topluluğu En Çok Oy Alan Sorunlar

Lütfen bu sürümdeki Geliştirici Topluluğu düzeltmelerin tam listesine bakın.


Bilinen Sorunlar

Aşağıdaki bağlantıyı izleyerek Visual Studio 2022'deki tüm açık sorunlara ve kullanılabilir geçici çözümlere bakın.


Görüş ve öneriler

Görüşlerinizi almaktan mutluluk duyarız! Yükleyicinin veya Visual Studio IDE'nin sağ üst köşesindeki Geri Bildirim Gönder simgesini kullanarak ya da Geri Bildirim Gönderme Yardımı'ndan >Bir Sorun Bildirebilir veya ÖzellikGeri Bildirim Simgesi Önerebilirsiniz. Yorum eklediğiniz veya çözüm bulabileceğiniz Visual Studio Geliştirici Topluluğu kullanarak sorunlarınızı izleyebilirsiniz. Ayrıca Canlı Sohbet desteğimizden ücretsiz yükleme yardımı alabilirsiniz.


Bloglar

Tüm yeni yayınlar hakkında güncel bilgi sunan ve çok çeşitli özellikler hakkında derinlemesine bilgiler içeren Geliştirici Araçları Blogları sitesinde mevcut olan içgörü ve önerilerden yararlanın.


Sayfanın Başı