Visual Studio logosu Visual Studio 2022 Önizleme sürüm notları

Sürüm 17.12 Önizleme 1

Yayın tarihi: 13 Ağustos 2024

Visual Studio 2022 v17.12'nin kullanılabilirliğini duyurmaktan heyecan duyuyoruz. Bu güncelleştirme, .NET 9 projeleriyle ve yeni yapay zeka üretkenliği özellikleriyle çalışmaya yönelik harika geliştirici deneyimleri sağlamaya odaklanır ve iyileştirmelere devam eder.

Üretkenlik Topluluktan
Hata Listesi Önizleme 1'den kopyalama Geri bildirim bileti
Kod Arama Önizlemesi 1'de herhangi bir yere satıra gitme Geri bildirim bileti
Kod Arama penceresini yerleştirme Önizleme 1 Geri bildirim bileti
Git Preview 1 ile dosya yeniden adlandırmayı yönetme Geri bildirim bileti
İç GitHub depoları oluşturma Önizleme 1 Geri bildirim bileti
Hata ayıklama ve tanılama Topluluktan
Blazor WebAssembly hata ayıklama Önizleme 1
IDE Topluluktan
MotW güvenlik uyarıları Önizleme 1
Masaüstü Topluluktan
Gelişmiş WinUI bileşenleri arama Önizleme 1
Web Topluluktan
İstek Değişkenleri Önizleme 1 için HTTP Dosyası desteği Geri bildirim bileti
JavaScript ve TypeScript Preview 1'de Vitest desteği Geri bildirim bileti
Daha fazla dil için Katman İpuçları desteği Önizleme 1 Geri bildirim bileti
.NET Topluluktan
.NET 9 Preview 1 ile daha fazlasını elde edin
NuGet geçişli paketleri denetler Önizleme 1 Geri bildirim bileti
En önemli hata düzeltmeleri Topluluktan
VSTest@2 Preview 1 ile Azure DevOps işlem hatlarında hata Geri bildirim bileti
Açık küme ayracı vurgulanması, kapanış ayracı Önizleme 1'i vurgulamıyor Geri bildirim bileti
Bulma ve değiştirme, Seçimi Geçerli belge Önizleme 1'e geri döndürmeye devam ediyor Geri bildirim bileti
MSVC yanlış bir cv-/ref-qualified işlev türüne başvurunun ... Önizleme 1 Geri bildirim bileti
Yüksek çekirdekli cpu'nun Önizleme 1'inde ResourceManager.cpp tetiklenen onay Geri bildirim bileti
SPGO özellikli Önizleme 1 ile x86 derleme satır içi yıkıcıda hata Geri bildirim bileti

Not

Bu sürüme giren tüm kullanıcı tarafından bildirilen özellik isteklerinin ve hata düzeltmelerinin tam listesine bakın.

Üretkenlik

Hata Listesi Önizleme 1'den kopyalama

Hata Listesi'nden bir hata kopyalanması artık satırın tamamı yerine yalnızca açıklamayı panoya kopyalar.

Hata Listesi'nde nasıl düzeltileceğini bilmediğiniz bir hata görürsünüz. Bu nedenle, bunu seçin ve bir web araması için açıklamayı kopyalamak için tuşuna basın Ctrl+C . Arama altyapısına yapıştırdıktan sonra, yalnızca açıklama yerine tüm sütun başlıklarını ve satır değerlerini kopyalamış olduğunu fark ettiniz. Şimdi web araması yapabilmeniz için önce hata açıklaması dışındaki her şeyi silmeniz gerekir. Bu hantal, ama şimdi bir düzeltmemiz var!

Hata Listesi kopyalama düzeltmesi

kullanarak Ctrl+CHata Listesi'nden bir hata kopyaladığınızda, panoya yalnızca açıklama kopyalanır. Bu, hatayı çevrimiçi olarak aramayı veya başkalarıyla paylaşmayı kolaylaştırır.

Yine de hataya sağ tıklayıp bağlam menüsünden Satırı Kopyala'yı seçerek veya öğesine tıklayarak Ctrl+Shift+Csatırın tamamını kopyalayabilirsiniz.

