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

Visual Studio 2022 sürüm 17.0 desteği Temmuz 2023'te sona erdi. Bu, bu sürüm için daha fazla güvenlik güncelleştirmesi olmayacağı anlamına gelir. Visual Studio 2022 17.0 LTSC kanalını kullanan Enterprise ve Professional abonelerinin en son Güncel kanalı veya LTSC sürümünü benimsemesi gerekir.

Visual Studio 2022 sürümleri ve destek tarihleri hakkında bilgi edinin.

Visual Studio Ürün Yaşam Döngüsü ve Bakım hakkında bilgi edinin.

Visual Studio 2022 ürünlerinin en güncel sürümlerinin bağlantılarına 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şunuz genelinde dağıtma yönergelerini içerir.

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.23 Visual Studio 2022 sürüm 17.0.23

yayın tarihi: 11 Temmuz 2023

17.0.23'ün bu sürümünde giderilen Sorunlar

  • Microsoft, SmtpClient sınıfında SMTP adresi ekleme olasılığının bulunduğu bir güvenlik açığının farkındadır. Bu, CVE-2022-26893'e karşılık gelir (güvenlik açığı orta düzeyde değerlendirildiğinden yayımlanmış bir CVE değildir).

Ele Alınan Güvenlik Önerileri


17.0.22 Visual Studio 2022 sürüm 17.0.22

yayın tarihi: 13 Haziran 2023

17.0.22'nin bu sürümünde giderilen Sorunlar

  • Microsoft, SmtpClient sınıfında SMTP adresi ekleme olasılığının bulunduğu bir güvenlik açığının farkındadır. Bu, CVE-2022-26893'e karşılık gelir (güvenlik açığı orta düzeyde değerlendirildiğinden yayımlanmış bir CVE değildir).

Ele Alınan Güvenlik Önerileri


17.0.21 Visual Studio 2022 sürüm 17.0.21

yayın tarihi: 11 Nisan 2023

17.0.21'in bu sürümünde giderilen Sorunlar

  • Çekirdek modu sürücüleri için PGO eğitimi sırasında kullanılan sürücüye geçersiz giriş gönderildiğinde oluşan kilitlenmeyi düzeltir.
  • IIS Express'te telemetri verilerini güncelleştirirken kilitlenmeye neden olabilen bir sorun düzeltildi.
  • Microsoft, SmtpClient sınıfında SMTP adresi ekleme olasılığının bulunduğu bir güvenlik açığının farkındadır. Bu, CVE-2022-26893'e karşılık gelir (güvenlik açığı orta düzeyde değerlendirildiğinden yayımlanmış bir CVE değildir).

Geliştirici Topluluğu

Ele Alınan Güvenlik Önerileri


17.0.20 Visual Studio 2022 sürüm 17.0.20

yayın tarihi: 14 Mart 2023

17.0.20'nin bu sürümünde giderilen Sorunlar

  • Microsoft, SmtpClient sınıfında SMTP adresi ekleme olasılığının bulunduğu bir güvenlik açığının farkındadır. Bu, CVE-2022-26893'e karşılık gelir (güvenlik açığı orta düzeyde değerlendirildiğinden yayımlanmış bir CVE değildir).
  • Git 2.39, credential.helper değerini "manager-core" olan değerini "manager" olarak yeniden adlandırdı. Daha fazla bilgi edinmek için bkz. https://aka.ms/gcm/rename.
  • CVE-2023-22490'ı ele alan v2.39.2 için Windows için mingit ve Git paketi güncelleştirmeleri

Ele Alınan Güvenlik Önerileri


17.0.19 Visual Studio 2022 sürüm 17.0.19

yayın tarihi: 14 Şubat 2023

17.0.19'un bu sürümünde giderilen Sorunlar

  • CPython yorumlayıcısı 3.9.13 sürümüne güncelleştirildi.
  • CVE-2022-41903'e yönelik v2.39.1.1 için mingit ve Git paketi güncelleştirmeleri

Ele Alınan Güvenlik Önerileri

17.0.18 Visual Studio 2022 sürüm 17.0.18

yayın tarihi: 10 Ocak 2023

Ele Alınan Güvenlik Önerileri

  • CVE-2023-21538 .NET Hizmet Reddi Güvenlik Açığı .NET 6.0'da kötü amaçlı bir istemcinin yığın taşmasına neden olabileceği ve saldırgan kullanıma sunulan uç noktaya geçersiz istek gönderdiğinde hizmet reddi saldırısına neden olabilen bir hizmet reddi güvenlik açığı bulunmaktadır.

