2022Logo Visual Studio 2022 sürüm 17.0 Sürüm Notları


İpucu

yenilikler hakkında bilgi edinmek için Visual Studio 2022 başlatma olayının kayıtlarını izleyin , ipuçlarını & püf noktaları ve ücretsiz dijital swag 'yi indirin.

geliştirici Community | Visual Studio 2022 yol haritası | sistem gereksinimleri | uyumluluk | dağıtılabilir kod | lisans koşulları | bloglar | en son sürüm bilinen sorunları | yenilikleri Visual Studio Docs


Visual Studio 2022 ' nin en son sürümünü indirmek için bir düğmeye tıklayın. Visual Studio 2022 yükleme ve güncelleştirme yönergeleri için, bkz. güncelleştirme Visual Studio 2022, en son sürüm. Ayrıca çevrimdışı yükleme yönergelerine bakın.

Download Community Button Download Professional Button Download Enterprise Button

diğer Visual Studio 2022 ürünlerini indirmek için visualstudio.microsoft.com/downloads sayfasını ziyaret edin.

Visual Studio 2022 sürüm 17.0'daki YeniLer

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

Visual Studio 2022 Blogu

Visual Studio 2022 Blogu, Visual Studio Engineering Team'in resmi ürün içgörü kaynağıdır. Visual Studio 2022 yayınları hakkında ayrıntılı bilgileri aşağıdaki gönderilerde bulabilirsiniz:


17.0.2.0 Visual Studio 2022 sürüm 17.0.1 2

yayın tarihi: 30 Kasım 2021

17.0.2'nin bu yayında Giderildi Sorunları

  • Çakışan verilerle memmove gibi işlemlerle sessiz hatalı 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şlatması tamamlanacak..."
  • Veri üyesi başlatıcıları olan bir sınıf hiyerarşisine dahil olan şablonlu yıkıcının çok erken başlatılmış olması ve muhtemelen tanımlanmamış türlerin veya diğer hataların kullanımıyla ilgili yanlış tanılamaya neden olduğu bir sorun giderildi.
  • 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 Sonraki Seçileni Bul (Ctrl+F3) tuşlarının bazen bir sonraki oluşum yerine dosyada ilk oluşuma atlayışa neden olduğu bir sorun düzeltildi.
  • Sürüm denetimi kullanıcı arabirimlerinde tarihlerin müşterinin işletim sistemi yerel saatle aynı olmadığını gösteren sorunu çözebilirsiniz.
  • Windows 11'de 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 durduramaması ve gelecekteki başlangıçları engellemesi ile ilgili bir sorunu giderin.

Geliştirici Topluluğu’ndan

Geliştirici Community 17.0'da bulunan düzeltmelerin tam listesine sahip.


17.0.1.0 Visual Studio 2022 sürüm 17.0.1

yayın tarihi: 16 Kasım 2021

17.0.1'in bu yayında Giderildi Sorunları

  • Toplu derlemeler kullanırken kilitlenme düzeltildi.
  • Xamarin.Forms projeleri etkinken kilitlenme XAML Çalışırken Yeniden Yükleme düzeltildi.

Geliştirici Topluluğu’ndan

Geliştirici Community 17.0'da bulunan düzeltmelerin tam listesine sahip.

17.0.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 Yenilerin Özeti

64 bit

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

Azure Cloud Services

  • Azure Bulut Hizmeti (klasik) ve Azure Bulut Hizmeti (genişletilmiş destek) projeleri artık de desteklemektedir.

C++

  • v143 derleme araçları artık hem Visual Studio hem de 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ıştırlarken yerel C++ uygulamaları tarafından kullanılabilir. Hem MSBuild CMake projelerini destekler. Daha fazla bilgi için aşağıdaki Çalışırken Yeniden Yükleme bölüme bakın.
  • Artık bir SSH bağlantısı kurmadan WSL2'de yerel olarak derleme ve hata ayıklaması yapabilirsiniz. Hem platformlar arası CMake projeleri hem MSBuild tabanlı Linux projeleri de desteklemektedir.
  • Visual Studio artık buildPresets.targets CMakePresets.json'da seçeneğini destekliyor. Bu, CMake projenize hedeflerin bir alt kümesini oluşturmanızı sağlar.
  • CMake projelerinde Project menüsü kolaylaştırıldı ve "Önbelleği Sil ve Yeniden Yapılandır" ve "Önbelleği Görüntüle" seçeneklerini ortaya çıkarır.
  • CMake Genel Bakış Sayfaları, CMakePresets.json'u destekleyecek şekilde güncelleştirildi.
  • /scanDependencies P1689r4'teaçıklandığı gibi CMake projeleri için C++20 modül bağımlılıkları çıkışı için bayrağı uygulanır. Bu, CMake ile modül tabanlı projelere yönelik destek için bir adımdır ve bu desteği sonraki sürümlerde tamamlamak için çalışıyoruz.
  • Artık LLDB ile uzak sistemlerde çalışan işlemlerde hata Visual Studio ayıklarsiniz.
  • Visual Studio ile birlikte gönderilen CMake sürümünü 3.21 sürümüne yükselttik. Nelerin kullanılabilir olduğu hakkında ayrıntılı bilgi için bkz. CMake 3.21 sürüm notları.
  • Bu araçlarla birlikte gönderilen LLVM Visual Studio LLVM 12'ye yükseltildi. Ayrıntılar için LLVM sürüm notlarına bakın.
  • Araç MSVC artık hata ayıklama kayıtlarında SHA-256 kaynak karmasını varsayılan olarak kullanır. Daha önce, araç kümesi varsayılan olarak kaynak karma için MD5'i kullandı.
  • C++ ile oyun geliştirme iş yükü artık Visual Studio 2022 için desteği olan en son Unreal Engine'i yüklemektedir.
  • İçe aktarılan Modüller ve Üst Bilgi Birimlerinden türler için gezinti ve söz dizimi vurgulaması 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, kodunuzla daha iyi yükleme süreleri sağlayarak C++ IntelliSense performansı iyileştirildi.
  • C++ için IntelliSense Kod Linter artık varsayılan olarak açıktır ve genel kod hataları için anında siz-tür önerileri ve düzeltme önerileri sağlar.
  • anahtarı altında libfuzzer -fsanitize=fuzzer desteği. Diğer ayrıntılar için belgelere bakın.
  • Kod analizi aracımızda null işaretçi başvuru algılamayı iyileştirildi.
  • Kod analizi artık ile açıklama ekli işlevlerin değerlerinin dönüşlerini zorunlu kılınıyor _Check_return_ veya _Must_inspect_result_ denetlenmiş olması gerekiyor.
  • 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 kullanım dışıdır. <C++ projesine > amp.h'yi dahil etmek derleme hataları oluşturacak. Hataların sessizliğini düzeltmek için _SILENCE_AMP_DEPRECATION_WARNINGS tanımlayın. Daha fazla ayrıntı için lütfen AMP Kullanımdan KullanımDan Kullanımdan Kullanımdan Çıktı bağlantılarımıza bakın.

Hata Ayıklama & Tanılama

  • İşleme ekle iletişim kutusu geliştirmeleri
  • Özel durum yardımcı geliştirmeleri
  • Zorla Çalıştırmayı Tıklamaya Zorlama
  • Bellek Dökümü Tanılama Analizi
  • Yalnızca başka bir kesme noktası ilk kez isabet edinildiğinde etkinleştirilsin diye bir kesme noktası yapılandırmaya olanak sağlayan Bağımlı Kesme Noktası adlı yeni bir kesme noktası türü yayınlandı.
  • Dış Kaynaklar düğümüne daha fazla güncelleştirme ekledik. Artık modülü "Kaynaklar Olmadan Modüller" alt düğümü altında görebilir ve sembollerini çözüm gezgininin kendisine yükleniyor.
  • Kesme Noktası Kesme Noktası geliştirmeleri
  • Geçici Kesme Noktası
  • Kesme Noktası Sürükleme ve 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
  • özel temalar koleksiyonunu başlatmak için tema paketi eklendi ve VS Code teması yazarlarıyla çalıştı
  • VS Code temalarını Visual Studio 2022 ' de çalışacak şekilde dönüştürmek için oluşturulan tema dönüştürücüsü
  • Windows teması ile Visual Studio temasını eşitlemeye ekleme özelliği eklendi
  • Yeni belge yönetimi özellikleri eklendi sekme genişliğini özelleştirme, etkin belgeyi cıvaçın ve docwell ek kapatma düğmesi.

Düzenleyici

  • Alt sözcük gezintisi eklendi
  • Otomatik kaydetme şimdi bir önizleme özelliği olarak kullanılabilir
  • Çoklu giriş işareti kopyalama/yapıştırma deneyimi

Genişletilebilirlik

  • Microsoft. VisualStudio. Language. Client derlemelerinden API 'Ler kaldırıldı
  • VS SDK, birkaç önemli değişiklik içerir ve Visual Studio 2019 uzantıları 2022 ' de çalışmaz. Daha fazla bilgi için bkz. VSSDK belgeleri .
  • VS SDK başvuru derlemeleri klasöre artık yüklenmedi VSSDK\VisualStudioIntegration\Common\Assemblies . derlemeniz bu derlemelere bağlı ise, lütfen bunun yerine NuGet paketlerini kullanmak için projenizi geçirin. Çevrimdışı senaryolar için:
    1. NuGet paketlerini geri yüklemek için bir kuruluş içi NuGet beslemesini saklayın.
    2. İkili dosyaları iade edin.
  • Ilanguageclient Son değişiklik düzeltmeleri eklendi