Hata açıklamasıyla yapmak istediğiniz şey bir web araması yapmaksa, çevrimiçi ortamda hatayla ilgili bilgi aramak için tuşuna basmanız Ctrl+F1 gerekir.

📣Geri bildiriminizi paylaşmak ve konuşmaya devam etmek için özellik biletine bakın.

Kod Arama Önizlemesi 1'de herhangi bir yere satıra gitme

Kod Arama'da artık geçerli belgedeki veya belirtilen diğer belgedeki belirli bir satıra gidebilirsiniz.

Bazen kodunuzda belirli bir satırda sorun olduğunu bilirsiniz ve buna hızla ulaşmak istersiniz. Belki de bir dosyanın 43. satırında bir hata oluştuğundan veya belirli bir dosyanın en altına ulaşmak istediğinizden bahsedilmiştir.

Kod Arama artık kodunuzda belirli bir satıra hızlı gezintiyi destekliyor.

Kod Arama'yı açın ve iki nokta üst üste + satır numarası kullanarak geçerli belgedeki bir satıra gidin. Örneğin, :39 etkin dosyada 39. satıra gider.

Geçerli belgede satıra gitme

Dosya adı + iki nokta üst üste + satır numarası kullanarak farklı bir belgedeki bir satıra da gidebilirsiniz. Örneğin, Order:43 Order.cs 43. satıra gider. Tam dosya adını belirtmezseniz, arama en iyi eşleşmeyi bulmaya çalışır.

Farklı belgedeki satıra gitme

📣Geri bildiriminizi paylaşmak ve konuşmaya devam etmek için özellik biletine bakın.

Kod Arama penceresini yerleştirme Önizleme 1

Artık Kod Arama penceresini yerleştirme ve otomatik gizleme gibi özelliklerle serbestçe konumlandırabilirsiniz.

Yolunuzu aşmamak için Kod veya Özellik Arama'ya ihtiyacınız varsa artık arama penceresinin davranışı üzerinde daha fazla denetim sahibi olursunuz.

Artık arama penceresini sabitleyebilir ve Çözüm Gezgini ve diğerleri gibi araç penceresi eylemleri gerçekleştirebilirsiniz.

Alta yerleştirilmiş arama

Kod Araması veya Özellik Araması'nı açtıktan sonra sağ üstteki kutu simgesine tıklayarak bunu bir araç penceresine dönüştürün. Başka bir yere yerleştirmeyi, çıkarmayı, otomatik gizlemeyi vb. seçebilirsiniz. Araç penceresini kapatıp aramayı yeniden açarak kapatılabilir pencereye dönebilirsiniz.

Pencerenin sağ üst kısmında, ikinci simge araç penceresi simgesidir

Ayrıca aramada önizleme deneyimini basitleştirdik ve temizledik. Önizlemeyi açmak ve kapatmak için artık göz simgesiyle gösterilen tek bir düğme vardır.

Pencerenin sağ üst kısmında, ilk simge önizleme paneli simgesidir

Önizleme panelinin konumu, arama penceresinin boyutlarına göre de ayarlanır.

Sağa yerleştirilmiş arama

📣Geri bildiriminizi paylaşmak ve konuşmaya devam etmek için özellik biletine bakın.

Git Preview 1 ile dosya yeniden adlandırmayı yönetme

Yeni bir bildirimle dosyaları yeniden adlandırırken içiniz rahat olsun.

Çözüm gezgininden dosyaları yeniden adlandırdığınızda, Git'te yeniden adlandırmaları görmek için değişikliklerinizi hazırlamanız anımsatılır. Bu, Git'in dosya değişikliğinizi fark edip doğru şekilde izlediğine olan güveninizi artırır. Bunun birçok müşteri için karışıklığa neden olduğunu belirledik, bu nedenle yeni bir bildirim oluşturmak için Geliştirici Topluluğu içindeki kişilerle birlikte çalıştık.

Git mv bildirimi