17.0.17 Visual Studio 2022 sürüm 17.0.17

yayın tarihi: 13 Aralık 2022

Ele Alınan Güvenlik Önerileri

  • CVE-2022-41089 Uzaktan Kod Yürütme .NET Core 3.1, .NET 6.0 ve .NET 7.0'da bir uzaktan kod yürütme güvenlik açığı vardır ve kötü amaçlı bir aktör, kötü amaçlı olarak hazırlanmış XPS dosyalarını ayrıştırma sonucunda kullanıcının rastgele kod çalıştırmasına neden olabilir.

17.0.16 Visual Studio 2022 sürüm 17.0.16

yayın tarihi: 8 Kasım 2022

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

Ele Alınan Güvenlik Önerileri


17.0.15 Visual Studio 2022 sürüm 17.0.15

yayın tarihi: 11 Ekim 2022

17.0.15'in bu sürümünde giderilen Sorunlar

  • Yöneticiler, VS'yi güncelleştirmeden çevrimdışı istemci makinesindeki VS Yükleyicisini bir düzenden güncelleştirebilecek.

Ele Alınan Güvenlik Önerileri


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

Ele Alınan Güvenlik Önerileri

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


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.
  • MinGit'i CVE - CVE-2022-29187 (mitre.org) ile ilgili olarak sürüm 2.37.1.1'e güncelleştirir. Bu güncelleştirmeler, 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 kaldıklarını gösterir.
  • Cve-2022-31012'yi ele almak üzere Windows için Git'i v2.37.1.1'e güncelleştirir.

Ele Alınan Güvenlik Önerileri


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şikliklere uyum sağlamak için güncelleştirildi
  • Belge açılırken metin düzenleyicisinin boş olması veya yazarken kilitlenmesi sorunu düzeltildi.

Ele Alınan Güvenlik Önerileri


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ı sürüm 14.29.30145.00 olarak 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

Ele Alınan Güvenlik Önerileri


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ü ve yüklenebilir isteğe bağlı bileşen 2.36.0.1 sürümüne güncelleştirildi
  • Git tümleştirmesi ile ilgili, ayrılan dalları çekerken/eşitlerken çıkış penceresinin çözümlenmesiyle ilgili yerelleştirilmiş bir ipucu göstermemesi sorunu düzeltildi.
  • Visual Studio'da bir Git deposu açılırken, çıkış penceresinde hatanın neden oluştuğu ve nasıl giderileceği yerine "Bir veya daha fazla hata oluştu" hatasının gösterildiği bir sorun düzeltildi.
  • Daytona'da webview2 temeli güncelleştirildi

Geliştirici Topluluğu’ndan

Ele Alınan Güvenlik Önerileri