Bulut Hizmetleri

  • azurite , daha eski ve azure Depolama Emulator artık etkin bir şekilde geliştirmeyen azure Depolama yerel öykünmesi için kullanılacaktır.

Git araçları

  • Farklı depolara (farklı git depolarında barındırılan projelere sahip çözümler) yayılan her çözüm için bir önizleme bayrağı altında birden çok depoyu destekler.
  • Azure DevOps ' a yayımla artık git deposu oluşturma deneyiminde tam olarak desteklenmektedir
  • Bir boş ve geri alınan depoların sayısını görüntüleme ve açma ile ilgili yeni bir özellik içeren durum çubuğu geliştirmeleri
  • Git değişiklikleri penceresindeki Taşma menüsü artık ek git işlemlerine sahip yerel depolarda kullanılabilir
  • Eklenen/silinen satırların sayısını ve bulunabilir yapılandırma seçeneklerini içeren birleştirilmiş fark araç çubuğu
  • Daha fazla yanıt veren ve Kullanıcı dostu UI dahil olmak üzere ayrıntıları uygulayın

Yardım menüsü

  • 17,0 sırasında, yardım menüsünü Başlarken malzemeyle ve yardımcı İpuçları/trdepolarla yararlı bir şekilde kaldırdık.
  • geliştirici Community, sürüm notları, Visual Studio ürün yol haritası ve sosyal medya sayfalarımıza erişim gibi şeyler ekleyerek geliştirme ekibimizde daha fazla işbirliği sağlar.

Sık yükleme deneyimi

  • sık yeniden yükleme artık Visual Studio hata ayıklayıcı 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
  • Visual Studio hata ayıklayıcı kullanılırken, sık yeniden yükleme artık C++ geliştiricileri tarafından kullanılabilir

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

Intellicode

  • Tüm satır tamamlamalar , geçerli bağlamınızı temel alarak sonraki C# kod öbeğini tahmin eder ve imlecinizin sağına doğru bir satır içi öneri olarak sunar.
  • Tüm satır tamamlama Işlemleri artık JetBrains ReSharper 'ın en yeni Derlemeleriyle uyumludur. ReSharpers özel tamamlama listesi öğe seçimine dayalı olarak satır tamamlama bağlamını güncelleştirme işleminin desteklenmediğini unutmayın. gerekirse, ReSharper kullanıcıları burada belirtildiği gibi yerel ıntellisense Visual Studio kullanmayı tercih edebilir

JavaScript/TypeScript

  • Ek araç ile tek başına JavaScript/TypeScript projelerini oluşturan yeni bir JavaScript/TypeScript proje türü yayımladık. bilgisayarınızda yüklü framework sürümünü kullanarak Visual Studio Angular ve React projeleri oluşturabilirsiniz.
  • JavaScript ve TypeScript testi artık Visual Studio Test gezgini 'nde kullanılabilir
  • NPM GUI 'si kullanılabilir; Bu nedenle, artık NPM modüllerini NuGet paketlerini karşıdan yüklediğiniz şekilde indirebilirsiniz

.NET 6 SDK

  • .net 6 SDK Visual Studio 2022 ' ye eklenmiştir

.NET Üretkenliği

  • Parametreyi Ekle yeniden düzenlemesi, yöntem uygulamasından çağıranlara yeni bir parametre taşıyabilir.
  • Veri akışı analizi için değer kaynağını izle
  • Yeniden atanan değişkenlerin altını çizme seçeneği
  • Geçersiz kılmalar oluştur iletişim kutusunda arama seçeneği eklendi
  • XML etiketleri için hızlı bilgi <code> artık boşluk ve CDATA bloklarını korusun
  • Tüm başvuruları Bul penceresi artık çok hedef projeleri gruplandıracaktır
  • Visual Basic yinelenen türleri kaldırmak için yeniden düzenleme
  • Uygulamaya git, artık geçersiz kılınan soyut bildirimlere sahip üyelere gitmeyecektir.
  • Ad alanlarını, Çözüm Gezgini klasör yapısıyla eşleşecek şekilde eşitler
  • Çözüm Gezgini arka plan kod analizini yapılandırma
  • Null yapılabilir 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
  • Ayrıştırılmış kaynaklara git, varsayılan olarak açık durumdadır
  • Tür denetimi üzerinde null denetimi tercih etmek için yeniden düzenleme
  • <exception>Bir yöntem açıkça özel durum OLUŞTURDUĞUNDA XML açıklamaları artık otomatik olarak bir etiket oluşturacak
  • Devralma kenar boşluğu artık varsayılan olarak etkinleştirilmiştir

Programlama dilleri

  • C# 10

Razor (ASP.NET Core) düzenleyici

  • Çözüm başlangıcında azaltılmış UI donuyor ve gelişmiş performans
  • Bazı çözümlerde 2x 'e kadar daha hızlı anlam renklendirme
  • Razor dosyalarındaki F7 (kod görüntüle) desteği
  • , Sekme-Tab tuşlarına basmak yerine tek bir sekme ile bir kod parçacığı oturumunu tamamlayacak Razor dosyalarında kod parçacığı desteği
  • @codeİç Içe HTML ve Razor bileşenleri olduğunda bloklara daha iyi biçimlendirme
  • Razor dosyalarında etkin yeniden yükleme desteği
  • Performans geliştirmeleri
  • Biçimlendirme ve girintileme geliştirmeleri
  • Yeni Razor Düzenleyicisi renkleri
  • Taghelmakacıları artık renklendirilir ve hızlı bilgi sınıflandırma desteği ve tamamlama araç ipuçları vardır
  • Razor yapıları için açılı ayraç vurgulama ve gezinme
  • Açıklamalar artık otomatik tamamlama, akıllı girintileme, yorum devamlılığını otomatik olarak ekleme ve açıklama gezintisini engelleme

Uzaktan test

  • Linux kapsayıcıları, WSL ve SSH bağlantıları üzerinden uzak ortamlarda çalışan testlerin etkinleştirilmesi için çok erken bir deneysel önizleme.