📣Geri bildiriminizi paylaşmak ve konuşmaya devam etmek için özellik biletine bakın.

İç GitHub depoları oluşturma Önizleme 1

Visual Studio artık iç depo oluşturmayı destekliyor ve yeni bir proje başlatırken size daha fazla güven vermek için her depo türü için rehberlik içeriyor.

Visual Studio artık GitHub kuruluşlarınız için iç depoları destekliyor. Ayrıca, kullandığınız hesaba bağlı olarak yeni projenin görünürlüğünü daha net hale getirmek için her depo türüne yönelik yönergeler de dahil ettik.

Yeni depo iletişim kutusu

📣Geri bildiriminizi paylaşmak ve konuşmaya devam etmek için özellik biletine bakın.

Hata ayıklama ve tanılama

Blazor WebAssembly hata ayıklama Önizleme 1

.NET 9 veya üzerini hedefleyen Blazor WebAssembly uygulamaları için geliştirilmiş hata ayıklama deneyiminin önizlemesi.

Visual Studio şimdi .NET 9 veya sonraki sürümleri hedefleyen Blazor WebAssembly uygulamaları için geliştirilmiş bir hata ayıklama deneyiminin önizlemesini sunuyor:

  • Hata ayıklayıcısında gösterilen veri türleri artık beklenen .NET veri türleriyle eşleşiyor.
  • Tür üyeleri ve üye görünürlüğü beklenen simgeleri kullanıyor.
  • Görüntülenen çağrı yığını yalnızca .NET çağrı yığınını gösterecek şekilde temizlenir ve Yalnızca Kendi Kodum ayarına uygun şekilde uygulanır.
  • Modüller penceresi artık destekleniyor.
  • Anında işlem penceresindeki ifade değerlendirme desteği ile saatler ve koşullu kesme noktaları genişletildi ve geliştirildi.

Blazor hata ayıklama geliştirmeleri

Yeni önizleme hata ayıklama deneyimini etkinleştirmek için:

  • Yeni .NET 9+ Mono hata ayıklayıcısını etkinleştir ayarını etkinleştirin.
  • En son .NET 9 SDK'sını yükleyin.
  • Blazor uygulamanızı .NET 9'u hedefleyecek şekilde güncelleştirin.

Bilinen sınırlamalar:

  • Hata ayıklama sırasında çalışırken yeniden yükleme henüz tam olarak işlevsel değil. Bu da gelecekteki bir güncelleştirmeyle sunulacak.

IDE

MotW güvenlik uyarıları Önizleme 1

Web işareti (MotW) güvenlik uyarıları artık genel güven işlevselliğiyle tümleştirilmiştir.

Visual Studio, Web İşareti (MotW) tanımlayıcısıyla etiketlenmiş içeriği açmaya çalıştığınızı algıladığında bir güvenlik uyarısı gösterir.

Güvenle ilgili bu yeni uyarı, internet indirmeleri gibi güvenli olmayabilecek kaynaklardan içerik açma risklerini iletir.

Visual Studio'da web indirmelerini açmanın güvenlik risklerine ilişkin güven iletişim kutusu uyarısı

Araçlar > Seçenekler Ortamı'nın altındaki Güven Ayarları'na giderek varsayılan güven deneyimini değiştirebilirsiniz>.

Güven Ayarları, varsayılan güven deneyimini özelleştirmenize olanak sağlar

Masaüstü

Gelişmiş WinUI bileşenleri arama Önizleme 1

Geliştiriciler için bileşen konumunu basitleştirerek geliştirilmiş Visual Studio Yükleyicisi araması ile WinUI proje kurulumunu geliştirin.

En son Visual Studio yükleyici güncelleştirmemizle WinUI proje kurulumunuzu daha da kolaylaştırın! Geliştiriciler artık WinUI ile ilgili bileşenleri hızla bulabilir ve boş bir arama sonucunda gezinmenin önceki sıkıntısını ortadan kaldırır. Bu geliştirme, geliştirme ortamı yapılandırmasını basitleştirerek daha sezgisel ve verimli bir kullanıcı deneyimi sağlar.