[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'de 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" raporları veya işlem çıkışı sırasında kilitlenmeyle karşılaşabileceği başka bir ASAN sorunu düzeltildi.
  • 'Visual Studio için çevrimdışı bir makineye uzantı (vsix) yüklenemedi" sorunu düzeltildi.

17.0.8 Visual Studio 2022 sürüm 17.0.8

yayın tarihi: 12 Nisan 2022

17.0.8 sürümünün bu sürümünde giderilen Sorunlar

  • İlişkili test yürütmeleri tamamlandığında bile test yürütme için bazı animasyonların arka planda çalışmasına neden olan bir sorun düzeltildi. Bu, özellikle yüksek yenileme hızı izleyicilerinde fark edilen yavaşlamalara neden olur. Düzeltme, yüksek yenileme hızı izleyicilerinde VS kullanma deneyimini geliştirmelidir.
  • TFVC kullanırken Visual Studio'nun uzun bir süre (bir saatten fazla) askıda kalma/donma sorunu çözüldü.
  • Kullanılmayan kanalı kaldırmak için yükleyici komut satırı eklendi.

Geliştirici Topluluğu’ndan

Ele Alınan Güvenlik Önerileri

CVE-2022-24765 Ayrıcalıkların yükseltilmesi güvenlik açığı Windows için Git'te git işlemlerinin git dizini için kullanılırken depo dışında çalıştırılabildiği olası bir ayrıcalık yükseltme güvenlik açığı bulunmaktadı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çığı Windows için Git yükleyicisinde, kaldırıcıyı SYSTEM kullanıcı hesabı altında çalıştırırken olası bir DLL ele geçirme güvenlik açığı bulunmaktadır. 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ı bir 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ı izleyicilerinde 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.

Ele Alınan Güvenlik Önerileri

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ı bulunan uzaktan kod yürütme güvenlik açığı bulunmaktadır.

CVE-2022-24464 Güvenlik Açığı.NET 6.0, .NET 5.0 ve .NET CORE 3.1'de belirli http formu isteği türlerini ayrıştırırken bir 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 bir 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

  • Kanal meta verilerini düzgün kaydedecek şekilde Visual Studio yükleyicisi güncelleştirildi.
  • Yükleme veya güncelleştirme için Visual Studio Yükleyicisi Bültenler yayımlandı.
  • Güncelleştirme Ayarları iletişim kutusuna LTSC kanalı son kullanma tarihleri hakkında bilgi eklendi.
  • Güncelleştirmelerin kaynak konumunu, güncelleştirmenin gerçekleştirilmesinden bağımsız olarak program aracılığıyla değiştirme özelliği eklendi. Bu, BT yöneticilerinin güncelleştirme kanalını program aracılığıyla değiştirmesine olanak tanır.
  • GitHub hesap ekleme deneyimi, başarı oranını artırmak için güncelleştirildi.

Ele Alınan Güvenlik Önerileri

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şturma'nın başarısız olmasına neden olan geçici meta veriler içeren bir ikiliyi izleme sırasında VSInstr'in çıkmadığı zaman zaman ele alınan örnek.
  • İkili dosyayla birlikte PDB oluşturulurken link.exe zaman zaman kilitlenmesi veya kilitlenmesi sorunları düzeltildi.
  • C++ Eşzamanlılığı::p arallel_for_içindeki ve tamsayı taşması nedeniyle çağrı işlemini kilitleyen bir hata düzeltildi.
  • C++20 ve C++Latest dil modları altında ATL'nin CString karşılaştırmalarındaki bir hata düzeltildi.
  • Çok sayıda pogo sondası 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 en iyi duruma getirilmesinin 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 açıklardan 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 etkileyene kadar çift yönlü metin denetimi karakterleri kodda bulunmaya devam eder.

Çift yönlü metin denetimi karakterlerinin yer tutucularla değiştirilip değiştirilmemesiyle VS

Bu işlev Araçlar\Seçenekler'de denetlendi. Metin Düzenleyicisi\Genel sayfasının altında varsayılan olarak denetlenecek olan "Çift yönlü metin denetimi 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 denetimi 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.
  • Project 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 yazmanı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.

Ele Alınan Güvenlik Önerileri

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 verebilen ANCM'de ayrıcalıkların yükseltilmesi güvenlik açığı bulunmaktadır.

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 sürümünün bu sürümünde giderilen sorunlar

  • Çakışan verilerle memmove benzeri işlemler ile sessiz-kötü kod oluşturma 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şlatmayı bitirmesi bekleniyor..."
  • Veri üyesi başlatıcılarıyla sınıf hiyerarşisinde yer alan şablonlu bir yıkıcının çok erken örneklenmesi ve tanımlanmamış türlerin veya diğer hataların kullanımı hakkında 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.
  • Windows 11'de müşterilerin Windows Terminali'ni varsayılan olarak ayarlaması ve hata ayıklayıcının bir konsol uygulamasında hata ayıklamayı düzgün bir şekilde durdurup gelecekteki başlatmaları engelleyememe sorununu 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 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: 08 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ılan yeni Azure Bulut Hizmeti (klasik) projeleri desteklenmez. Önerilen değişiklik Azure Bulut Hizmeti (genişletilmiş destek) projeleridir.
  • 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 seçeneğini 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.
  • P1689r4'te açıklandığı gibi CMake projeleri için C++20 modül bağımlılıklarının çıkışı için bayrağı uygulandı./scanDependencies 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. Nelerin kullanılabildiğini öğrenmek 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ılandı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üller ve Üst Bilgi Birimlerindeki 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ı iyileştirildi ve kodunuz 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. Daha fazla ayrıntı için belgelere bakın.
  • Kod çözümleme araçlarımızda null işaretçi başvuru kaldırma algılamasını geliştirdik.
  • Kod analizi artık ek açıklama ekleyen _Check_return_ veya _Must_inspect_result_ denetlenmesi gereken işlevlerin değerlerini döndürmeyi zorunlu kılacak.
  • Kod analizi için gsl::not_null desteği 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ılmıştır. C++ projesine amp.h'yi> dahil <etmek derleme hataları oluşturur. Hataları susturmak için 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 ve Tanılama

  • İş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
  • Yalnızca başka bir kesme noktasına ilk isabet edildiğinde etkinleştirilmek üzere bir kesme noktası yapılandırmanıza olanak tanıyan Bağımlı Kesme Noktası adlı yeni bir kesme noktası türü yayımladık.
  • Extrenal Sources düğümüne daha fazla güncelleştirme ekledik. Artık modülü "Kaynak içermeyen 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'da 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örüne VSSDK\VisualStudioIntegration\Common\Assemblies yüklenmez. Derlemeniz bu derlemeleri kullanıyorsa, bunun yerine projenizi NuGet paketlerini kullanacak şekilde geçirin. Çevrimdışı senaryolar için:
    1. Nuget paketlerinin geri yükleneceği bir kuruluş içi 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ı

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 NPM modüllerini Nuget paketlerini indirdiğiniz gibi indirebilirsiniz

.NET 6 SDK

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

.NET Üretkenliği

  • Parametre yeniden düzenlemesi ekleme yöntemi uygulamasından çağıranlara 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ı koruyor
  • 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 gitmeyecektir.
  • ad alanlarını Çözüm Gezgini klasör yapınızla eşleşecek şekilde eşitleme
  • Çözüm Gezgini'den 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
  • Derlenmiş kaynaklara gitme 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 bir 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

  • Azaltılmış kullanıcı arabirimi donuyor ve çözüm başlatma performansı iyileştirildi
  • Bazı çözümlerde 2 kata kadar daha hızlı semantik renklendirme
  • Razor dosyalarında F7 (kodu görüntüleme) desteği
  • Sekme-sekme tuşuna basmak yerine tek bir sekmeyle kod parçacığı oturumunun tamamlanacağı razor dosyalarında kod parçacığı desteği
  • İç içe HTML ve Razor Bileşenleri olduğunda bloklarda @code daha iyi biçimlendirme
  • Razor dosyalarında Çalışırken Yeniden Yükleme desteği
  • Performans iyileştirmeleri
  • Biçimlendirme ve girinti geliştirmeleri
  • Yeni Razor düzenleyicisi 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 devamlılıklarının otomatik olarak eklenmesi ve açıklama gezintisini engelleme özelliği vardır

Uzaktan Test

  • Linux kapsayıcıları, WSL ve SSH bağlantıları gibi uzak ortamlarda testleri çalıştırmayı sağlayan deneysel önizleme.

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 özel ö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 kullanımının çok düşük olduğunu görüyoruz ve sıralı testler artık en iyi test yöntemlerine aykırı olarak kabul ediliyor.
  • Yeni TestSettings dosyaları ve TestSettings düzenleyicisi oluşturma dahil olmak üzere bazı test deneyimleri 17.0 sürümünde 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çirmesini ö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 hizmeti kullanım ömrü sonu | Azure DevOps Blogu (microsoft.com) 2019'da resmi olarak kullanım dışı bırakılmıştır. Kullanıcılar üzerindeki etkiyi 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österilmesini istedikleri türleri SdkManifest.xml dosyasında listeleyerek açıkça bildirmesi gerekir. Visual Studio'nun eski sürümlerinin davranışı değişmemiştir; bildirimdeki denetimlerin 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 IDE içinde güvenilmeyen kod (dosyalar, projeler veya klasörler gibi) 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üvenilen listeye 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ını sağlama 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ı

  • Yayımla özet sayfasında artık '...' altında uzaktan hata ayıklama ve profil oluşturmayı başlatma /durdurma eylemleri vardır 'Hosting' bölümünün sağ üst köşesindeki menü
  • Bağlı Hizmetler sayfasında artık Depolama Gezgini başlatmak için bir eylem vardır
  • .NET 6 ile birlikte gelen "ASP.NET Çekirdek 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 yeni bir .NET Framework WPF XAML Tasarımcısı ile değiştirilir. Visual Studio deneyimi aynı görünür, 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 küçük değişiklikler

XAML Canlı Önizleme

  • XAML Live Preview artık uygulamalarını Android Emulator'da 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 uygulamalar kullanıcı arabirimini yakalar ve Visual Studio'da yerleşik bir pencereye getirir. Bu, XAML Çalışırken Yeniden Yükleme kullanarak canlı XAML kodu değişiklikleri yaparken çalışan uygulama ile Visual Studio arasında gidip gelmek zorunda kalmadan bu değişiklikleri Visual Studio'nun içinde görürken uygulamayı değiştirmeyi kolaylaştırır.

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

XAML Örnek Verileri

  • Tasarım Zamanı Örnek Verileri artık WPF uygulamalarında araç kutusundan DataGrid, ListBox ve ListView denetimleri oluşturulurken varsayılan olarak eklenecektir. Bu davranışı devre dışı bırakmak için Araçlar - Seçenekler ->> XAML Tasarımcısı'nın altında "Öğe oluşturmaya ö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 ve 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 iyileş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 ve Tanılama

  • İş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.
    • Klavyede sol tuşa basma ü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ın özel durum oluşturmasına neden olduğunda ve adım bir catch 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 İşleyici güncelleştirmeleri

  • 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 farenin üzerine gelindiğinde bir kod satırının yanında görünen yeşil karaktere tıklayarak "Çalıştırmayı Tıklamaya Zorla"yı 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 en çok CPU kaynağı tüketen bölümlerini bulun.
    • 0. Nesil, 1, 2 ve Büyük Nesne Yığını'nda 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ümleyicisi'ni kullanabilirsiniz.
    • Bellek analizinin önemli olduğu anlarda Sonlandırıcı kuyruk çözümleyicisinin buluşsal yöntemleri geliştirildi. Şimdi kodunuz üzerinde 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 edilirse Bağımlı kesme noktasında duraklatır. Ayarlar penceresinden "Yalnızca izleme 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ıklayarak seçenekler içeren yeni bağlam menüsü sunulur; daha az tıklamayla ileri 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ıklarken, 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 vurduktan 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ı oluğundaki 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 kesme noktasını bir konumdan diğerine taşımak için istediğiniz kod satırında serbest bırakabilirsiniz. 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'da 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 Kaynak Bağlantısı bilgilerini içeren sembollerin yüklendiği yönetilen modüllerin kaynaklarını gösterir. Hata ayıklama sırasında, Kaynak Sunucu bilgileri bulunan yüklü tüm yönetilen simge dosyaları (.pdb) bu düğümün altında görünür. Diğer herhangi bir çözüm gezgini klasörü gibi dosyalara göz atabilir veya dosyayı Kaynak Sunucudan indirip VS Düzenleyicisi'nde açmak için bir öğeye çift tıklayabilirsiniz. Çö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 kutusundan yeni "Masaüstünden herhangi bir pencere 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şiselleş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 ve Pencereler'e gidin ve Sekmeleri Renklendir'i etkinleştirin.

Renk sekmeleri

Editör

Alt kelime gezintisi

Ctrl+Alt+Sol Ok ve Ctrl+Alt+Sağ Ok tuşları artık alt kelimeyle gezinecek. Örneğin, "HelloWorld" dizesi "Hello" ve "World" değerlerini alt kelime olarak tanımlar. Araçlar Seçenekleri Metin Düzenleyicisi > Genel'de Alt 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 kaydetme

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 (başka bir pencere odağı alır), 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 giriş 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 giriş tuşunu 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, metni birden çok seçimde 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ıklama tuşlarını kullanın. Son olarak, her satırı kendi giriş 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ı veya Alt+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ştur. Şimdi, kutu seçimi birden çok giriş karakterine dönüşür. Bu yöntem, tek tek giriş ekleri eklemek için hassas konumlara tıklamaktan daha kolay ve hızlıdır. Çoklu şapka işareti seçimini genişletirken Alt+Shift+ok tuşları ve Alt+Shift+fare sürükleme tuşlarıyla kutu seçimini kullanmaya devam etmek 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, bir 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ışabilmesi 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 ayarlanmasıdır.

  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 hatanın 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 sahip olduğunuz 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ştirebileceksiniz. 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 konu hakkında 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 ve C++ Geliştiricileri için Çalışırken Yeniden Yükleme Deneyimi

Bu yılın başlarında, mümkün olduğunca çok .NET geliştiricisine Çalışırken Yeniden Yükleme getirmek için iddialı bir proje olan .NET Çalışırken Yeniden Yükleme duyurduk. 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ı için ç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 süreyi azaltarak daha üretken çalışmanızı 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 hale getirerek gerçekleştiriyoruz. Bu değişiklikler uygulandıktan sonra, uygulamanın kendisinde bir eylem gerçekleştirerek (veya bir süreölçer aracılığıyla vb.) 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 deneyimi de önemli geliştirmelerden geçmiştir. Araç çubuğu artık gelişmiş görünüm ve daha fazla işleve sahip "Çalışırken Yeniden Yükleme" düğmemizin hedef uygulamasını içerir.

İlk olarak yeni bir simge içeren yeni açılan stil düğmesi göreceksiniz. Komut , "kod değişikliklerini uygula" (erken önizlemelerden) olarak "Ç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 bir kabul etme iki durumlu düğmesi ve yeni ayarlar paneline hızlı erişim gibi özelliklere hızlı erişim sağlar.

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, kaba bir düzenlemenin yeniden derleme yoluyla uygulanması gerekiyorsa artık çalışan uygulamanızı 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 kaydetmeye Ç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ıza uygulanır.
  • 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ştirilmiş 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 çok geliştirme vardır:

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

İletişim kutusu, daha önce mümkün olduğunca 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ışmaları gelecekteki bir güncelleştirmede tamamlanacaktır.

C++ uygulamaları için destek

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 Uygulama Çerçeveleri ve 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 bir ilerleme kaydettik, işte öne çıkanlar.

  • Visual Studio 2022'yi kullanırken ve uygulamanızı hata ayıklayıcısıyla başlatırken temel Çalışırken Yeniden Yükleme deneyimi çoğu .NET uygulaması ve framework sürümüyle çalışır; buna .NET Framework, .NET Core ve .NET 5+ dahildir (hem C# hem de uygulanabilir VB.NET için). Desteklenen uygulamaların türü web (arka planda kod değişiklikleri), masaüstü, mobil, bulut ve diğer proje türleridir. 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 da 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 Çalışırken Yeniden Yükleme desteği ve ASP.NET Core uygulamaları ve CSS Çalışırken Yeniden Yükleme razor dosyalarını düzenleme gibi diğer yeni özellikleri de içerir. Hem Visual Studio 2022'yi hem de .NET 6'yi hedefleyen uygulamaları birlikte kullanmak size kesinlikle en güçlü Çalışırken Yeniden Yükleme deneyimi 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ı kullanılırken .NET uygulamasıyla Visual Studio 2022

Visual Studio 2022'yi 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üyle (arka planda yapılan düzenlemeler için) ç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ıklamasını 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 dahil olmak üzere çoğu .NET 6 uygulaması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 nedeni veya tercihi olduğunu biliyoruz ve bu ek özelliğin onlara başlangıç süresini çok az etkilemeden değer vermesini umuyoruz.

Bu özellik .NET 6+ için özeldir ve .NET 6 'yi (.NET 5 veya üzeri) 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ı kullanmalıdır.

Ayrıca ilk sürümümüzdeki "hata ayıklayıcı yok" senaryosu için tüm proje türlerinin desteklenmeyeceğ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 bir plan yoktur.
  • iOS ve Android'i hedefleyen Xamarin.Forms uygulamaları .NET Çalışırken Yeniden Yükleme desteklemez (uygulamanızı hata ayıklayıcıyla başlatıp başlatmadığınıza bakılmaksızın) ancak XAML Çalışırken Yeniden Yükleme
  • Yakın gelecekte .NET MAUI uygulamaları hata ayıklayıcısı yok senaryolarını desteklemez, ancak hata ayıklayıcı aracılığıyla .NET Çalışırken Yeniden Yükleme destekleyecektir

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'yi hedefleyen uygulamalar üzerinde çalışabilen geliştiriciler, en şık ve yetenekli Çalışırken Yeniden Yükleme deneyiminin avantajlarından yararlanır.

Desteklenen özelliklerin vurguları:

  • Blazor uygulamaları (Sunucu ve WebAssembly*)
  • Hem Blazor hem de normal ASP.NET Core web sitelerinde Razor dosya 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, gelecekteki 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 henüz etkinleştirilmemiş Çalışırken Yeniden Yükleme. Uygulamanızı hata ayıklayıcı olmadan Visual Studio üzerinden başlatırsanız ve bunu gelecekteki bir Visual Studio güncelleştirmesinde çözümlemek için çalışıyorsak yine de Çalışırken Yeniden Yükleme alabilirsiniz.

Desteklenen ASP.NET Temel 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ştirme özelliğidir. Bu özellik, Visual Studio hata ayıklayıcısını kullanırken çalışır ve daha önce kullanılabilir olan Düzenleme ve Devam Et her yerde bulunur.

.NET 6'yı hedefleyen ASP.NET Core geliştiricileri için.NET'in alt sürümleri için kullanılabilir olmayan 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 yenileyecektir. 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 uygulamaları hata ayıklayıcı olmadan başlatırken çalışır. Gelecekteki 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çebilecek ek düzenleme türlerini desteklemek için geliştirmeler yaptık. Geliştirmeler arasında şunlar yer alıyor:

  • Özel Öznitelikleri ekleme, güncelleştirme veya silme
  • Kayıt yapılarını ekleme veya güncelleştirme
  • #line yönergeleri 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ş lambdalar 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 iyileş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 ve Düzenle ve Birden çok işlemle 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 için geçerli olduğunda birçok 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 daha fazla geliştirme 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 ve Çalışırken Yeniden Yükleme ile çalışmak için bu sürümde desteklenmez. 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'i 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 proje veya klasörün (sağ tıklama) menüsünde kullanılabilir ve klasör yapınızla eşleşecek şekilde ad alanlarını kolayca eşitlemenize olanak sağlar.

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

Arka plan kodu çözümleme 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 yeni bir parametre ekleyerek bir ifadeyi yöntem uygulamasından çağıranlara taşıyacak bir parametreyi tanıtan bir yeniden düzenleme vardır. İmlecinizi ifadeyi içeren çizginin üzerine getirin veya ifadeyi vurgulayın. Hızlı Eylemler ve Yeniden Düzenlemeler menüsünü tetikleme 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 seçenek bulunur.

Hızlı Eylemler menüsünden parametreyi tanıtma

  • Belirli değerlerin belirli bir noktada nasıl geçirildiğini ve nereye 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ı çözümlemenize olanak sağlayan Değer İzleme penceresi açılır:

Değer Kaynağı Penceresini İzle

  • 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şkenleri 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ılmak için ü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 Arama

  • XML <kod> etiketleri için Hızlı Bilgi artık boşluk ve CDATA bloklarını koruyor. İ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 görsel kirliliği azaltmaya yardımcı olan çok hedefli projeleri gruplandırır.

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

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

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 pragma #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ına yerleştirmeme seçeneği sunan Dosya kapsamlı ad alanını kullanıma sunuyoruz. Artık bir ad alanını dosya kapsamlı bir ad alanına dönüştürmek için yeniden düzenleme yaptık. Dosya kapsamlı ad alanını kullanmak için önce proje dosyanıza önizleme</LangVersion> öğesini 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 null is object etmek için bir yeniden düzenleme vardır. Bu yeni yeniden düzenlemeyi kullanmak için imlecinizi bir tür denetimine getirin. 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.

Derlenmiş kaynaklara gitme

Varsayılan olarak kitaplık türlerinin bildirimlerine gitmenize izin vererek Şu anda açık durumdaki Derlenmiş Kaynaklar'a gidin. Kaynak kodunuzdaki bir kitaplık simgesinde ve derlenmiş kaynaklarda Tanıma Git'i çağırdığınızda, Derlenmiş Kaynaklar kullanılabilir'e gidin.

Düzenleyici Geliştirmeleri

XML açıklamaları artık bir etiketin içinde otomatik olarak bir <exception> <summary> 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ıklanması, gitmek için seçebileceğiniz devralma seçeneklerini görüntüler. 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ğu'nu Etkinleştir'in seçimini kaldırın.

Devralma Kenar Boşluğu

Programlama Dilleri

C# 10

  • Yapılardaki (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şturuculara hedef yayılma alanını (#line (startLine, startChar) - (endLine, endChar) charOffset "fileName") belirten yönergelerle #line çizgi eşlemesinin ayrıntılı denetimine izin verin.
  • 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çimlendirilmesine olanak sağlar.
  • Dosya kapsamlı ad alanları: Tek bir ad alanına sahip dosyaların ek ayraçlara veya girintiye (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 geliştirdik.

  • Açıklamalarda artık otomatik tamamlama, akıllı girintileme, açıklama devamlarının otomatik olarak eklenmesi ve açıklama gezintisini engelleme yer alır.

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ğundan sabrınızı rica ediyoruz. 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 düzgünlüğü yaşayamayabilirsiniz. Bu deneysel uzaktan test 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'ınız 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ış Testleri> 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 açmak 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 dönemden 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>",
          }
      
      Örneğin:
      {
      "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
      
    • Aşağıdaki komutu (sonundaki "." dahil) kullanarak kapsayıcınızı 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 bu şemadan sonra 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 aynı anda yalnızca bir test ortamı etkin olabilir.

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

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

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

  • Artık uzak ortamda testlerinizi ç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 isteyebilir ve bunları yüklemeye çalışabilir, 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]: Artık arka planda Çalışırken Yeniden Yükleme teknolojisini kullanarak test deneyiminizi hızlandıran yeni bir deneysel özellik deneyebilirsiniz. Bunun anlamı, tam derlemenin hala gerekli olduğu ilk test çalıştırmanızdan sonra küçük değişiklikler yapabilir, testlerinizi çalıştırabilir ve tüm bu güncelleştirmeler yeniden tam derleme yapmak zorunda kalmadan yansıtılır. Başlamak ve daha fazla bilgi edinmek 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, Visual Studio'da diskteki ile 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). Tüm 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şikliklerin (1000'den fazla yöntem adını yeniden adlandırmak gibi) çalışırken yeniden yüklenmesi, 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'ndeki konumuna atlayabilme özelliğidir. Bu, çalışmakta olduğunuz belgeyi Çözüm Gezgini vurgulanmış olarak tutan Etkin Belgeyle Eşitle adlı benzer bir özelliği anımsatabilir. Bu, Geliştirici topluluğunun en çok oy alan öğelerinden biriydi, bu nedenle oy veren ve bu özelliği önceliklendirmemize yardımcı olan herkese teşekkür ederiz! Test Gezgini'nde göster özelliğ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'nde gösterCodeLens'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ıklara dayanı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'nin 2019'da kullanım dışı bırakıldığını ve kullanıcılar üzerindeki etkiyi en aza indirdiğimizde bunları üründen kaldırmayı planlıyoruz. Web kullanıcı arabirimi testiyle ilgilenen kullanıcıların yeni platformlar arası ve açık kaynak web testi çerçevesi Playwright'ı benimsemelerini kesinlikle öneririz. 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östereceğiz.

Not: Bu özellik şu anda varsayılan olarak kapalı olsa da, içerik açmadan önce Seçenekler > Güven Ayarları > Güven kararını değiştirme 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. Buna ek olarak, 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++'ı destekler

Modüllerin dış kaynak düğümlerde görünebilmesi 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 hedefimizin bir parçası olarak, IDE genelinde tutarlılık, okunabilirlik ve tanıdıklık temelinde 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 deneyimlerindeki ayarların .NET Çalışırken Yeniden Yükleme değil XAML Çalışırken Yeniden Yükleme 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 Emulator'da 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 uygulamalar kullanıcı arabirimini yakalar ve Visual Studio'da yerleşik bir pencereye getirir. Bu, XAML Çalışırken Yeniden Yükleme kullanarak canlı XAML kodu değişiklikleri yaparken çalışan uygulama ile Visual Studio arasında gidip gelmek zorunda kalmadan bu değişiklikleri Visual Studio'nun içinde görürken 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ı "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 yüzey (iki parmak kaydırma), fare kaydırma tekerleği veya CTRL + Tıklama ile birlikte çalışarak içeriği sürükleyerek çevresine sürükleyin.
  • Cetveller: Çalışan uygulamanızı kaplamak için bir veya daha fazla yatay/dikey cetvel ekleyebilirsiniz. Bu satırlar 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 ve 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 Önizleme'yi 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 Kutusu'na Hedef Özellik birleşik giriş kutusu eklendi.

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

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

Lütfen bu sürümdeki Geliştirici Topluluğu düzeltmelerinin 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

Fikrinizi öğrenmek isteriz! Yükleyicinin veya Visual Studio IDE'nin sağ üst köşesindeki Geri Bildirim Gönder simgesini kullanarak veya Geri Bildirim Gönderme Yardımı'ndan Bir Sorun Bildirebilir veya Özellik Geri Bildirim Simgesi Önerebilirsiniz.> Visual Studio Geliştirici Topluluğu kullanarak sorunlarınızı izleyebilir ve burada açıklama ekleyebilir veya çözüm bulabilirsiniz. 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şı