Test araçları desteği

  • Test Gezgini 'nde göster
  • Test platformunun 17,0 ile başlayan yeni sürümleri genel testleri ve sıralı testleri çalıştıramayacak. Bu özel özellikler yalnızca MSTestv1 'in erken bir sürümünün parçası olarak gelir ve MSTestv2 ' ye dahil değildir. Bu özelliklerin çok az kullanımını gördük ve sıralı testlerin artık en iyi test uygulamalarının aksine göz önünde bulundurulduk.
  • Bazı test deneyimleri, yeni TestSettings dosyaları ve TestSettings Düzenleyicisi gibi 17,0 ' de kullanılamaz. Test çalıştırmaları hala TestSettings dosyalarını kullanabiliyor, ancak TestSettings RunSettings ile değiştirilmiştir ve kullanıcıların iyileştirilmiş performans ve işlevselliği geçirmesini öneririz. Daha fazla bilgi edinin.
  • Web yük testi ve kodlanmış UI test destek güncelleştirmeleri. KODLANMıŞ UI testleri ve [Web yük testleri] (bulut tabanlı yük testi hizmeti yaşam sonu | Azure DevOps Blog (microsoft.com) resmi olarak 2019 sürümünde kullanımdan kaldırılmıştır. kullanıcılara etkisini en aza indirmek için Visual Studio 2022 ' de bu özellikler için en düşük destek vardır. Kullanıcıların kodlanmış UI testi ve Web yük testi dışına taşınmasını önemle teşvik ediyoruz.

UWP uzantısı SDK 'Ları için araç kutusu popülasyonu

  • UWP Uzantı SDK 'Ları artık, araç kutusunda görünmesini istedikleri türleri SdkManifest.xml dosyasındalisteleyerek açıkça bildirmek için gereklidir. Visual Studio eski sürümlerinin davranışı değiştirilmez; 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şlevselliğine sahiptir ve artık, güvenilir olmayan kod (örneğin, dosyalar, projeler veya klasörler) ıde içinde açılacak şekilde bir uyarı gösterebilir.
  • Güven denetimleri artık çözüm klasörü düzeyinde yapılır
  • Kullanıcı tarafından oluşturulan projeler, güvenilen listeye otomatik olarak eklenir
  • Kullanıcılar, Visual Studio tarafından oluşturulan geçici konumlarda güven denetimlerini atlayabilir

Updates, LTSC ve dağıtım

  • Visual Studio 2022 ile, baharda ve spring 'te yayınlanacak olan birden çok simultanouely desteklenen hizmet temeli olacaktır. daha ayrıntılı bilgi için, Visual Studio Release rhythe belgelerine ve Visual Studio 2022 ürün yaşamdöngüsüne bakın.
  • Visual Studio 2022 ile gelen yeni yükleyici artık Visual Studio ürünün güncelleştirmelerini alması gereken yeri yapılandırma özelliğine sahiptir. Bu, farklı bir LTSC 'den güncelleştirmeler seçmenizi sağlar veya yönetilen bir kurumsal ortamındaysanız, bir düzenden güncelleştirmelerini almak için istemciyi yapılandırabilirsiniz. kaynakları güncelleştirmeler için yapılandırma özelliği, Visual Studio Yükleyicisi ile birlikte gelen yeni işlevselliklerdir ve bu nedenle davranış Visual Studio 2019 gibi alt düzey Visual Studio de geçerlidir. güncelleştirme kanalını yapılandırma hakkında daha fazla bilgi için güncelleştirme Visual Studio belgelerine bakın. ağ düzenleri için bu işi yapma hakkında daha fazla bilgi için, Visual Studio yöneticileri kılavuzunabakın.
  • bt yöneticileri artık Visual Studio yüklü olmadan sorunları bildirebilirler .

Kullanıcı arabirimi

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

Web araçları

  • Yayımlama Özeti sayfasında, uzaktan hata ayıklamayı başlatma/durdurma ve '... ' altında profil oluşturma eylemleri vardır ' barındırma ' bölümünün sağ üst köşesinde yer alan menü
  • bağlı hizmetler sayfasında şimdi başlatılacak bir eylem vardır Depolama Gezgini
  • .net 6 ile birlikte gelen "ASP.NET Core Empty" şablonu, destek eklemeye başladığımız yeni ' minimal apı ' paradigmasını kullanıyor
  • azurite , daha eski ve azure Depolama Emulator artık etkin bir şekilde geliştirmeyen azure Depolama yerel öykünmesi için kullanılacaktır.
  • Visual Studio 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 göre .NET Framework için yeni bir wpf XAML Tasarımcısı ile değiştirilmiştir. Visual Studio deneyim aynı şekilde görünür, ancak üçüncü taraf denetim satıcıları, ve ' yi temel alan .design.dll ve kullanım dışı olduğundan, yeni genişletilebilirlik modelini desteklememiz gerekir Microsoft.Windows.Design.Extensibility . Zaten .designtools.dll .net (.NET Core) için bir uzantı oluşturduysanız, aynı uzantı .NET Framework yenı WPF XAML Tasarımcısı için de çalışacaktı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 etkin yeniden yükleme değişiklikleri-uygulama içi araç çubuğundaki küçük değişiklikler ve ayarlar

XAML canlı önizlemesi

  • XAML canlı önizlemesi artık WPF, uwp, winuı ve Xamarin. Forms geliştiricileri için Android Emulator ya da bir UWP masaüstü uygulaması olarak uygulamalarını çalıştıran geliştiriciler için kullanılabilir. Canlı önizleme, çalışan bir uygulama kullanıcı arabirimini yakalar ve Visual Studio içindeki yerleşik bir pencereye getirir. bu, etkin xaml kodu değişiklikleri yaparken, çalışan uygulama ve Visual Studio arasında sekme ve geriye doğru sekmeye gerek kalmadan Visual Studio uygulamayı değiştirmek için XAML dinamik yeniden yükleme kullanımını kolaylaştırır.

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

XAML örnek verileri

  • Design-Time örnek verileri artık WPF uygulamalarında araç kutusundan DataGrid, ListBox ve ListView denetimleri oluştururken varsayılan olarak eklenecektir. Bu davranışı devre dışı bırakmak için, Araçlar-> seçenekler-> XAML Tasarımcısı altında ' öğe oluşturma sırasında ö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 veri belgeleriniziyaret edin.

Geliştirilmiş XAML bağlama deneyimi

  • Veri bağlamayı hızlı ve kolay hale getirmek için, Özellik denetçisinden veri bağlama iletişim kutusuna hızlı erişim, hızlı eylemlerden bağlamayı ayarlama yeteneği, veri bağlama Iletişim kutusunda bağlanacak özelliği seçme yeteneği gibi 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 'in bu sürümündeki yeniliklerin ayrıntıları

Tanılama & hata ayıklama

  • İşleme Ekle iletişim kutusu geliştirmeleri
  • Pencerenin alt kısmındaki geçiş yoluyla yeni üst/alt işlem listesi görünümü
    • Görünümün seçimi kalıcı olmalıdır.
    • Klavyede sol KeyPress, üst/alt görünümünde ü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şlemlerinde "başlık sütununda" gösterilir

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

  • Catch bloğunda bir özel durum Yardımcısı eklendi. Bu, yönetilen bir adım özel durum oluşturulmasına neden olduğunda ve adım bir catch bloğunda tamamlandığında ilgili özel durum bilgilerini içeren özel durum Yardımcısı 'nı görüntüler.
  • Yeni bir ' Continue ' düğmesi: ' yakalandı ' özel durumları üzerinde özel durum Yardımcısı gösteriliyor.

Özel durum Işleyici güncelleştirmeleri

  • Çalıştırmayı zorlamak için bir seçenek ekledik. Bu, seçili imleç konumuna gelene kadar hata ayıklayıcıyı çalıştırmak için, içindeki tüm kesme noktaları yoksayılana kadar bir seçeneği ekledik.
  • İstediğiniz kod satırındaki sağ tıklama menüsünden "çalıştırmayı zorla" düğmesine tıklayarak bunu çalıştırabilirsiniz.

Imlece çalışmaya zorla

  • Uygulama hata ayıklama modundayken, fare, SHIFT tuşunu basılı tutarken bir kod satırının yanında görünen yeşil glifi tıklatarak da "tıklatmaya zorla" öğesini çalıştırabilirsiniz.

Imlece karakter çalıştırmayı zorla

  • Bellek dökümü Tanılama Analizi
    • ASP.NET Core bellek dökümlerinde daha fazla eşitlenmiş zaman uyumsuz sorunları bulmak için çözümleyici altyapısını geliştirdik.
    • En yüksek 5 iş parçacığını CPU zamanına göre inceleyerek kodunuzun hangi bölümlerinin en çok CPU kaynaklarını tükettiğini öğrenin.
    • Nesil 0, 1, 2 ve büyük nesne yığınında bellek baskısı için tüm yönetilen yığını gözden geçirin.
    • Kilitlenme bilgi döküm 'niz varsa, uygulamanızın kilitlenmesine neden olan ikinci şans özel durumunu ve iş parçacığını daha fazla bulabilirsiniz.
    • Bir tanılama varsayımını oluşturmak için bir göz atın mı? Kilitlenme veya askıda kalma nedeninin tam olarak bilinmediği durumlarda, yığındaki tüm özel durumları hızlıca bulmak ve gözden geçirmek için özel durum Çözümleyicisi 'ni kullanabilirsiniz.
    • Bellek analizinin önemli olduğu durumlarda bu süre için Sonlandırıcı sıra Çözümleyicisi 'nin buluşsal yöntemlerini geliştirdik. Artık kodunuza odaklanıyoruz ve .NET Framework tarafından yönetilen nesneleri dışarıda bırakacağız.

Bağımlı kesme noktası

Bu, kullanıcının bir kesme noktasını yalnızca başka bir kesme noktası ilk kez vurması durumunda etkinleştirilecek şekilde yapılandırmasına imkan tanıyan yeni bir kesme noktası. hata ayıklama sırasında, Visual Studio hata ayıklayıcı yalnızca önkoşul kesme noktası isabet edildiğinde uygulamayı bağımlı kesme noktasında duraklatır. Ayarlar penceresinden "yalnızca izleyici kesme noktası isabet edildiğinde etkinleştir" onay kutusunu etkinleştirerek ve bağlı kesme noktasını yapılandırmak 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ı iyileştirmeleri

Kullanıcının bir kesme noktası ayarlayabileceği konumu göstermek için yeni kesme noktası karakteri ekledik.

Kesme noktası karakteri

Bu kesme noktasına sağ tıklayın, seçeneklerle yeni bağlam menüsü verecektir; Bu, daha az tıklamayla ön kesme noktaları (koşullu kesme noktası, Izleme 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 bozmasına imkan tanıyan yeni bir kesme noktası. hata ayıklama sırasında, Visual Studio hata ayıklayıcı bu kesme noktası için yalnızca bir kez uygulama çalışma zamanı 'nı duraklatır ve isabet alındıktan hemen sonra kaldırır. Ayarlar penceresinden "kesme noktasını bir kez çıkar" onay kutusunu etkinleştirerek, herhangi bir kesme noktasını geçici kesme noktasına dönüştürebilirsiniz. Alternatif olarak, bu kesme noktasını ayarlamak için kesme noktasından yeni sağ tıklama bağlam menüsünü de kullanabilirsiniz.

Geçici Kesme Noktası

Kesme Noktası Sürükleme ve Bırakma

Kesme noktaları için sürükle ve bırak hareketini ekledik. Artık kesme noktanızı tutabilir ve istenen kod satırına bırakarak kesme noktanızı bir konumdan diğerine taşıyabilirsiniz. Eylemler/koşul değişkenleri bağlam içinde olduğu sürece, önceden kesme noktamız için çalışır.

Kesme Noktası Sürükleme ve 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 Kaynak Bağlantı bilgilerini içeren semboller yüklenmiş yönetilen modüllerin kaynaklarını gösterir. Hata ayıklama sırasında, Kaynak Sunucu bilgileri mevcut olan tüm yüklü yönetilen sembol dosyaları (.pdb) bu düğüm altında görünür. Diğer çözüm gezgini klasörleri gibi dosyalara göz atabilir veya bir öğeye çift tıklar, dosyayı Kaynak Sunucu'dan 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 işareti, işlem listesini kullanılabilir işlemlerle otomatik olarak yeniler. İşleme ekle iletişim kutusundaki yeni "Masaüstünden herhangi bir pencere seçin" seçeneği, kullanıcının masaüstünden çalışan tüm pencerelerini seçmesini ve hata ayıklama için ilişkili sürecine eklemesini sağlar.

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

Bellek Dökümü Tanılama Analizi

Özel Durum oluştuğunda kök çağrı çerçevelerini Stack Overflow zor ve zaman alıcı olabilir. 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 Temalara Dönüştürme

Bu temaları VS Code dönüştürmeyi Visual Studio. Burada deneyin.

Yeni Visual Studio Tema Paketi

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

Temayı işletim Windows eşitleme

Temanızı, kullanılabilir ortam Visual Studio göre ayarlay Windows için Windows temanıza eşitleme özelliği ekledik. Bunu etkinleştirmek için Araçlar ve Tema >'a > Ayarını Kullan'a gidin.

Renk Sekmeleri

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

Renk sekmeleri

Düzenleyicisi

Alt sözcük gezintisi

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

Otomatik kaydetme

Araçlar > Seçenekler > Önizleme > altında otomatik kaydetme özelliği kullanılabilir. Etkinleştirilirse, Visual Studio uygulama odağı kaybettiği zaman (başka bir pencere odağı alır), mümkünse tüm kirli belgeler diske kaydedilir. Herhangi bir dosya kaydedilemiyorsa, kullanıcı açıkça kaydedene kadar (Farklı Kaydet veya Farklı Kaydet... komutlarıyla) bu dosya kirli kalır.

Çoklu caret kopyalama\yapıştırma deneyimi

Çoklu caret kopyalama ve yapıştırma deneyimini iyileştirildi. Daha önce, birden çok giriş imtiyazına birden çok satır yapıştırarak panodaki tüm giriş imtiyazları çoğaltıldı. Şimdi, birden çok satırı aynı sayıda caret içine yapıştırarak her satırı ilgili caret'e 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şunu 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ş çizgisi oluşturmak için Alt+Shift+ fare tıklaması kullanın. Son olarak, her satırı kendi caret'ine yapıştırmak için Ctrl+V tuşlarına basın.

Çoklu imtiyazlı kopyalama ve yapıştırma

Ayrıca, birden çok tuş takımıyla seçmek için Alt+Shift+ yukarı veya aşağı ok tuşunu veya Alt+Shift+ fare sürüklemeyi kullanabilirsiniz. Daha önce bu hareketlerin oluşturduğu kutu seçimi. Şimdi kutu seçimi birden çok işarete dönüşür. Bu yöntem, tek tek giriş girişlerini eklemek için kesin konumlara tıklamak zorunda kalmadan daha kolaydır ve daha hızlıdır. Çoklu işaret seçimini genişleterek Alt+Shift+ ok tuşları ve Alt+Shift+ fare sürükleme ile kutu seçimini kullanmaya devam etmek isterseniz Araçlar > Seçenekler > Metin Düzenleyici > Gelişmiş'e gidin ve Kutu seçimini kullan'ı seçin.

Çoklu işaret kutusu seçimi seçeneği

Genişletilebilir -lik

Microsoft.VisualStudio.LanguageServer.Client, dil istemcisi başlatılamadı mı bildirimleri özelleştirmek için yeni bir yol tanıtıyor.

Başlatma görevi artık Görev Durumu Merkezi (TSC) tarafından izlenmeli. Başlatma görevi başarısız olursa, kullanıcılar TSC'ye gidip neyin yanlış gittiğini daha fazla bilgi edinebilirsiniz. Dil istemcileri artık kullanıcıya gösterilen iletiyi özelleştirebilir ve bu hatayı düzeltmek için gerekli eylemleri gerçekleştirebilir. Bunu yapmak için ILanguageClient arabiriminde yeni bir API kümesi sağlıyoruz. Bu yeni API'ler ILanguageClient arabiriminde yeni bir değişiklike neden olur, bu nedenle dil uzantılarının 2022'de çalışmak için yeni pakete Visual Studio gerekir.

Aşağıdakiler yeni API'lerdir:

  1. ShowNotificationOnInitializeFailed özelliği - Dil sunucusunun kullanıcıya hata hakkında aşağıdaki gibi bir kabarcık göstermemizi isteyip istemediklerini belirleyen Boole özelliği:

Görev Durumu Merkezi'de ShowNotificationOnInitializeFailed

Bu özelliğin yalnızca hatanın çalışmakta olduğu proje için kullanıcı deneyimini önemli ölçüde etkilemesi durumunda true olarak ayarlanmıştır.

  1. OnServerInitializedFailedAsync yöntemi - Dil istemcisinin başlatılma işlemi başarısız olduğunda bu yöntem çağrılır. Dil istemcisinin hatayı kullanıcıya kendi yöntemiyle bildirmesi veya hatanın bağlamıyla özelleştirilmiş bir ileti sağlay oluşturması için bir LanguageClientInitializationInfoBase nesnesine hatanın nasıl meydana geldiğine ilişkin bilgiler sağlarsınız. İleti sağlanırsa, bu ileti, İletinin Çıkış penceresinde Visual Studio.

İstemcide dil istemcisi başlatma hatası Çıkış Penceresi

JavaScript/TypeScript

Artık tek başına Angular, React ve Vue projeleri oluşturmanıza olanak sağlayan yeni bir JavaScript/TypeScript proje türü Visual Studio. Projeler, yerel makinenize yüklemiş olduğu çerçeve cli araçları kullanılarak oluşturulur. Bu, şablon sürümünün yerel makinenize sahip cli sürümlerini temel alan bir sürüm olduğu anlamına da gelir.

Bu yeni projelerin içinde birim testleri çalıştırabilecek ve bunları api projeleriyle ASP.NET Core abileceksiniz. Belgeler burada bulunabilir

  • Ek araçla tek başına JavaScript/TypeScript projeleri derlemeye yönelik yeni bir JavaScript/TypeScript proje türü yayınlandı. Bu konuda daha fazla bilgi için buraya tıklayın
  • NPM GUI kullanılabilir, bu nedenle artık NPM modüllerini yeni JavaScript/TypeScript projelerinde Nuget paketlerini indiriyormuş gibi indirebilirsiniz

NPM GUI  NPM GUI2

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

Bu yılın başlarında, mümkün olduğunca çok .NET Çalışırken Yeniden Yükleme'ı hayata Çalışırken Yeniden Yükleme olan .NET Çalışırken Yeniden Yükleme projesini duyurduk. Bu yolculuk, Visual Studio 2019'daki ilk önizlemeyle başladık ve 2022'de tam deneyimin gönder Visual Studio çok daha fazlası için söz verdik. Bugün, 2022 GA sürümüyle Visual Studio ayrıntıları paylaşmak istiyorum.

Yeni bir Çalışırken Yeniden Yükleme için hızlı bir giriş buradadır. Çalışırken Yeniden Yükleme deneyimi Visual Studio hem yönetilen .NET hem de yerel C++ uygulamaları için çalışır. Üzerinde çalışmakta olduğunuz uygulama türüne bakılmaksızın, Çalışırken Yeniden Yükleme'daki hedefimiz, düzenlemeler arasında mümkün olduğunca çok uygulama yeniden başlatma işlemi yaparak, uygulamaların yeniden oluşturması, yeniden başlatması, uygulamanın içinde bulunduğu önceki konuma yeniden gezinmesi vb. için harcadığınız zamanı azaltarak daha üretken çalışmanızı sağlamaktır.

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

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

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

Çalışırken Yeniden Yükleme 2022'de hem .NET hem de C++ geliştiricileri için Visual Studio deneyiminde önemli geliştirmeler de yaşanıyor. Araç çubuğunda artık gelişmiş görünüme ve daha fazla işleve sahip "Çalışırken Yeniden Yükleme" düğmemizin hedef uygulaması vardır.

İlk olarak, yeni bir simgeye sahip yeni açılan stil düğmesi olduğunu fark edesiniz. Komut ,"kod değişikliklerini uygula" (erken önizlemelerden) "kod değişiklikleri uygula" Çalışırken Yeniden Yükleme.

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

Düğmelerin genişletilmesi, çalıştırmayı yeniden başlatma, kaydetmeye devam etmek için kabul Çalışırken Yeniden Yükleme ve yeni ayarlar paneline hızlı erişim gibi özelliklere hızlı erişim sağlar.

Yeni özelliklerin her biri hakkında daha ayrıntılı bilgi:

  • Uygulamaları Kolayca Yeniden Başlat: Artık, hata ayıklayıcıyı kullanarak mı yoksa hata ayıklayıcı olmadan mı başlattınız (.NET 6 uygulamaları için Yenİ!) bağımsız olarak bir yeniden oluşturma işlemiyle zor bir düzenleme uygulanması gerekirse, çalışan uygulamanızı kolayca yeniden başlatabilirsiniz.
  • Çalışırken Yeniden Yükleme Kaydet'e tıklayın: Önceki önizleme sürümlerinde, yalnızca Çalışırken Yeniden Yükleme projelerinde kaydetme sırasında ASP.NET değişiklikleri uygulayabilirsiniz; diğer tüm projelerde, Çalışırken Yeniden Yükleme düğmesine açıkça tıklamanız gerekirdi. Son sürümde artık herhangi bir proje Çalışırken Yeniden Yükleme için kaydetme anahtarını kullanarak bunu yapmak mümkündür. Bu seçenek kabul etmektir, ancak etkinleştirildikten sonra kapatmayacaksanız Visual Studio oturumlar için geçerli olur.
  • Kolay Ayarlar Erişim: Etkinleştirildiğinde/Çalışırken Yeniden Yükleme daha fazla denetime sahip olmak için Çalışırken Yeniden Yükleme seçenekler paneli ekledik. Bu ayarlara "Seçenekler Visual Studio .NET / C Çalışırken Yeniden Yükleme++ >" menüsünden veya Çalışırken Yeniden Yükleme düğmeleri açılan menüsünden Ayarlar.

Ayrıca hata ayıklayıcı olmadan .NET uygulamanızı çalıştırabilirsiniz geliştirilmiş bir düzenleme iletişim kutusu ekledik.

Visual Studio 2022'de Çalışırken Yeniden Yükleme Için Yeni Visual Studio İletişim Kutusu

Bu yeni iletişim kutusunda şu çeşitli geliştirmeler vardır:

  • Her Visual Studio yeniden oluşturma ve Değişiklikleri Uygula seçeneğinin oturum genelinde kabul Çalışırken Yeniden Yükleme düzenleme. Denetlendikten sonra bu, yeniden başlatana kadar gelecekteki tüm Visual Studio düzenlemeler için geçerlidir
  • Birden çok el ile adım yerine tek tıklamayla gerçekleştirebilirsiniz kod değişikliklerinizi yeniden oluşturma ve uygulama komutu
  • Ayarlara kolay erişim

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

Bilinen bir sınırlama vardır; hata ayıklayıcı kullanılırken ga yayında bu yeni iletişim kutusu kullanılamaz, ancak bu senaryoda kullanılabilir hale gelecek bir güncelleştirmede bunu kullanılabilir hale gelecek bir çalışma tamamlanır.

C++ uygulamaları desteği

Visual Studio 202 Çalışırken Yeniden Yükleme 2 kullanırken ve hata ayıklayıcı ile uygulama başlatıldığında artık 'Çalışırken Yeniden Yükleme' düğmesini kullanarak hata ayıklayıcı (F5) altında çalıştırıldığında yerel bir C++ uygulaması Çalışırken Yeniden Yükleme mümkündür. Çalışırken Yeniden Yükleme, CMake ve OpenFolder projeleri kullanılarak yerleşik uygulamalar için de de kullanılabilir.

Bu deneyim yerel Düzenle ve Devam Ile güçlendirilmiştir, desteklenen düzenlemeler için belgelerimize bakın.

Desteklenen .NET Uygulama Çerçeveleri & Senaryoları

Mayıs 2021'Çalışırken Yeniden Yükleme duyurmuştuk. .NET geliştiricilerinin çok sık sormuş olduğu bir soru şudur: ".NET Çalışırken Yeniden Yükleme çerçevem/sürüm bileşimim ile çalışacak mı?". Çoğu durumda EVET yanıtını vermek için çok büyük bir ilerleme kaydettik, öne çıkanlar buradadır.

  • Visual Studio 2022'yi kullanırken ve hata ayıklayıcı ile uygulamanıza başlarken temel Çalışırken Yeniden Yükleme deneyimi çoğu .NET uygulaması ve çerçeve sürümü türüyle çalışır; buna .NET Framework, .NET Core ve .NET 5+ dahildir (hem C# hem de geçerli VB.NET için). Desteklenen uygulamaların türü web (arka planı 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 olduğunu varsayalım ve bunu deneyin!
  • Visual Studio 2022 kullanırken ancak hata ayıklayıcıyı kullanmazken (örneğin, uygulamayı başlatmak için CTRL-F5 kullanarak) Çalışırken Yeniden Yükleme, çoğu .NET 6 uygulaması türlerini hedeflerken hata ayıklayıcı olmadan bile kullanılabilir. Bu, .NET 6'ı (.NET 5 veya altı) hedeflemeen uygulamaların "hata ayıklayıcısı yok" senaryosunu desteklemeyecek ve hata ayıklayıcıyı kullanarak destek almak Çalışırken Yeniden Yükleme anlamına gelir.
  • .NET 6 Visual Studio 2022 kullanırken en çok senaryo türü de kullanılır. Bu, yukarıda belirtilen yeni "hata ayıklayıcısı yok" özelliğiyle sınırlı değildir. Ayrıca Blazor projelerini Hot Reloading desteği ve daha genel olarak herhangi bir uygulama ve CSS ASP.NET Core Razor dosyalarını düzenleme gibi yeni Çalışırken Yeniden Yükleme. Hem Visual Studio 2022'nin hem de .NET 6'nın hedef kitlesi olan uygulamaların birlikte kullanımı, size en güçlü Çalışırken Yeniden Yükleme deneyimi sunar ve bunu denemeyi umuyoruz.

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

Visual Studio ayıklayıcıyı kullanırken bir .NET uygulamasıyla 2022'ye sahip olmak

Visual Studio 2022'yi kullanırken ve uygulamayı hata ayıklayıcısıyla başlatıyorsanız, Ç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 daha eski ASP.NET web projesi türleri (arka planı düzenlemeleri için) gibi çoğu uygulama çerçevesiyle Web Forms Proje. Bu liste yalnızca bir örnektir. Gerçek yanıt. .NET'in olduğu ve yönetilen hata ayıklayıcıyı Visual Studio her yerde temel Çalışırken Yeniden Yükleme gerekir.

Bu, Azure İşlevleri gibi projelerin bile bu senaryoda harika bir şekilde çalışacak olduğu anlamına gelir. Birleşiminizi denemenizi ve herhangi bir sorun bulursanız bize haber vermenizi teşvik etmektir.

*WinUI 3 varsayılan olarak karma mod hata ayıklamasını kullanır ve bu da Çalışırken Yeniden Yükleme. Yönetilen Hata Ayıklayıcı'nın düzgün şekilde çalışmasına olanak sağlayan Yönetilen Hata Ayıklayıcı'Çalışırken Yeniden Yükleme proje ayarlarında bunu değiştirebilirsiniz.

Bir .NET Visual Studio ile Visual Studio 2022 kullanırken, ancak hata ayıklayıcıyı kullanmazken

Çalışırken Yeniden Yükleme 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ü hedefleniyorken artık hata ayıklayıcısı olmadan kullanılabilir. Bazı geliştiricilerin hata ayıklayıcı olmadan uygulamalarını başlatmaya yönelik iyi bir nedeni veya tercihi olduğunu biliyoruz ve bu ek özelliğin başlangıç süresini çok az etkilese de hiç etkilemese de onlara değer vermelerini umuyoruz.

Bu özellik .NET 6+ için özeldir ve .NET 6'ı (.NET 5 veya altı) hedeflemeen uygulamalar "hata ayıklayıcısı yok" senaryosunu desteklemez ve hata ayıklayıcıyı kullanarak Çalışırken Yeniden Yükleme gerekir.

Ayrıca, ilk sürümde "hata ayıklayıcısı yok" senaryosu için tüm proje türlerinin destekleneycegizli olduğunu da düşünün. Özellikle:

  • UWP uygulamaları, hata ayıklayıcı Çalışırken Yeniden Yükleme için destek değildir, bu tasarıma göredir ve bunu geliştirmek için geçerli bir plan yoktur.
  • iOS & Android'i hedef alan Xamarin.Forms uygulamaları .NET Çalışırken Yeniden Yükleme'ı desteklemez (hata ayıklayıcı ile veya hata ayıklayıcı olmadan uygulamanıza bakılmaksızın) ancak XAML Çalışırken Yeniden Yükleme
  • .NET MAUI gelecekte tüm uygulamalar hata ayıklayıcısı senaryosunu desteklemez, ancak hata ayıklayıcısı aracılığıyla .NET Çalışırken Yeniden Yükleme'leri destekler

.NET 6 Visual Studio 2022 kullanırken en çok senaryo türü de desteklene

Hem Visual Studio 2022'de hem de .NET 6'ya yönelik uygulamalarda çalışabilen geliştiriciler, en iyi ve en iyi deneyimin avantajlarından Çalışırken Yeniden Yükleme edinecek.

Desteklenenlerin öne çıkanları:

  • Blazor uygulamaları (Sunucu ve WebAssembly*)
  • Hem Blazor'da hem de normal web sitelerinde Razor ASP.NET Core düzenleme
  • CSS Çalışırken Yeniden Yükleme
  • Hata ayıklayıcı olmadan Çalışırken Yeniden Yükleme uygulama çalıştırma sırasında daha fazla destek elde etme olanağı (yukarıda daha ayrıntılı açıklandığı gibi)

.NET 6'ya yönelik geliştiriciler, 2022 güncelleştirmeleri, .NET özellik Visual Studio ve ana sürümlerde daha fazla geliştirme almaya devam edecektir. Yeni başlıyoruz!

*Visual Studio 2022 GA yayın Çalışırken Yeniden Yükleme hata ayıklayıcısını kullanırken Blazor WebAssembly desteği henüz Visual Studio için etkinleştirilmedi. Hata ayıklayıcısı Çalışırken Yeniden Yükleme hata ayıklayıcı olmadan Visual Studio başlatacaksanız ve bunu gelecekteki bir güncelleştirmede çözmek için Visual Studio edinebilirsiniz.

Desteklenen ASP.NET Core Senaryoları

Temel Çalışırken Yeniden Yükleme deneyimi artık birçok farklı senaryo için geniş ASP.NET destek almaktadır. En yaygın olarak kullanılabilen özellik, çoğu web uygulaması türü için arka arkasındaki kodu 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 Düzenle ve Devam'ın daha önce kullanılabilir olduğu her yerde mevcuttur.

.NET 6 ASP.NET Core ı hedef alan diğer geliştiriciler için, .NET'in daha düşük sürümleri için sağlanmaz ek özellikler vardır; buna aşağıdakiler gibi geliştirmeler dahildir:

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

Not: Blazor Wasm uygulamasında ç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ılamazken ç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 Bırak mekanizmasıyla desteklemektedir ve önceki sürümlerde mümkün olanın ötesinde ek düzenleme türlerini desteklemek için geliştirmeler yaptık. Geliştirmeler şunlardır:

  • Özel Öznitelik ekleme, güncelleştirme veya silme
  • Kayıt yapılarını ekleme veya güncelleştirme
  • #line ekleme veya güncelleştirme
  • Switch ifadelerini düzenleme
  • Yönergelerin kendisinde yapılan #line dahil olmak üzere dosyaları #line yönergeleriyle 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 adı
  • Mevcut yöntemlerin parametrelerini yeniden adı

Yukarıdaki geliştirmeler hem Çalışırken Yeniden Yükleme ve Devam Edin deneyimleri için kullanılabilir.

Ek Güncelleştirmeler

  • Çalışırken Yeniden Yükleme ve Düzenle ve Devam'a birden çok işlemle devam eder: Artık birden çok işleme ekli olduğunda hem Çalışırken Yeniden Yükleme hem de Düzenle ve Devam Edin deneyimlerini güvenilir bir şekilde kullanabilirsiniz. Daha önce bu özellik tam olarak desteklenmiyor ve her zaman düzgün çalışmıyor, bu artık düzeltilmiş.
  • Güncelleştirilmiş hata/uyarı iletileri: İletiler hem EnC hem de enc için geçerli olduğunda daha net olmak için birçok hata/uyarı iletisini Çalışırken Yeniden Yükleme. Bunu, iletileri düzenleme ve devam terminolojisi veri işlem sırasında kullanılmadan daha genel hale Çalışırken Yeniden Yükleme yaptık
  • .NET uygulamalarının Daha Hızlı Birim Testi: Çalışırken Yeniden Yükleme teknolojisi artık .NET 6'ya yönelik 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 farkında olmak için bazı desteklenmeyen senaryolar vardır:

  • Xamarin.Forms uygulamaları, iOS ve Android Çalışırken Yeniden Yükleme .NET uygulamalarını desteklemez. UWP uygulamasını Çalışırken Yeniden Yükleme bazı önemli bilgi edinebilirsiniz. Bu, tasarıma göredir ve başka geliştirmeler de görmeyi bekleyeceğiz. (Not: XAML Çalışırken Yeniden Yükleme SDK'da Xamarin.Forms müşterileri için kullanılabilir ve desteklene devam edecek)
  • .net mauı uygulamaları bu sürümde desteklenmiyor, .net mauı ve sık yeniden yükleme ile çalışmak için lütfen ayrıntılar için Visual Studio 2022 güncelleştirme 1 Preview 1 sürüm notlarına bakın.
  • F # veya .NET Native hedefleme kullanılarak oluşturulan uygulamalar, etkin yeniden yüklemeyi desteklemez.

.NET Üretkenliği

Eşitleme ad alanları yeniden düzenlemesi artık Çözüm Gezgini bir proje veya klasörün (sağ tıklama) menüsünde bulunur ve bu, ad alanlarını klasör yapınızı eşleşecek şekilde kolayca eşitlemenize olanak tanır.

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

Arka plan kod analizi yapılandırması artık Çözüm Gezgini (sağ tıklama) menüsünde kullanılabilir. Çözüm Gezgini ' deki çözüm düğümüne sağ tıklayın ve Çözümle ve kod temizleme' yi seçin. Sonra, arka plan kod analizi için kapsamı yapılandırmak üzere analiz kapsamını ayarla ' yı seçin.

  • Şimdi yeni bir parametre ekleyerek bir yöntemi yöntem uygulamasından çağıranlara taşıyabilecek bir parametre sunan bir yeniden düzenleme işlemi var. İmlecinizi ifadeyi içeren satıra yerleştirin veya ifadeyi vurgulayın. Hızlı eylemleri ve yeniden düzenlemeler menüsünü tetiklemek Için (CTRL +.) tuşuna basın. { 0 } için parametreyi Ekle veya tüm { 0 } oluşumları için parametre Ekle' yi seçin. Her iki seçenek de, (1) tüm çağrı sitelerindeki güncelleştirilmiş ifadeyi eklemek, (2) öğesini ayıklamak ve çağrı sitelerine bir bağımsız değişken eklemek için (3), ifadeyi içeren yönteminin bir aşırı yüklemesini oluşturmak için (1)

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

  • Belirli bir noktada belirli değerlerin nasıl geçtiğini ve nerede geçirilebileceğini öğrenmek için veri akışı analizini gerçekleştirmenize olanak tanıyan, Izleme değeri kaynağı adlı yeni bir komut vardır. Belirli bir üyeye sağ tıklayın ve sağ tıklama menüsünde değer kaynağını Izle ' yi seçin.

Sağ tıklama menüsünde değer kaynağını izle

  • Sonuçları analiz etmenize izin vermek için değer Izleme penceresi açılır:

Değer kaynağını İzle penceresi

  • Yeniden atanan değişkenlerin altını çizmek için bir seçenek ekledik. Bu, varsayılan olarak kapalıdır, böylece araç > seçeneklerinde C# veya temel > gelişmiş > > ve yeniden atanan değişkenlerin altını çiz ' i seçmeniz gerekir.

Düzenleyicide yeniden atanan değişkenlerin altını çiz

  • Geçersiz kılmalar oluştur iletişim kutusuna bir arama seçeneği ekledik, böylece, geçersiz kılmak üzere üyeleri hızlıca arayabilir ve seçebilirsiniz.

Geçersiz kılmalar oluştur Iletişim kutusunda ara

  • XML etiketleri için hızlı bilgi <code> 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 hedef projeleri gruplarken görsel paraziti azaltmaya yardımcı olur.

Tüm başvuru gruplarını çok hedefli projeler bul

  • Artık Visual Basic yinelenen türleri kaldıran bir yeniden düzenleme işlemi var.
  • Uygulamaya git, artık geçersiz kılınan soyut bildirimlere sahip üyelere gitmeyecektir.

C# dil Araçları

C# 8,0 ' de null yapılabilir başvuru türleri tanıtıldık, null değerinin beklenip beklenmediğini bildirmenize olanak tanır. Null yapılabilir başvuru türlerini kullanmak için, <Nullable> </Nullable> proje dosyanıza Enable öğesini eklemeniz veya pragmayı projenizdeki her kaynak dosyasına etkinleştirmek #nullable eklemeniz gerekir. Bu işlemi kolaylaştırmaya yardımcı olmak için artık <Nullable> </Nullable> yeni .net projelerine yönelik etkinleştir özelliğini otomatik olarak dahil ediyoruz.

C# 10,0 ' de, ad alanı içinde sınıf tanımları iç içe geçme seçeneği sunan dosya kapsamlı ad alanı sunuyoruz. Artık bir ad alanını dosya kapsamlı bir ad alanına dönüştürmek için bir yeniden düzenleme yaptık. Dosya kapsamlı ad alanını kullanmak için önce <LangVersion> </LangVersion> proje dosyanıza Önizleme öğesini eklemeniz gerekir. Sonra, 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 is not null değer türlerine uygulandığında üzerinde yeniden düzenleme yapmayı tercih edebilirsiniz is object . Bu yeni yeniden düzenleme 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.

Ayrıştırılmış kaynaklara gidin

Varsayılan olarak, kitaplık türlerinin bildirimlerine gitmeniz için, varsayılan olarak ' deki derlenmiş kaynaklara gidin. Kaynak kodunuzda ve derlenmiş kaynaklardaki bir kitaplık sembolünde tanıma git ' i çağırdığınızda, ayrıştırılmış kaynaklara git kullanılabilir.

Düzenleyici geliştirmeleri

XML açıklamaları artık bir etiket içinde otomatik olarak bir etiket oluşturacak ve <exception> <summary> bir yöntem açıkça özel durum oluşturduğunda bir açıklama eklemenize olanak tanır.

Visual Studio 2019 ' de, kodunuzun uygulamalarını ve geçersiz kılmalarını temsil eden kenar boşluklarına simgeler ekleyen devralma kenar boşluğu yayımlandı. Devralma kenar boşluğu simgelerine tıkladığınızda, gitmek için seçebileceğiniz devralma seçenekleri görüntülenir. Bu yayın devralma kenar boşluğunda varsayılan olarak etkindir. Devralma kenar boşluğunu devre dışı bırakmak için Araçlar > Seçenekler > metin Düzenleyicisi > C# veya temel > Gelişmiş ' e gidin ve Devralma marjını etkinleştir'

Devralma kenar boşluğu

Programlama dilleri

C# 10

  • Yapılar with (,) üzerinde yapıları ve ifadeleri kaydedin record struct Point(int X, int Y); var newPoint = point with { X = 100 }; .
  • Genel using yönergeleri: global using yönergeler using programınızdaki birçok dosya üzerinde aynı yönergeleri yinelemekten kaçınır.
  • Geliştirilmiş kesin atama: kesin atama ve null olabilme analizi, gibi yaygın desenleri daha iyi işler dictionary?.TryGetValue(key, out value) == true .
  • Sabit enterpolasyonlu dizeler: sabitlerden oluşan, ara değerli dizeler kendi sabitleri.
  • Genişletilmiş özellik desenleri: Özellik desenleri iç içe üyelere () erişilmesine izin verir if (e is MethodCallExpression { Method.Name: "MethodName" }) .
  • Sealed kaydı ToString: bir kayıt, korumalı bir temel kaydı devralınabilir ToString .
  • Artımlı kaynakoluş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ştirir.
  • Karışık ayrıştırmaları: deinşaat-atamalar ve ayrıştırma bildirimleri birlikte karışabilir ( (existingLocal, var declaredLocal) = expression ).
  • Yöntem düzeyi asyncmethodbuilder: bir yöntemi derlemek Için kullanılan asyncmethodbuilder async yerel olarak geçersiz kılınabilir.
  • #line span yönergesi: #line , hedef yayılımını () belirten yönergelerden, çok yönlü bir şekilde, Razor ayrıntılı denetim gibi kaynak oluşturuculara izin verir #line (startLine, startChar) - (endLine, endChar) charOffset "fileName" .
  • Lambda geliştirmeleri: Lambdalar üzerinde ö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.
  • Enterpolasyonlu dize işleyicileri: enterpolasyonlu dize işleyici türleri atamalar ve etkinleştirmeleri içinde enterpolasyonlu dizelerin
  • Dosya kapsamlı ad alanları: tek bir ad alanına sahip dosyalar ek küme ayraçları veya girintileme ( namespace X.Y.Z; ) gerektirmez.
  • Parametresiz yapı oluşturucuları: yapı türleri için parametresiz oluşturucular ve örnek alan başlatıcıları desteklenir.
  • CallerArgumentExpression: Bu öznitelik, bir metoda dizeler olarak geçirilen ifadeleri yakalamaya izin verir.

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

Razor (ASP.NET Core) düzenleyici

  • Artık Razor dosyalarında etkin yeniden yükleme desteği var.

Razor dosyalarındaki desteği yeniden yükleme

  • Razor Düzenleyicisi için performans açısından önemli geliştirmeler yaptık.

  • Biçimlendirme ve girintileme işlemlerini daha güvenilir ve önemli ölçüde daha hızlı hale getirdik.

  • Yeni Razor renkleri ekledik! Bu renkleri araçlar > seçenekler > ortam > yazı tipi ve renkler ' de özelleştirebilirsiniz.

  • Taghelmakacıları artık renklendirilir ve hızlı bilgi ve IntelliSense tamamlama araç ipuçlarında sınıflandırma desteğine sahiptir.

Taghelmakası sınıflandırma desteği

  • Razor yapıları için açılı dal vurgulaması ve gezinmeyi geliştirdik.

  • Açıklamalar artık otomatik tamamlama, akıllı girintileme, yorum devamlılığını otomatik olarak ekleme ve açıklama gezintisini engelleme.

Uzaktan test erken deneysel Önizleme

Linux kapsayıcıları, WSL ve SSH bağlantıları üzerinden uzak ortamlarda çalışan testlerin etkinleştirilmesi için çok erken bir deneysel önizlememiz var! Bu çok değerli bir özellik olsa da, geri bildirim topladığımızda, bu özellik hala erken deneysel bir durumda olduğundan, bu özelliğin sizin için de daha erken deneysel bir durumda olduğundan, Bağlı bir ortamı Visual Studio ile nasıl iletişim kurabildiğimiz ve yönetebilmemiz konusunda çok sayıda köşe senaryosu olduğunu düşündüğünüzden, normal olarak aldığınız düzlele karşılaşabilirsiniz. Uzaktan test 'in bu deneysel sürümünü kullanmak için bazı gereksinimler şunlardır:

  • Gerekli bağımlılıkları hedef ortamınıza yüklemeniz gerekir. Bu, testlerin .NET 3,1 ' i bir Linux kapsayıcısında çalıştırmasını hedeflemek istediğinizde, kapsayıcının Dockerfile aracılığıyla .NET 3,1 ' nin yüklü olduğundan emin olmanız gerekir. Birgün, test bağımlılıklarınızın herhangi birinin sorunsuz bir şekilde alınması için bir kurulum deneyimi oluşturmayı sevdik, ancak şimdilik ortamın sağlamasının toplu olarak Kullanıcı belirtimine ayrıldık.
  • Çıkış >testleri bölmesi aracılığıyla bağlantı durumunuzu uzak ortama izlemeyi planlayın. Örneğin, kapsayıcı durdurulmuşsa, çıkış >testleri bölmesinde bir ileti görüntülenir. Bağlantı kaybedildiği gibi görünüyorsa çıktınızdan emin olmak için tüm senaryoları algılayamıyoruz. Özellikle çıkış bölmesi "test" olarak ayarlanmamışsa iletiyi hemen görmeyebilirsiniz. Bağlantılar kaybolduğu için en iyi bildirim modeliyle hala deneme yaptık ve geri bildirim çok hoş geldiniz! Bağlantı kaybolduysa, bağlantıyı yerel ortamınıza geri ayarlamak için test Gezgini ' nde uzaktan test ortamı açılır öğesini kullanabilir ve sonra bağlantıyı yeniden başlatmak için uzak ortamı yeniden seçebilirsiniz.
  • Deneysel önizlemenin kapsamı şimdilik yalnızca .NET testlerindedir. C++ uzaktan test deneyimlerini desteklemeye olan ilginin farkındayız ve sonunda bunu da sağlamayı umuyoruz.

Uzaktan testi nasıl deneyebilirim?

  • Deneysel sürenin ardından resmi belgeler gelecektir. Şimdilik, test etmeye başlama için ihtiyacınız olan şeyler burada vetir.
  • Ortamlar, testenvironments.json çözümünün kökünde kullanılarak belirtilir. JSON dosya yapısı aşağıdaki şemaya uyar:
{
    "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 makinede Docker Desktop'ınız olması gerekir. İsteğe bağlı olarak, daha iyi performans için WSL2 tümleştirmeyi etkinleştirin.
    • Dockerfile için, ortamı çözümünün testEnvironments.json kökünde belirtilebilir:
          {
          "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"
          }
      ]
      }
      
    • Burada .NET 3.1'i hedef alan testleri çalıştırmaya yönelik bir Dockerfile örneği ve sonrasını vetir.
      FROM mcr.microsoft.com/dotnet/core/sdk:3.1
      
    • Aşağıdaki komutu (sonunda "." dahil) kullanarak kapsayıcınızı derleme: docker build -t <docker image name> -f <path to Dockerfile> .
  • Yerel WSL2 bağlantıları
    • Yerel makineniz üzerinde WSL2 tümleştirmeyi etkinleştirmeniz gerekir.
    • Ortamı, çözümünün testEnvironments.json kökünde bu şemayı takip eden belirtilebilir:
      {
      "version": "1",
      "environments": [
          {
          "name": "WSL-Ubuntu",
          "type": "wsl",
          "wslDistribution": "Ubuntu"
          }
      ]
      }
      
  • SSH bağlantıları
    • SSH bağlantıları eklemek > kaldırmak > Platformlar Arası > Bağlantı Yöneticisi Araçlar'a gidin. "Ekle"yi seçmek konak adını, bağlantı noktasını ve ihtiyacınız olan kimlik bilgilerini girmenize olanak sağlar.
    • Ortamı, çözümünüz testEnvironments.json kökünde aşağıdakilerle belirtilebilir:
      {
      "version": "1",
      "environments": [
          {
          "name": "ssh-remote",
          "type": "ssh",
          "remoteUri": "ssh://user@hostname:22"
          }
      ]
      }
      
  • Etkin ortam, Test Gezgini araç çubuğundaki bir açılır listeyle seçilir. Şu anda aynı anda yalnızca bir test ortamı etkin olabilir.

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

  • Ortam seçildikten sonra testler yeni ortamda keşfedilecek ve çalıştırilecek.

Testler uzak ortamlarda keşfedildi ve yürütülür

  • Artık testlerinizi uzak ortamda çalıştırabilirsiniz ve hata ayıkabilirsiniz!

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

  • Test Gezgini bazı eksik ortam önkoşullarını yükleme ve bunları yükleme denemesi istendiğinde, ancak sonuçta uzak ortamın sağlamanın büyük bir kısmını kullanıcının belirtimlerine bırakacağız.

Çalışırken Yeniden Yükleme Gezgini'nde [deneysel]: Artık arka Çalışırken Yeniden Yükleme teknolojisini kullanarak test deneyiminizi hızlandıran yeni bir deneysel özelliği denemek mümkündür. Bunun anlamı, tam derlemenin hala gerekli olduğu ilk test çalıştırmanızı tamamladikten sonra küçük değişiklikler yapabilirsiniz, testlerinizi çalıştırabilirsiniz ve tüm bu güncelleştirmeler yeniden tam derleme yapmak zorunda kalmadan yansıtabilirsiniz. Çalışmaya başlama ve daha fazla uyarı öğrenmek için aşağıdaki ayrıntılara bakın:

Visual Studio'de Test Gezgini için sık Visual Studio, küçük düzenlemeler arasında derleme gerektirmeden testleri çalıştırmaya olanak sağlar

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

Araçlar Visual Studio Seçenekler ve Test'te Etkin yeniden yüklemeyi etkinleştir seçeneğini > > ekran görüntüsü.

  • Bu seçenek etkinleştirildiğinde, testleriniz düzenleyicide yer alan unsaved değişikliklerle bile güncelleştiriliyor. Oluşturmamız gerekir, bu nedenle diskinizdeki ikili dosyalar eskidir. Bu, diskte neler olduğu ve test sonuçlarınız arasında tutarsızlıklar olduğu anlamına Visual Studio. Bu sorunları çözmek ve iade etmek için (Ctrl+Shift+B) ile tam derlemeyi tamamlayasınız. Herhangi bir açık derleme, sık sık yeniden yükleme test sonuçlarını normal tam derleme test sonuçlarıyla değiştirir.

  • Yeniden yüklemenin açılamayacak bazı düzenleme türleri vardır ve bu gibi durumlarda, varsayılan olarak tam derlemenin eski davranışına geri döner. Ayrıca, düzenleyicide yalnızca Visual Studio değişikliklerin izlenmektedir; düzenleyicide hedefleri değiştirme gibi opak durumlar varsayılan olarak tam derleme gerektirmeye geri dönmektedir.

  • Bazı büyük değişiklikler (1000'den fazla yöntem adlarını yeniden adlama gibi) yalnızca yeniden oluşturmaktan daha uzun sürebilir. Bu gibi durumlarda, çıkışta kullanıcılardan yeniden başlatmayı beklemek yerine tam yeniden oluşturma yapmalarını istenecek bir ileti yazdırılır.

  • Yığın izlemeleri henüz Test Gezgini'nde sık sık yeniden yükleme ile kullanılamaz. Yığın izlemesini kullanmak için tam derleme oluşturmanızı tavsiye etmek gerekir.

Test araçları

  • Test Gezgini'nde Göster (Ctrl+E,S): Test Gezgini'nde Göster, imlecinizin düzenleyicide test yönteminde olduğu yerden testin Test Gezgini'nde bulunduğu yere atlama özelliğidir. Bu size, çalışmakta olan belgeyi etkin belgede vurgulanmış olarak tutan Etkin Belgeyle Eşitle adlı benzer bir özelliği Çözüm Gezgini. Bu, Geliştirici topluluğunda en çok oy alan öğelerden biri olduğu için bu özelliği önceliklendirmemiz için oy veren ve yardımcı olan herkese teşekkür ederiz! Test Gezgini'nde Göster seçeneği düzenleyicide sağ tıklama menüsünden, CodeLens test yazılarından ve kodda sağ tıklamadan Çözüm Gezgini.

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

  • Web Yük Testi ve Kodlanmış UI Testi destek güncelleştirmesi: Web Yükü test kaydedicisi, Visual Studio 2022'de kullanılabilir. Kodlanmış UI Test kaydedicisi 2022'Visual Studio dahil olmayacaktır. Yine de Visual Studio 2022'de kod yazarak Kodlanmış UI testleri çalıştırabilir ve yeni testler oluşturabilirsiniz, ancak kaydedici bağlantı noktası için uygun olmayan 32bit bağımlılıklarını bağımlıdır. Kodlanmış UI Visual Studio 2019'u yan yana yükleyebilirsiniz. Web Yük Testi ve Kodlanmış UI Testi 2019'da kullanım dışı bırakıldı ve kullanıcılar üzerindeki etkiyi en aza indirgeyemediklerinden üründen kaldırmayı planlıyoruz. Web kullanıcı arabirimi testiyle ilgilenen kullanıcıları, yeni platformlar arası ve açık kaynak web testi çerçevesi Playwright'a benimsemelerini kesinlikle teşvik etmek istiyoruz. Tüm ana tarayıcıları desteklemenin ve zaman uyumsuz kodun çok daha iyi işlenmesine ek olarak Playwright'ın yerleşik test kaydı işlevselliği de vardır.

Güvenilen Konumlar

  • "Güven Ayarlar" yenilemesi kapsamında "Web'in İşareti" onay kutusunu kaldırdık ve daha önce güvenilmiyor olan kodu (örneğin dosyalar, projeler veya klasörler) açmaya çalışırken görüntülenen bir uyarı iletişim kutusu ekledik
  • Kod artık geçerli klasör veya üst klasör konumda güvenilir olabilir
  • Kullanıcı tarafından oluşturulan projeler otomatik olarak kullanıcının güvenilen konumlar listesine eklenir
  • İşlevsellik tarafından oluşturulan geçici konumlar için güven denetimlerini Visual Studio atlayabilirsiniz

İçerik (çözüm, proje, dosya veya klasör gibi) IDE içinde açıldığından önce, klasör konumunun daha önce güvenilir olduğunu doğrularız.

Güvenilmeyen kod algılanırsa, güvenlik etkileri hakkında sizi uyaran ve normal IDE işlemi öncesinde koda güvenmeni isteyen bir uyarı iletişim kutusu gösteririz.

Not: Bu özellik şu anda varsayılan olarak kapalıdır, ancak İçerik açılmadan önce güven > güven Ayarlar > karar verme seçenekleri aracılığıyla etkinleştirilebilir

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

Çözüm gezgininde Dış Kaynaklar düğümü artık C++ desteğine de sahip. Ayrıca, sembollere sahip tüm modüllerin henüz yüklenmemiş olduğunu size ek olarak yeni bir alt düğüm ekledik.

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

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

Dış Kaynaklar menüsü

Güncelleştirilmiş ve yenilenmiş simgeografisi

  • Visual Studio 2022 için kullanıcı arabirimini yenileme hedefimiz kapsamında tutarlılık, okunaklılık ve bilindiklik temel alarak IDE'de yeni ve güncelleştirilmiş simgeler bulabilirsiniz.

Koyu ve açık arka planlara sahip yeni simge örnekleri

XAML Çalışırken Yeniden Yükleme

.NET XAML Çalışırken Yeniden Yükleme değil, uygulama deneyiminde ve ayarların XAML Çalışırken Yeniden Yükleme ilgili olduğunu net bir şekilde ifade etmek için XAML Çalışırken Yeniden Yükleme araç çubuklarını Çalışırken Yeniden Yükleme.

XAML uygulamaları için güncelleştirilmiş uygulama araç çubuğu

Ayrıca, ortak seçenekleri birlikte daha iyi düzenlemek için ayarlar bölmesini kolaylaştırdik.

Güncelleştirilmiş XAML Ayarlar seçenekleri paneli

XAML Canlı Önizleme

XAML Live Preview artık uygulamalarını Android Emulator 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 bunu uygulamanın içinde bulunan bir Visual Studio. Bu, çalışan uygulamayla XAML Çalışırken Yeniden Yükleme bir yandan canlı XAML kod değişiklikleri yaparken diğer yandan bu değişiklikleri Visual Studio içinde görmek için Visual Studio'nin daha kolay bir şekilde kullanımını 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 uygulama başlatma
  • "XAML Live Preview" yazarak veya uygulama içinde "XAML Live Preview'da Göster" düğmesini kullanarak hızlı arama yoluyla XAML Canlı Önizleme'yi açın

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

  • Kaydırma ve Yakınlaştırma: Uygulama kullanıcı arabiriminizi yakalayan pencereyi kaydırabilir ve yakınlaştırabilirsiniz; böylece uygulamanın tamamını veya yalnızca düzenlemeye çalıştığınız parçaları göstermek için bu pencereyi ihtiyaçlarınıza uyacak şekilde kullanabilirsiniz. Kaydırma ve kaydırma, bir dokunmatik yüzeyle (iki parmak kaydırma), fare kaydırma tekerleği veya CTRL + Tıklama ile birlikte çalışır ve içeriği sürükleyebilirsiniz.
  • Cetveller: Çalışan uygulamanıza katman eklemek için bir veya daha fazla yatay/dikey cetvel ekebilirsiniz. Bu çizgiler daha sonra fare veya klavye kullanılarak konuma taşınabilirsiniz. Klavye ile cetvelleri hareket ettirırken, hassas konumlandırma için ok tuşları ve hızlı konumlandırma için Ctrl + ok tuşu kullanın. Ayrıca, cetvelleri seçerek (üzerine tıklayarak) ve silme tuşuna basarak da silebilirsiniz.
  • Öğe Seçimi & bilgi ipuçları: Öğe seçimiyle, Canlı Görsel Ağaç veya uygulama içinde araç çubuğundan kullanmak istediğiniz aynı özelliği kullanarak düzenlemek istediğiniz XAML öğesini seçin. Seçildikten sonra yazı tipleri, renkler, kenar boşluğu/doldurma bilgileri gibi seçili öğe hakkında ek bilgi almak için yeni 'bilgi ipuçları' özelliğini etkinleştirebilirsiniz. Öğe Seçimi kullanılırken, kaynak XAML'ye gitmek için Canlı Görsel Ağaç araç çubuğu düğmesi veya > Seçenekleri > Çalışırken Yeniden Yükleme Öğe Önizlemesi'nin etkinleştirilmesini göz önünde bulundurabilirsiniz.
  • Windows geçiş: uygulama pencerelerinin hangi olarak yakalandığını denetleyebilirsiniz.

Geliştirilmiş XAML bağlama deneyimi

  • Özellik denetçisinde geliştirilmiş veri bağlama simgeleri. Artık bir özelliğin yanındaki "silindir" simgesine tıklayarak veri bağlama Iletişim kutusuna hızlıca erişebilirsiniz ve ' x ' simgesine tıklayarak bağlamayı temizleyebilirsiniz.

Özellik denetçisinde simgeleri bağlama

  • Hızlı eylemlerdeki bağlama sekmesi eklendi, böylece XAML Tasarımcısı 'ndan yalnızca birkaç tıklamayla bağlamalar oluşturabilirsiniz.

Hızlı eylemlerdeki bağlama sekmesi

  • Git üzerinde özellik seçmek için veri bağlama Iletişim kutusuna hedef özellik açılan kutusu eklendi.

Hedef özellik açılan kutusuyla veri bağlama Iletişim kutusu güncelleştirildi

Geliştirici Community en iyi oylanan sorunlar

lütfen bu sürümdeki geliştirici Community düzeltmelerinin tam listemizi inceleyin.


Bilinen Sorunlar

aşağıdaki bağlantıyı izleyerek Visual Studio 2022 ' deki tüm açık sorunları ve kullanılabilir geçici çözümleri görüntüleyin.


Görüş ve öneriler

Görüşlerinizi almaktan mutluluk duyarız! Sorun Bildirebilirsiniz veya Özellik Önerebilirsiniz Feedback Icon yükleyicinin veya Visual Studio IDE'nin sağ üst köşesindeki Geri Bildirim Gönder simgesini veya Yardım > Gönder'i kullanarak. Sorunlarınızı izlemek için Visual Studio Geliştirici Community' yi kullanarak yorum ekleyebilir veya çözümler 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şı