Visual Studio Yükleyicisi'da WinUI tek tek bileşenleri için yeni aramayı gösteren resim

Visual Studio Yükleyicisi açın, bileşenler sekmesine gidin ve WinUI ile ilgili anahtar sözcükleri (WinUI, WinRT) arayın!

Web

İstek Değişkenleri Önizleme 1 için HTTP Dosyası desteği

HTTP dosyaları artık İstek Değişkenlerini destekliyor. Burada bir istek gönderebilir ve ardından yanıttaki veya istekteki verileri gelecekteki isteklerde kullanabilirsiniz.

HTTP dosyalarıyla çalışırken yaygın bir senaryo bir uç noktayı çağırmak ve yanıttan bir değer alıp sonraki bir istekte göndermektir. Örneğin, kullanıcının kimliğini doğrulamak için bir uç nokta çağırabilir ve daha sonra yapılan çağrılarda oturum açma uç noktasından döndürülen belirteci geçirebilirsiniz. Bu sürümden önce Visual Studio'da bu mümkün değildi. Aşağıdaki kod parçacığında bunun http dosyasında nasıl çalıştığına ilişkin bir örnek görebilirsiniz.

# @name login
POST {{TodoApi_HostAddress}}/users/token
Content-Type: application/json

{
  "username": "{{myusername}}",
  "password": "{{mypassword}}"
}

###

GET {{TodoApi_HostAddress}}/todos
Authorization: Bearer {{login.response.body.$.token}}

###

Yukarıdaki kod parçacığında, kullanıcının kimliğini doğrulamak için uç noktaya ilk çağrı /users/token yapan iki istek vardır. İstek satırının hemen üstünde açıklamasını # @name logingörürsünüz. Bu söz dizimi, isteğe bir ad verir (login bu örnekte) ve bunu İstek Değişkeni olarak yapılandırılır. İstek gönderildiğinde, gelecekte bu HTTP dosyasından gönderilen herhangi bir istekteki yanıt veya istekteki değerlere erişebilirsiniz. Bu bir oturum açma isteği olduğundan gizli dizilerinizin güvenliğini sağlamak için dikkatli olmanız gerekir. Visual Studio'da gizli dizilere güvenli bir şekilde erişme desteğimiz vardır. Gizli dizileri işleme hakkında daha fazla bilgi için belgelerdeki bu bölüme bakın.

İkinci istek, /todoskimliği doğrulanmış bir uç noktaya çağrı yapar ve bu da bu kullanıcının öğelerini döndürür todo . İstekte belirteç satırıyla üst bilgi olarak geçirilir.

Authorization: Bearer {{login.response.body.$.token}}

/users/token nokta JSON'da bir yanıt döndürür. Belirteç, yanıtın gövdesinde $.token adlı bir JSON Yolu ifadesiyle ayıklanır. JSON Yol ifadesi yerine XML döndüren bir uç nokta kullanıyorsanız, bir XPath ifadesi geçirebilirsiniz. Visual Studio'daki destek, Visual Studio Code'da kullanılabilen REST İstemcisi için mevcut işletim sistemi uzantısından esinlenmiştir. Burada İstek Değişkenleri hakkında daha fazla bilgi edinebilirsiniz. Bu desteği çok daha ayrıntılı bir şekilde tartışmak için yakında belgeler ekleyeceğiz.

📣Geri bildiriminizi paylaşmak ve konuşmaya devam etmek için özellik biletine bakın.

JavaScript ve TypeScript Preview 1'de Vitest desteği

JavaScript ve TypeScript projelerini kullanırken artık Vitest ile test çalışmaları yazabilirsiniz.

JavaScript ve TypeScript projelerinde (JSTS), .esproj uzantısına sahip projelerde, Vitest ile yazılan testleri bulma ve çalıştırma desteği ekledik. Vitest testlerini kullanmaya başlamak için bir JSTS projesinde Çözüm Gezgini npm kullanarak vitest paketini ekleyin ve proje dosyasını aşağıdaki özelliklerin bildirileceği şekilde değiştirin.

    <JavaScriptTestRoot>test\</JavaScriptTestRoot>
    <JavaScriptTestFramework>Vitest</JavaScriptTestFramework>

JavaScriptTestRoot değerinin test dosyalarınızın bulunduğu yere doğru göreli yola sahip olduğundan emin olun.

Testlerinizi doğru klasöre ekleyin ve projeyi/çözümü oluşturun. Bundan sonra Test Gezgini'nde test çalışmalarını görmeniz gerekir.

Vitest testleri ile test gezgini

Test Gezgini'nde bulunan farklı test çalışmalarını görebilir ve test çalışmalarını yürütebilirsiniz.

Hata ayıklama için henüz destek eklemedik, ancak bu desteği yakında ekleyeceğiz. Bilinen bir diğer sorun, Test Gezgini'nde bir test çalışması üzerine çift tıkladığınızda, bunun sizi test çalışması tanımlandığı dosyanın ilk satırına götürmesidir. Bu deneyimi de geliştireceğiz.

📣Geri bildiriminizi paylaşmak ve konuşmaya devam etmek için özellik biletine bakın.

Daha fazla dil için Katman İpuçları desteği Önizleme 1

JavaScript, TypeScript, Python ve Razor'a katman İpucu desteğinin yanı sıra davranışını denetlemek için bir ayar eklenmiştir.

Katman ipuçları, satır içinde işlenen kaynak kodu hakkında ek bilgiler gösterir. Bu genellikle doğrudan düzenleyicinizde kodunuzdan çıkarılmış türleri, parametre adlarını ve diğer örtük bilgileri göstermek için kullanılır.

JavaScript, TypeScript, Razor ve Python'da Inlay İpuçlarını göstermek için destek ekledik. Ayrıca, bu dillerdeki ipuçlarının davranışını özelleştirebilmeniz için yeni bir ayar ekledik. Bu ayar henüz C# ve C++ için geçerli değildir. Bu diller için Katman İpuçları'nı etkinleştirmek için Araçlar > Seçenekleri Metin Düzenleyicisi > Tüm Diller > İçine Bindirme İpuçları'ndaki yeni > ayarı kullanabilirsiniz. Yeni seçeneği aşağıdaki görüntüde görebilirsiniz.

Bindirme İpuçları genel ayarı

Bindirme İpuçları için üç farklı değer vardır.

  • Her zaman Inlay İpuçlarını göster.
  • Alt+F1 tuşlarına basıldığında Alt ve F1 tuşlarına basıldığında Yalnızca Katman İpuçları gösterilir. Bu varsayılan değerdir.
  • Hiçbir zaman Katman İpuçları gösterilmez.

JavaScript ve TypeScript için, Bindirme İpuçlarının davranışını yapılandırmak için ek seçenekler sayfası vardır. Bu, Araçlar > Seçenekleri Metin Düzenleyicisi > JavaScript/TypeScript > Gelişmiş > Genel sayfasında > bulunabilir.

Bu seçenekler aşağıdaki görüntüde gösterilir.

Bindirme İpuçları genel TypeScript ayarı

Varsayılan olarak, tüm bu seçenekler devre dışı bırakılır; JavaScript ve TypeScript dosyaları için görüntülemek istediğiniz ipuçlarını etkinleştirmeniz gerekir. Gelecekteki bir güncelleştirmede bu seçenekler için varsayılan değerleri değiştirebiliriz. Aşağıdaki resimde, Inlay İpuçlarını gösteren bir JavaScript dosyası görebilirsiniz.

Bindirme İpuçları

Önceki görüntüde gösterilen Bindirme İpuçları, değişkenin türünü belirtmek için ile : number gri kutulardır.

📣Geri bildiriminizi paylaşmak ve konuşmaya devam etmek için özellik biletine bakın.

.NET

.NET 9 Preview 1 ile daha fazlasını elde edin

.NET 9, üretkenlik geliştirmelerine, kolaylaştırılmış dağıtımlara ve hızlandırılmış yapay zeka tümleştirmesine odaklanarak bulutta yerel ve akıllı uygulama geliştirmeyi yükseltir.

.NET 9 buluta özel ve akıllı uygulama geliştirmesini yükselterek üretkenlik iyileştirmelerine, kolaylaştırılmış dağıtımlara ve hızlandırılmış yapay zeka tümleştirmesine odaklanarak geliştiriciler için çeşitli uygulamalarda üstün performans sağlar. Visual Studio 17.12, .NET 9 geliştirmesini tamamen destekler ve sunduğu tüm geliştirmelerden tam olarak yararlanmanızı kolaylaştırır.

.NET 9

Buna ek olarak, IDE'nin .NET ile çalışmayı ve ASP.NET her zamankinden daha keyifli hale getiren özelliklerin güncelleştirmelerini bulacaksınız.

NuGet geçişli paketleri denetler Önizleme 1

NuGet, varsayılan denetim ayarlarını geçişli paketleri içerecek şekilde değiştiriyor.

İlk olarak Visual Studio 17.8'e (ve .NET 8) eklenen NuGet Denetimi, projeniz tarafından kullanılan paketlerde bilinen güvenlik açıkları varsa geri yükleme sırasında uyarılar sağlar.

Tüm yapılandırma seçenekleri dahil olmak üzere NuGet Denetimi hakkında daha fazla bilgi için NuGet Denetimi belgelerine bakın.

NuGet Denetimi

Bu sürümde, NuGetAuditMode için NuGet Denetimi varsayılanları değişti. Daha önce, varsayılan olarak yalnızca doğrudan paket başvuruları bildiriliyordu (<NuGetAuditMode>direct</NuGetAuditMode>). Artık varsayılan olarak, bilinen güvenlik açıklarına sahip hem doğrudan hem de geçişli paketler (<NuGetAuditMode>all</NuGetAuditMode>) konusunda uyarır. Önceki varsayılan değerleri korumak için projenizde veya Directory.Build.props dosyanızda tercih ettiğiniz NuGetAuditMode değerini açıkça ayarlayabilirsiniz.

Alternatif olarak, SdkAnalysisLevel değerini 9.0.100'den düşük bir sürüm numarasına ayarlayabilirsiniz, ancak bunun SdkAnalysisLevel kullanan tüm özellikleri etkileyeceğini unutmayın.

NuGet Denetimi, güvenlik açığı veritabanı sağlayan bir paket kaynağı gerektirir. NuGet.org, GitHub Advisories Veritabanından güvenlik açıkları sağlar.

Visual Studio 17.12'den başlayarak NuGet.Config dosyalarında denetim kaynaklarını belirtmek artık mümkün olduğundan artık nuget.org paket kaynağı olarak kullanılması gerekmez.

paket kaynağı olarak nuget.org kullanmıyorsanız ve geri yükleme sırasında güvenlik açığı olan paket raporlaması için NuGet Denetimi'ni kullanmak istiyorsanız, çözüm dizininizdeki bir NuGet.Config dosyasına aşağıdakileri ekleyin:

<confiuration>
  <!-- any existing config, including <packageSources> -->
  <auditSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </auditSources>
</configuration>

📣Geri bildiriminizi paylaşmak ve konuşmaya devam etmek için özellik biletine bakın.



İpucu

Visual Studio'nun gelecekteki güncelleştirmelerinde görmek istediğiniz özellikler varsa lütfen bir özellik bileti göndererek bize bildirin.

Not

Yol haritamız Visual Studio'nun geleceğine yönelik öncelikleri ve yönü gösterir, bu nedenle göz atmaya dikkat edin.

Not

Bu güncelleştirme, 3. Taraf Bildirimlerinde veya ilgili lisansta belirtildiği gibi ayrı olarak lisanslandırılmış yeni Microsoft veya üçüncü taraf yazılımları içerebilir.

Ekipte yer alan hepimizden Visual Studio'yu seçtiğiniz için teşekkür ederiz. Sorularınız varsa lütfen Twitter'dan veya Geliştirici Topluluğu bize ulaşın.

İyi kodlamalar!
Visual Studio ekibi