Bagikan melalui


logo Visual Studio catatan rilis Visual Studio 2022

Kami sangat senang mengumumkan ketersediaan Visual Studio 2022 v17.12. Pembaruan ini berfokus pada memberikan pengalaman pengembang yang fantastis untuk bekerja dengan proyek .NET 9 dan fitur produktivitas AI baru, bersama dengan peningkatan berkelanjutan secara menyeluruh.

Fitur

Daftar fitur untuk 17.12 yang dirilis pada 12 November 2024.

Produktivitas

Salin dari 📣 Daftar Kesalahan

Menyalin kesalahan dari Daftar Kesalahan sekarang hanya menyalin deskripsi, bukan seluruh baris ke clipboard.

Anda melihat kesalahan dalam Daftar Kesalahan yang tidak Anda ketahui cara memperbaikinya. Jadi, Anda memilihnya dan menekan Ctrl+C untuk menyalin deskripsi untuk pencarian web. Setelah Anda menempelkannya ke mesin pencari, Anda menyadarinya menyalin semua header kolom dan nilai baris alih-alih hanya deskripsi. Sekarang Anda harus menghapus semuanya kecuali deskripsi kesalahan sebelum Anda dapat melakukan pencarian web. Ini rumit, tapi sekarang kita punya perbaikan!

perbaikan salinan Daftar Kesalahan

Saat Anda menyalin kesalahan dari Daftar Kesalahan menggunakan Ctrl+C, hanya deskripsi yang disalin ke clipboard. Ini membuatnya lebih mudah untuk mencari kesalahan secara online atau membagikannya dengan orang lain.

Anda masih dapat menyalin seluruh baris dengan mengklik kanan kesalahan dan memilih Salin Baris dari menu konteks atau menekan Ctrl+Shift+C.

Jika apa yang ingin Anda lakukan dengan deskripsi kesalahan adalah melakukan pencarian web, maka cukup tekan Ctrl+F1 untuk mencari informasi tentang kesalahan secara online.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Buka baris di mana saja di 📣 Pencarian Kode

Dalam Pencarian Kode, Anda sekarang dapat menavigasi ke baris tertentu dalam dokumen saat ini atau dokumen tertentu lainnya.

Terkadang Anda tahu bahwa ada masalah pada baris tertentu dalam kode Anda dan Anda ingin melakukannya dengan cepat. Mungkin Anda diberitahu tentang kesalahan yang dilemparkan pada baris 43 dari beberapa file, atau Anda ingin sampai ke bagian bawah file tertentu.

Pencarian Kode sekarang mendukung navigasi cepat ke baris tertentu dalam kode Anda.

Buka Pencarian Kode dan buka baris di dokumen saat ini dengan menggunakan titik dua + nomor baris. Misalnya, :39 akan menavigasi ke baris 39 dalam file aktif.

Masuk ke baris dalam dokumen saat ini

Anda juga dapat masuk ke baris dalam dokumen yang berbeda dengan menggunakan nama file + titik dua + nomor baris. Misalnya, Order:43 akan menavigasi ke baris 43 di Order.cs. Jika Anda tidak menentukan nama file yang tepat, maka pencarian akan mencoba menemukan kecocokan terbaik.

Masuk ke baris di dokumen yang berbeda

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Dock jendela Pencarian Kode 📣

Anda sekarang dapat dengan bebas memposisikan jendela Pencarian Kode dengan kemampuan seperti docking dan persembunyian otomatis.

Jika Anda memerlukan Pencarian Kode atau Fitur untuk menjauh dari jalan Anda, Anda sekarang memiliki kontrol lebih atas perilaku jendela pencarian.

Anda sekarang dapat menambungkan jendela pencarian dan melakukan tindakan jendela alat dengannya, seperti Penjelajah Solusi dan lainnya.

Pencarian ditampung ke bawah

Setelah membuka Code Search atau Feature Search, klik ikon kotak di kanan atas untuk mengonversinya menjadi jendela alat. Anda dapat memilih untuk merapat ke tempat lain, memunculkannya, menyembunyikan otomatis, dll. Anda dapat kembali ke jendela popup yang dapat dihentikan dengan mengklik ikon di kanan atas.

Kanan atas jendela, ikon kedua adalah ikon jendela alat

Kami juga telah menyederhanakan dan membersihkan pengalaman pratinjau dalam pencarian. Sekarang ada satu tombol, ditunjukkan dengan ikon mata, untuk mengaktifkan dan menonaktifkan pratinjau.

Kanan atas jendela, ikon pertama adalah ikon panel pratinjau

Posisi panel pratinjau juga akan menyesuaikan berdasarkan dimensi jendela pencarian.

Pencarian ditampelkan ke kanan

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Menyesuaikan indikator teks yang diciutkan 📣

Atur warna kustom untuk indikator teks yang diciutkan di editor Visual Studio.

Anda sekarang dapat menyesuaikan pengalaman editor Anda lebih jauh dengan opsi baru untuk menyesuaikan indikator teks yang diciutkan:

Indikator teks yang diperluas dan diciutkan yang dikustomisasi di Editor Visual Studio

Untuk mencobanya dan mengatur warna latar depan dan latar belakang kustom untuk masing-masing warna, navigasikan ke Alat > Opsi > Lingkungan > Font dan Warna.

Entri indikator teks yang diciutkan di halaman Font dan Warna

Di sana, Anda akan menemukan dua item baru untuk penyesuaian:

  • Indikator Teks Yang Diciutkan (Diciutkan)
  • Indikator Teks Yang Diciutkan (Diperluas)

Anda dapat mengatur warna untuk indikator yang diciutkan dan diperluas secara independen satu sama lain menggunakan warna yang telah ditentukan sebelumnya atau warna kustom yang Anda pilih.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Refresh 📣 hasil Temukan Anda

Anda sekarang dapat menyegarkan hasilnya ke Pencarian sebelumnya untuk mendapatkan up-tokecocokan pencarian tanggal.

Kami mendengar dari banyak pengguna bahwa itu membuat frustrasi harus membuka kembali jendela Temukan dan melalui gerakan mengulangi pencarian untuk mendapatkan hasil yang diperbarui. Mungkin Anda baru saja merefaktor beberapa kode dan ingin mengonfirmasi semuanya telah diubah seperti yang diharapkan, atau Anda menarik beberapa perubahan terbaru dan memerlukan operasi Temukan baru-baru ini untuk mencerminkan pembaruan tersebut.

Setelah menyelesaikan Temukan di File, Anda sekarang akan memiliki opsi untuk Merefresh hasil Temukan di jendela. Anda akan mendapatkan hasil yang diperbarui tanpa harus mengulangi pencarian.

tombol Refresh temukan di kanan berhenti temukan

Kami juga telah mendesain ulang opsi Repeat Find sebelumnya untuk membedakannya dari Refresh. Sekarang direpresentasikan sebagai Ubah Temukan dengan ikon pensil. Tombol ini masih akan membuka kembali Temukan di File dengan kriteria pencarian yang sama dengan yang Anda gunakan untuk jendela hasil tersebut.

tombol Ubah Temukan di ujung kanan toolbar

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Ruang lainnya untuk 📣 bilah gulir horizontal

Anda sekarang dapat mengontrol visibilitas indikator tingkat file di CodeLens.

Area dengan bilah gulir horizontal bisa sangat berantakan di Visual Studio. Kami membantu mempermudah pembersihan dengan menonaktifkan indikator tingkat file di CodeLens secara default.

Indikator CodeLens tingkat file di margin editor bawah

Jika Anda menginginkan opsi aktif, Anda dapat menemukan opsi Tampilkan tingkat file CodeLens indikator di bawah opsi > Opsi > Editor Teks >Tingkat Lanjut. Opsi ini memengaruhi visibilitas untuk jenis file yang memiliki kontrol CodeLens tingkat file di margin editor bawah seperti XAML, HTML, dan CSS, dan tidak memengaruhi file yang berisi CodeLens sebaris.

Opsi untuk Tampilkan tingkat file Indikator CodeLens

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Pembersihan Kode Non-pemblokiran saat menyimpan

Ketika Pembersihan Kode dijalankan pada Simpan, sekarang beroperasi dengan cara yang tidak memblokir, untuk pengalaman pengodean yang lebih lancar.

Sebelumnya saat Pembersihan Kode dijalankan pada Simpan, Anda tidak dapat melakukan tindakan apa pun di IDE. Kami sekarang telah meningkatkan ini untuk beroperasi dengan cara yang tidak memblokir.

Proses pembersihan akan berjalan di latar belakang dan dapat dibatalkan secara otomatis jika Anda melanjutkan pengetikan, memastikan pengalaman pengkodean yang lebih lancar dan lebih responsif.

Pembersihan Kode saat menyimpan

Dependensi Transitif dalam UI Manajer Paket tingkat Solusi

Saat Anda melihat tab Terinstal di UI manajer paket Visual Studio pada tingkat Solusi, sekarang akan menampilkan paket langsung dan transitif.

Sebelumnya pada tab Terinstal di UI manajer paket Visual Studio, Anda dapat melihat dependensi langsung dan transitif hanya untuk proyek Anda. Dengan rilis ini, kami telah menambahkan kemampuan untuk melihat dependensi transitif untuk tingkat Solusi juga.

dependensi transitif tingkat solusi

Dependensi transitif dengan kerentanan di Penjelajah Solusi

Saat mengatur NuGetAuditMode ke all, Penjelajah Solusi akan menampilkan indikator untuk dependensi transitif dengan kerentanan.

Audit NuGet, pertama kali ditambahkan di Visual Studio 17.8 (dan .NET 8), memberikan peringatan selama pemulihan jika ada paket yang digunakan oleh proyek Anda yang memiliki kerentanan yang diketahui.

Untuk informasi selengkapnya tentang Audit NuGet, termasuk semua opsi konfigurasi, lihat dokumentasi tentang Audit NuGet.

Kerentanan tersebut dapat berada dalam dependensi langsung Anda serta dalam dependensi transitif (paket yang bergantung pada dependensi Anda). Sekarang jika Anda mengatur NuGetAuditMode ke all, Penjelajah Solusi akan menunjukkan indikator tidak hanya untuk dependensi langsung tetapi juga untuk transitif dengan kerentanan.

Kerentanan dependensi transitif di Penjelajah Solusi

GitHub Copilot

Ajukan pertanyaan lebih lanjut kepada GitHub

Cari di seluruh GitHub untuk menemukan penerapan, masalah, permintaan pull, repositori, dan topik, langsung dari Visual Studio.

Anda sekarang dapat menggunakan GitHub Copilot Chat untuk mencari di seluruh GitHub untuk menemukan penerapan, masalah, permintaan pull, repositori, dan topik.

Anda dapat mengajukan pertanyaan seperti:

  • @github Apa saja PR terbuka yang ditugaskan untuk saya?
  • @github Apa saja masalah terbaru yang ditetapkan untuk saya?
  • @github Kapan rilis terbaru?
  • @github Tampilkan PR gabungan terbaru dari @davidfowl

Keterampilan GitHub Baru

Fungsionalitas ini tersedia untuk semua pengguna GitHub Copilot. Pelajari selengkapnya tentang Keterampilan GitHub yang tersedia dalam dokumentasi GitHub Copilot.

Penting

Untuk menggunakan fitur ini, pastikan untuk mengaktifkan GitHub Copilot


Instruksi kustom untuk GitHub Copilot

Buat file yang secara otomatis menambahkan informasi ke semua pertanyaan yang Anda ajukan GitHub Copilot Chat.

Dengan GitHub Copilot, Anda dapat menerima respons obrolan yang disesuaikan dengan alur kerja tim Anda, alat pilihan, dan spesifikasi proyek - hanya dengan memberikan konteks. Alih-alih menambahkan detail kontekstual ini ke setiap kueri obrolan, Anda dapat membuat file yang menyediakan informasi ini secara otomatis. Meskipun konteks tambahan ini tidak akan muncul di obrolan, konteks ini tersedia untuk GitHub Copilot, memungkinkannya menghasilkan respons yang lebih akurat dan relevan.

Petunjuk Kustom Salinan GitHub

Cara Mengaktifkan Instruksi Kustom
  1. Aktifkan fitur melalui Tools > Options > GitHub > Copilot> dan periksa (Pratinjau) Aktifkan instruksi kustom untuk dimuat dari file .github/copilot-instructions.md dan ditambahkan ke permintaan.
  2. Tambahkan copilot-instruction.md di akar respositori Anda di dalam file .github, buat file jika belum ada.

GitHub Copilot Aktifkan Instruksi Kustom

Pelajari selengkapnya tentang membuat instruksi kustom di sini

Penting

Untuk menggunakan fitur ini, pastikan untuk mengaktifkan GitHub Copilot


Pilihan model di GitHub Copilot Chat

GitHub Copilot sekarang memungkinkan Anda untuk memilih model Anda.

OpenAI o1-preview dan o1-mini sekarang tersedia untuk semua pengguna di GitHub Copilot Chat di Visual Studio.

Anda sekarang dapat mencoba model ini secara langsung dengan menggunakan o1-preview, o1-mini, atau model GPT-4o default untuk mendukung GitHub Copilot Chat. Dengan tersedianya peralihan model, Anda dapat beralih dengan mulus dari menjelaskan API atau menghasilkan kode dasar ke membuat algoritma rumit atau men-debug kesalahan logika.

Kunjungi GitHub Changelog untuk mempelajari selengkapnya tentang fitur ini.

Penting

Untuk menggunakan fitur ini, pastikan untuk mengaktifkan GitHub Copilot


pemahaman kontekstual yang ditingkatkan

Pemahaman kontekstual yang ditingkatkan di GitHub Copilot menawarkan respons yang lebih tepat.

Pemahaman Kontekstual yang Disempurnakan di GitHub Copilot

GitHub Copilot sekarang menawarkan pemahaman kontekstual yang ditingkatkan untuk menawarkan respons yang lebih tepat. Dengan pembaruan ini, GitHub Copilot dapat secara intuitif menafsirkan karakteristik utama dalam kode Anda, menyesuaikan saran dengan kebutuhan unik proyek Anda. Pendekatan yang lebih cerdas untuk bantuan kode ini dirancang untuk membantu Anda bekerja lebih efisien, tanpa perlu penyesuaian konteks yang sering.

Cobalah dengan GitHub Copilot hari ini!

Penting

Untuk menggunakan fitur ini, pastikan untuk mengaktifkan GitHub Copilot


pembaruan Pengecualian Konten

Pengecualian Konten sekarang mendukung submodul dan repositori berlapis.

Kami telah meningkatkan cara sistem kami menangani submodul dan repositori berlapis, sehingga memudahkan Anda untuk bekerja dengan struktur proyek yang kompleks.

Selain itu, kami telah menambahkan dukungan untuk repositori non-Git, memperluas fleksibilitas alur kerja Anda dan memungkinkan Anda mengintegrasikan berbagai proyek dengan lancar.

Penting

Untuk menggunakan fitur ini, pastikan untuk mengaktifkan GitHub Copilot


inspeksi variabel pintar AI

Optimalkan alur kerja penelusuran kesalahan Anda dengan inspeksi variabel AI Terintegrasi.

Memeriksa dan menganalisis nilai dari Locals, Autos, dan DataTips tidak pernah lebih mudah dengan Ask GitHub Copilot di Visual Studio. Cukup klik kanan pada nilai apa pun untuk mendapatkan wawasan terperinci berbasis AI tentang kesalahan, hasil tak terduga, atau anomali - semua tanpa pernah meninggalkan IDE Anda.

pencarian variabel ai

Fitur ini akan secara signifikan meningkatkan kecepatan pemecahan masalah Anda dengan menganalisis variabel secara real time dalam IDE Anda setiap kali nilai yang tidak terduga muncul.

Penting

Untuk menggunakan fitur ini, pastikan untuk mengaktifkan GitHub Copilot


IEnumerable Visualizer yang didukung AI

Ekspresi Yang Dapat Diedit LINQ yang didukung AI di IEnumerable Visualizer.

Kami telah meningkatkan fitur ekspresi yang dapat diedit di IEnumerable Visualizer dengan bantuan AI. Fitur Ask Copilot baru memungkinkan pengguna memanfaatkan AI langsung dalam kotak teks ekspresi yang dapat diedit untuk membuat ekspresi LINQ yang kompleks.

AI Editable Expression IEnumerable Visualizer

Untuk mengakses obrolan GitHub Copilot, cukup klik ikon GitHub Copilot yang terletak di sudut kanan bawah bagian ekspresi yang dapat diedit. Dalam obrolan, Anda akan menemukan contoh sintaks LINQ sampel. Selain itu, Anda dapat menjelaskan kueri Anda dalam bahasa alami, dan GitHub Copilot akan menghasilkan kueri LINQ yang sesuai. Untuk menerapkan pemfilteran kueri LINQ ke visualizer, gunakan tombol Tampilkan di Visualizer di obrolan.

Ini memberikan umpan balik dan panduan instan, membuat proses pembuatan filter dan transformasi yang kompleks lebih intuitif dan efisien.

Penting

Untuk menggunakan fitur ini, pastikan untuk mengaktifkan GitHub Copilot


Tes debug dengan GitHub Copilot

Dapatkan bantuan terkait penelusuran kesalahan pengujian yang gagal dengan menggunakan Tes Debug dengan GitHub Copilot.

Perlu bantuan untuk men-debug pengujian unit yang gagal. Sekarang GitHub Copilot dapat membantu dengan memberi Anda rencana debug dan memandu Anda melalui penelusuran kesalahan pengujian yang gagal untuk membuat Anda lebih dekat untuk lulus dengan mengklik tombol Debug dengan Copilot di Test Explorer.

Debug dengan GitHub Copilot

Setelah Anda meluncurkan fitur, GitHub Copilot akan memberi Anda paket debug, mengatur titik henti yang sesuai dan menonton variabel dan meluncurkan sesi debug. Ketika mencapai titik henti, ia menyediakan GitHub Copilot dengan nilai untuk variabel yang diawasi dan menentukan langkah Anda berikutnya, melanjutkan penelusuran kesalahan atau memperbaiki kode masalah. Anda dapat melanjutkan percakapan ini hingga Anda lulus tes.

GitHub Copilot Chat dengan paket debug dan langkah berikutnya

Penting

Untuk menggunakan fitur ini, pastikan untuk mengaktifkan GitHub Copilot


Memperbaiki kode dengan GitHub Copilot 📣

GitHub Copilot membantu Anda menyelesaikan masalah kode.

GitHub Copilot sekarang diintegrasikan ke dalam lightbulb dan daftar kesalahan, memberi Anda perbaikan cepat dan penjelasan wawasan untuk masalah kode. Baik Anda mengembangkan C# atau C++, fitur ini membantu Anda memahami dan menyelesaikan masalah di basis kode Anda secara lebih efisien.

Untuk memulai, cukup panggil bola lampu dan pilih Fix dengan Copilot. Ini akan meluncurkan obrolan sebaris dengan GitHub Copilot, menawarkan perbaikan yang tersedia.

Memperbaiki kode dengan GitHub Copilot dari bola lampu

Anda juga dapat memilih ikon GitHub Copilot dari daftar kesalahan untuk membuka panel obrolan, tempat Anda akan menemukan penjelasan dan solusi terperinci untuk kesalahan yang ditangani.

Memperbaiki kode dengan GitHub Copilot dari daftar kesalahan

Dengan memanfaatkan LLM, GitHub Copilot memberikan penjelasan dan perbaikan yang bermanfaat langsung dalam lightbulb dan daftar kesalahan, yang meningkatkan pengalaman pengodean Anda.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Penting

Untuk menggunakan fitur ini, pastikan untuk mengaktifkan GitHub Copilot


penyelesaian AI yang Lebih Baik untuk C#

GitHub Copilot menghadirkan konteks tambahan dari file sumber yang relevan untuk meningkatkan penyelesaian untuk C#.

Penyelesaian kode GitHub Copilot memberikan saran pelengkapan otomatis sebaris saat Anda membuat kode. Saran ini dihasilkan berdasarkan konten dari file Anda yang saat ini aktif dan file terbuka lainnya di editor Anda. Namun, kami telah menemukan bahwa menggabungkan konteks yang lebih relevan secara signifikan meningkatkan saran ini.

Untuk meningkatkan pengalaman bagi pengembang C#, kami telah memperbarui GitHub Copilot untuk menyertakan konteks C# tambahan, seperti jenis dan metode yang tersedia dalam penyelesaian.

Dengan versi terbaru Visual Studio, GitHub Copilot sekarang secara otomatis mempertimbangkan file yang relevan secara semantik untuk konteks tambahan, bahkan jika file-file ini tidak terbuka di editor Anda. Peningkatan ini membantu mengurangi halusinasi sambil menawarkan saran yang lebih relevan dan akurat.

Sebelum: File yang relevan secara semantik tidak dianggap sebagai konteks untuk Penyelesaian Salinan GitHub

File yang relevan secara semantik tidak dianggap sebagai konteks untuk Penyelesaian Salinan GitHub

Setelah: File yang relevan secara semantik dianggap sebagai konteks untuk Penyelesaian Salinan GitHub

File yang relevan secara semantik dianggap sebagai konteks untuk Penyelesaian Salinan GitHub

Penting

Untuk menggunakan fitur ini, pastikan untuk mengaktifkan GitHub Copilot


Kode referensi di GitHub Copilot

Memperkenalkan referensi kode di GitHub Copilot, memungkinkan Anda mengizinkan saran kode yang berisi kecocokan kode publik saat menerima informasi terperinci tentang kecocokan tersebut.

Kami sangat senang mengumumkan bahwa referensi kode sekarang tersedia di GitHub Copilot dalam Visual Studio!

Contoh kode publik yang dirujuk

Kemampuan baru ini memberikan transparansi bagi pengembang dengan memberi tahu mereka ketika saran GitHub Copilot cocok dengan kode publik. Anda sekarang dapat melihat kode yang cocok, file sumbernya, dan informasi lisensi terkait, membantu mereka membuat keputusan yang lebih tepat saat mengodekan.

Referensi kode memungkinkan Anda memblokir atau mengizinkan saran yang berisi kecocokan kode publik, meningkatkan kontrol dan kustomisasi.

Dengan mengintegrasikan referensi kode di GitHub Copilot, kami menumbuhkan berbagi pengetahuan, meningkatkan transparansi, dan memberdayakan Anda untuk membuat dengan percaya diri. Baik Anda adalah pengembang individu atau bagian dari tim yang lebih besar, fitur ini meningkatkan alur kerja Anda dan membantu Anda menavigasi kompleksitas kode publik dengan mudah.

Cobalah GitHub Copilot di Visual Studio hari ini dan kendalikan proses pengembangan Anda dengan transparansi dan kepercayaan diri yang lebih besar!

Penting

Untuk menggunakan fitur ini, pastikan untuk mengaktifkan GitHub Copilot


Obrolan terpandu di GitHub Copilot

Memperkenalkan cara baru yang lebih percakapan untuk mengobrol dengan GitHub Copilot.

Kami memperkenalkan cara baru yang lebih percakapan untuk berinteraksi dengan GitHub Copilot Chat!

contoh pengalaman obrolan terpandu

Kami telah memperkenalkan cara yang lebih interaktif dan percakapan untuk menggunakan GitHub Copilot Chat. Sekarang, alih-alih merasa macet atau tidak yakin, GitHub Copilot akan memandu Anda dengan mengklarifikasi pertanyaan ketika konteks tidak jelas, memastikan respons yang lebih akurat dan bermanfaat.

Pengalaman obrolan terpandu ini membantu menyempurnakan kueri Anda, menawarkan saran, dan memastikan interaksi yang lebih lancar dan lebih produktif. Dengan modalitas obrolan baru ini, Anda akan menikmati GitHub Copilot yang lebih cerdas dan lebih intuitif yang beradaptasi dengan kebutuhan Anda saat Anda membuat kode.

Cobalah pengalaman obrolan terpandu baru hari ini dan lihat perbedaannya sendiri!

Penting

Untuk menggunakan fitur ini, pastikan untuk mengaktifkan GitHub Copilot


orientasi GitHub Copilot

Memulai lebih cepat di GitHub Copilot Chat!

Perlu bantuan untuk mulai menggunakan GitHub Copilot Chat? Kami telah memperkenalkan dua fitur onboarding baru untuk membantu Anda memulai lebih cepat.

Perintah starter

Kirim pesan pertama Anda ke GitHub Copilot dengan mengklik salah satu perintah starter! Gunakan perintah ini untuk melihat kemampuan apa yang ditawarkan GitHub Copilot kepada Anda di alur kerja Anda.

permintaan starter Copilot GitHub

Pustaka Perintah

Jika Anda perlu mereferensikan beberapa perintah yang telah dibuat sebelumnya lagi, klik tombol Prompt Library (ikon buku) untuk melihat daftar semua perintah yang tersedia untuk Anda. Pustaka ini menyimpan perintah yang umum digunakan, hanya sekali klik saja!

gitHub Copilot promptlibrary

Baik Anda menjelajahi tugas pengkodian baru atau hanya mencari inspirasi, perintah kami ada di sini untuk membantu Anda menyelam dan mulai memanfaatkan GitHub Copilot Chat sebaik-baiknya.

Cobalah satu dan lihat ke mana ia membawa Anda!

Penting

Untuk menggunakan fitur ini, pastikan untuk mengaktifkan GitHub Copilot


.JARING

Mencapai lebih banyak dengan .NET 9 📣

.NET 9 meningkatkan pengembangan aplikasi cloud-native dan cerdas, berfokus pada peningkatan produktivitas, penyebaran yang disederhanakan, dan integrasi AI yang dipercepat.

.NET 9 meningkatkan pengembangan aplikasi cloud-native dan cerdas, berfokus pada peningkatan produktivitas, penyebaran yang disederhanakan, dan integrasi AI yang dipercepat, memberikan performa yang unggul di berbagai aplikasi. Dengan dukungan penuh untuk .NET 9 di Visual Studio 17.12, Anda dapat dengan mudah memanfaatkan semua peningkatan terbaru. Untuk detail selengkapnya tentang apa yang baru, kunjungi Apa yang baru di .NET 9.

.NET 9

Selain itu, Anda akan menemukan pembaruan untuk fitur di sekitar IDE yang membuat bekerja dengan .NET dan ASP.NET lebih produktif dari sebelumnya.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.


Menyembunyikan peringatan untuk Saran GitHub tertentu yang dihormati di Visual Studio

NuGet memungkinkan untuk menekan peringatan untuk Penasihat GitHub tertentu dan tekanan dihormati di Visual Studio.

Audit NuGet memberikan peringatan ketika paket yang digunakan dalam proyek memiliki kerentanan yang diketahui. Selalu disarankan untuk meningkatkan ke versi baru paket, tetapi jika peningkatan tidak mungkin dan Anda yakin bahwa perangkat lunak tidak berisiko, Anda dapat menekan peringatan untuk Saran GitHub tertentu dengan menambahkan item NuGetAuditSuppress ke file proyek.

<Project Sdk="Microsoft.NET.Sdk">
  <ItemGroup>
    <NuGetAuditSuppress Include="https://github.com/advisories/GHA1234" />
  </ItemGroup>
</Project>

Kemampuan untuk mengonfigurasi nuget.org sebagai sumber audit

Sekarang Anda dapat mengatur nuget.org sebagai sumber audit untuk mendapatkan informasi kerentanan bahkan saat menggunakan umpan NuGet lainnya.

Audit NuGet memerlukan sumber paket yang menyediakan database kerentanan. nuget.org menyediakan informasi kerentanan dari Database Penasihat GitHub.

Dimulai dengan Visual Studio 17.12, sekarang dimungkinkan untuk menentukan sumber audit dalam file NuGet.Config, sehingga tidak lagi diperlukan untuk menggunakan nuget.org sebagai sumber paket.

Jika Anda tidak menggunakan nuget.org sebagai sumber paket dan ingin menggunakan Audit NuGet untuk pelaporan paket yang rentan selama pemulihan, tambahkan yang berikut ini ke file NuGet.Config di direktori solusi Anda:

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

Penelusuran kesalahan & diagnostik

📣 penelusuran kesalahan Blazor WebAssembly

Pengalaman penelusuran kesalahan yang ditingkatkan untuk aplikasi Blazor WebAssembly yang menargetkan .NET 9 atau yang lebih baru.

Visual Studio sekarang menawarkan pengalaman penelusuran kesalahan yang ditingkatkan untuk aplikasi Blazor WebAssembly yang menargetkan .NET 9 atau yang lebih baru:

  • Jenis data yang ditampilkan di debugger sekarang cocok dengan jenis data .NET yang diharapkan.
  • Ketik anggota dan visibilitas anggota menggunakan ikon yang diharapkan.
  • Tumpukan panggilan yang ditampilkan dibersihkan untuk hanya menampilkan tumpukan panggilan .NET dan mematuhi pengaturan Just My Code dengan benar.
  • Jendela modul sekarang didukung.
  • Dukungan evaluasi ekspresi di jendela Langsung dan untuk jam tangan dan titik henti kondisional diperluas dan ditingkatkan.

penyempurnaan penelusuran kesalahan Blazor

Untuk mengaktifkan pengalaman penelusuran kesalahan pratinjau baru:

  • Aktifkan pengaturan Aktifkan debugger .NET 9+ Mono baru.
  • Instal .NET 9 SDK terbaru.
  • Perbarui aplikasi Blazor Anda untuk menargetkan .NET 9.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Meter histogram di profiler

Peningkatan wawasan performa menggunakan histogram meter di alat penghitung profiler.

Peningkatan terbaru pada rangkaian pembuatan profil performa Visual Studio memperkenalkan fitur histogram meter. Alat ini memungkinkan Anda mengidentifikasi dan menganalisis data histogram yang dihasilkan oleh instrumen histogram. Saat merekam data dari instrumen ini, hasil histogram divisualisasikan, memberikan representasi distribusi data yang jelas.

Meter Histogram Counter ToolMeter Histogram Counter ToolAlat Penghitung Histogram Pengukur

Selain itu, grafik swimlane menawarkan tampilan metrik performa tersegmentasi yang terperinci, meningkatkan kemampuan Anda untuk menentukan dan mengatasi masalah performa secara efektif.

Menampilkan nilai pengembalian metode 📣

Debugger sekarang menunjukkan nilai pengembalian sebaris dengan bantuan AI untuk meningkatkan efisiensi.

Debugger Visual Studio sekarang menampilkan nilai sebaris untuk pernyataan pengembalian, merespons salah satu fitur yang paling diminta dari komunitas pengembang.

Peningkatan ini memungkinkan Anda untuk melihat nilai yang tepat yang dikembalikan oleh fungsi langsung dalam kode, menghilangkan kebutuhan akan kode tambahan atau variabel sementara untuk memeriksa nilai yang dikembalikan.

Nilai pengembalian sebaris

Dengan GitHub Copilot, Anda dapat mengambilnya lebih lanjut dengan menggunakan opsi Ask Copilot di hover untuk menganalisis nilai pengembalian langsung di Visual Studio, memungkinkan Anda untuk segera mengatasi masalah.

Ini didukung dalam kode asli dan terkelola.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Ekspor grup titik henti dengan mudah 📣

Impor dan ekspor grup titik henti yang mudah.

Grup Breakpoint Visual Studio sekarang mendukung fungsionalitas impor dan ekspor, memungkinkan Anda mengelola dan memelihara struktur titik henti Anda dengan mudah di beberapa proyek atau lingkungan.

Breakpoint Groups Export ImportBreakpoint Groups Export ImportEkspor Impor Grup Titik Henti

Fitur baru ini memungkinkan Anda untuk mengekspor grup titik henti Anda dengan konfigurasinya dan kemudian mengimpornya ke solusi yang berbeda, memastikan penyiapan penelusuran kesalahan yang konsisten tanpa perlu membuat ulang grup titik henti secara manual lagi.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

IntelliSense untuk 📣 IEnumerable Visualizer

Enhanced IEnumerable Visualizer dengan IntelliSense untuk kueri LINQ yang lebih cepat.

IEnumerable Visualizer telah ditingkatkan dengan IntelliSense, memberikan saran kode real time dan pelengkapan otomatis, yang membuat penulisan ekspresi LINQ lebih cepat dan lebih akurat.

IEnumerable Visualizer IntelliSense

Peningkatan ini menyederhanakan proses pembuatan dan pengeditan kueri dengan menawarkan rekomendasi kode pintar, mengurangi kemungkinan kesalahan, dan mempercepat waktu pengembangan.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Menganalisis penggunaan memori dari waktu ke waktu

Pilih dan bandingkan dua rekam jepret memori menggunakan jendela Alat Diagnostik.

Jendela Alat Diagnostik sekarang mendukung perbandingan rekam jepret memori, sehingga lebih mudah untuk menganalisis perubahan memori dari waktu ke waktu.

Untuk menggunakan fitur ini, pastikan Anda memiliki setidaknya dua rekam jepret memori yang diambil di bawah tab Memori di jendela Alat Diagnostik.

Memilih Rekam Jepret untuk Perbandingan
  • Tahan kunci Ctrl dan klik baris rekam jepret untuk memilih dua rekam jepret apa pun.
  • Atau, tahan tombol Shift dan gunakan tombol panah up/down untuk memilih dua rekam jepret berturut-turut.
Membatalkan pilihan Rekam Jepret
  • Tahan kunci Ctrl dan klik rekam jepret yang ingin Anda batalkan pilihannya.
Menampilkan Perbedaan

Setelah Anda memilih rekam jepret memori untuk perbandingan, klik tombol Lihat Diff yang terletak di atas daftar rekam jepret untuk melihat perbedaan di antaranya.

Lihat MMA Diff Snapshot

Alat Git

Mengelola penggantian nama file dengan Git 📣

Dapatkan ketenangan pikiran saat mengganti nama file dengan pemberitahuan baru.

Saat mengganti nama file dari penjelajah solusi, Anda akan diingatkan untuk melakukan tahap perubahan untuk melihat penggantian nama di Git. Ini meningkatkan keyakinan Anda bahwa Git mengenali perubahan file Anda dan melacaknya dengan benar. Kami menemukan ini sebagai titik kebingungan bagi banyak pelanggan, jadi kami bekerja sama dengan orang-orang di Komunitas Pengembang untuk menghasilkan pemberitahuan baru.

Git mv notificationGit mv notificationpemberitahuan git mv

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Draf permintaan Pull dan templat 📣

Buat draf permintaan pull dan mulai deskripsi Anda dengan templat di Visual Studio.

Anda sekarang dapat membuat draf permintaan pull dan memulai deskripsi Anda dengan templat GitHub di Visual Studio. Ini adalah dua permintaan teratas untuk membuat pengalaman permintaan pull.

Draf PR

Gunakan menu drop-down pada tombol Buat untuk Buat sebagai Draf.

opsi Buat draf permintaan pull

Templat PR

Templat PR default Anda akan digunakan saat membuat PR baru untuk GitHub dan Azure DevOps. Pelajari selengkapnya tentang cara menambahkan templat PR ke repositori Anda di dokumentasi GitHub dan dokumentasi Azure DevOps.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.Dan mengambil survei ini untuk membantu membuat fitur lebih baik.

Membuat 📣 repositori GitHub internal

Visual Studio sekarang mendukung pembuatan repositori internal dan menyertakan panduan untuk setiap jenis repositori untuk memberi Anda lebih banyak kepercayaan diri saat memulai proyek baru.

Visual Studio sekarang mendukung repositori internal untuk organisasi GitHub Anda. Kami juga menyertakan panduan untuk setiap jenis repositori untuk memberi Anda lebih banyak kejelasan tentang visibilitas proyek baru tergantung pada akun mana yang Anda gunakan.

Dialog repositori baru

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

salin 📣 tautan Git

Anda bisa mendapatkan tautan GitHub atau Azure DevOps ke baris kode tertentu untuk memudahkan berbagi dengan kolega Anda.

Setiap kali Anda berbagi beberapa baris kode dengan kolega, seringkali berguna bagi mereka untuk mendapatkan konteks tambahan dari repositori Anda. Namun, jika mereka mengerjakan sesuatu yang lain, itu bisa memakan waktu terlalu lama dan mengganggu pekerjaan mereka untuk memeriksa cabang Anda.

Sekarang, Anda dapat menyoroti kode yang ingin Anda bagikan di editor Anda, membuka menu konteks dengan klik kanan, dan di bawah submenu Git mendapatkan tautan yang dapat dibagikan ke kode Anda di GitHub atau Azure DevOps. Ini membuatnya sederhana dan mudah untuk berkolaborasi, dan melancarkan alur antara IDE dan repositori jarak jauh Anda di web.

Salin menu konteks url git

Anda juga bisa mendapatkan tautan yang dapat dibagikan langsung dari riwayat penerapan. Ini memungkinkan kode yang saat ini tidak dicek keluar untuk direferensikan sama mudahnya.

Salin url git di jendela repositori Git

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

dukungan multi-repo Git
📣

Anda sekarang dapat membuat permintaan pull dan menautkan item kerja dalam skenario multi-repo untuk GitHub dan Azure DevOps.

Sekarang Anda dapat membuat permintaan pull dan menautkan item kerja dalam skenario multi-repositori. Untuk GitHub dan Azure DevOps, kami mendukung integrasi Anda saat Anda menggunakan pemilih repositori untuk fokus pada repositori tertentu dalam skenario multi-repo Anda.

Repository pickerRepository pickerpemilih Repositori

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Kustomisasi pesan penerapan AI Git 📣

Anda dapat menambahkan instruksi tambahan ke permintaan untuk menghasilkan pesan penerapan Git Anda dengan GitHub Copilot.

Sekarang Anda dapat menambahkan instruksi tambahan ke perintah untuk menghasilkan pesan penerapan Git Anda dengan GitHub Copilot. Ini memungkinkan Anda untuk menyesuaikan pesan penerapan agar lebih sesuai dengan alur kerja dan standar tim Anda. Anda dapat menentukan jumlah baris yang akan dihasilkan, panjang baris, dan bahkan menyediakan gaya penerapan sampel. Edit pesan di bidang perintah di bawah Opsi > Alat > GitHub > Copilot >Integrasi Kontrol Sumber .

Sesuaikan Pesan Git

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

IDE

Konfigurasi Peluncuran Multi-Proyek 📣

Menyederhanakan penelusuran kesalahan dengan menyiapkan dan menyimpan profil peluncuran untuk proyek tertentu dalam solusi multi-proyek. Bagikan konfigurasi dengan mudah dengan tim Anda.

Fitur Konfigurasi Peluncuran Multi-Proyek memungkinkan Anda menyiapkan dan menyimpan profil untuk meluncurkan proyek tertentu dalam solusi multi-proyek dalam status yang telah ditentukan sebelumnya untuk penelusuran kesalahan.

Multi-Project Launch ConfigurationMulti-Project Launch ConfigurationKonfigurasi Peluncuran Multi-Proyek

Ini menyederhanakan proses bekerja dengan solusi yang kompleks, meningkatkan efisiensi penelusuran kesalahan, dan memungkinkan berbagi konfigurasi yang mudah di antara anggota tim.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Nota

Fitur ini harus diaktifkan di bawah Alat -> Mengelola Fitur Pratinjau


peringatan keamanan MotW

Tanda peringatan keamanan web (MotW) sekarang diintegrasikan ke dalam fungsionalitas kepercayaan keseluruhan.

Visual Studio akan menampilkan peringatan keamanan saat mendeteksi bahwa Anda mencoba membuka konten yang ditandai dengan pengidentifikasi Tanda Web (MotW).

Peringatan terkait kepercayaan baru ini menyampaikan risiko membuka konten dari sumber yang berpotensi tidak aman seperti unduhan internet.

Percayai peringatan risiko keamanan membuka unduhan web di dalam Visual Studio

Anda dapat mengubah pengalaman kepercayaan default dengan masuk ke Pengaturan Kepercayaan di bawah Opsi >Opsi > Lingkungan.

Pengaturan Kepercayaan memungkinkan Anda menyesuaikan pengalaman kepercayaan default

Templat AI baru Teams Toolkit

Toolkit Teams menyetor templat aplikasi AI Teams baru.

Teams Toolkit menambahkan tiga templat aplikasi Teams AI baru:

Mereka adalah:

Teams AI app templatesTeams AI app templatestemplat aplikasi AI Teams

  1. Bot Obrolan AI Dasar - salinan anda sendiri di Microsoft Teams yang dibuat dengan Pustaka Teams AI

  2. Chat With Your Data - templat chatbot cerdas dengan pengetahuan domain dari sumber data kustom.

    Teams Toolkit sekarang memberdayakan Anda untuk membuat Salinan Kustom yang merupakan chatbot yang didukung AI dengan kemampuan RAG yang dapat memahami bahasa alami dan mengambil data domain untuk menjawab pertanyaan khusus domain. Templat ini mendukung untuk mengakses data kustom Anda di aplikasi Copilot Kustom.

    Saat Memilih templat ini, Anda dapat memilih dua cara untuk menyambungkan dengan data Anda:

    sebuah. Azure AI Search: chatbot Anda dapat mengakses data di layanan pencarian Azure AI dan menggunakannya dalam percakapan dengan pengguna.

    b. Sumber data kustom: Anda dapat menambahkan sumber data apa pun yang Anda inginkan ke aplikasi Salinan Kustom, misalnya sistem file atau DB vektor.

  3. Agen AI - Agen AI di Teams yang dapat membuat keputusan dan melakukan tindakan berdasarkan penalaran LLM.

Silakan coba templat aplikasi AI baru untuk memulai perjalanan AI Anda di Teams!

Menyalin file antar instans 📣

Anda sekarang dapat menyalin file dan folder dari Penjelajah Solusi dalam satu instans Visual Studio ke instans lainnya.

Kami sangat senang memperkenalkan fitur yang sangat diminta di Visual Studio! Anda sekarang dapat menyalin dan menempelkan file dan folder kode dengan lancar di antara instans Visual Studio yang berbeda menggunakan Penjelajah Solusi. Cukup pilih file atau folder yang diinginkan, gunakan Ctrl+C atau Ctrl+X, beralihlah ke instans Visual Studio lain, dan gunakan Ctrl+V untuk menyertakan file atau folder tersebut dalam solusi baru Anda. Semua perubahan akan secara akurat tercermin dalam sistem file.

Selain menyalin dan menempelkan, Anda juga dapat menyeret file dan folder dari satu instans Visual Studio ke instans lainnya.

Menyalin file antara instans Visual Studio

Sebelumnya, fungsionalitas ini hanya tersedia untuk beberapa jenis proyek, tetapi kami sekarang telah memperluasnya untuk menyertakan semua jenis proyek utama di Visual Studio.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Awan

Azure App Service menerbitkan pembaruan keamanan

Menerbitkan ke Azure App Service dengan aman menggunakan pembaruan keamanan terintegrasi.

Panduan penerbitan Azure App Service menyarankan pelanggan untuk menonaktifkan Autentikasi Dasar dan mengaktifkan penerbitan melalui autentikasi terintegrasi.

Publikasi Aman Azure Tools

Fitur baru di Visual Studio 2022 menonaktifkan Autentikasi Dasar dan memungkinkan keamanan terintegrasi untuk penerbitan ke Azure App Service. Ini memastikan bahwa penerbitan kredensial ditangani dengan aman, mengurangi risiko yang terkait dengan Autentikasi Dasar.

Saat menerbitkan ke Azure App Service yang mengaktifkan Autentikasi Dasar (yang tidak disarankan), pengguna akan melihat opsi Aktifkan Autentikasi Dasar, dan akan tidak dicentang secara default. Pelanggan yang perlu mempertahankan Autentikasi Dasar dapat mencentang kotak, tetapi mengingat rekomendasinya adalah menonaktifkan Autentikasi Dasar, ini tidak dicentang secara default. Jadi Anda mulai aman jika ini adalah pertama kalinya Anda menerbitkan atau, Anda mendapatkan aman setelah Anda melalui proses penerbitan setelah memperbarui Visual Studio.

Publikasi Aman Azure Tools yang Dinonaktifkan

Jika Anda telah membuat Aplikasi Web baru-baru ini melalui portal atau versi Visual Studio yang akan datang, Autentikasi Dasar akan dinonaktifkan secara default. Untuk Aplikasi Web apa pun yang sudah menonaktifkan Autentikasi Dasar, kami menghindari secara tidak sengaja membuat Aplikasi Web kurang aman dengan menonaktifkan kotak centang sama sekali, sehingga Anda tetap aman.

Azure Tools Secure Publish Diaktifkan

📣 dukungan Azure WebJobs Linux

Penerbitan ke Azure WebJobs di Linux sekarang didukung oleh penerbitan klik kanan di Visual Studio.

Aplikasi Konsol .NET 5.0+ lintas platform didukung di Azure WebJobs Linux, dan sekarang, Anda dapat mengklik kanan menerbitkan kode Anda ke Azure WebJobs di Linux dari Visual Studio juga!

Dialog Terbitkan memperlihatkan target Linux

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Konsumsi Fleksibel Azure Functions

Terbitkan ke paket hosting Azure Flex Consumption, saat ini dalam Pratinjau.

Jika Anda mencoba paket hosting Azure Functions Flex Consumption baru, saat ini dalam Pratinjau, Anda akan senang dapat mengklik kanan terbitkan ke Flex dari Visual Studio.

Konsumsi Flex akan memperluas fungsionalitas aplikasi Anda lebih lanjut dan memberi Anda hal berikut:

  • Integrasi Virtual Network tanpa biaya tambahan
  • Penskalaan yang cepat dan dapat diprediksi dengan pilihan ukuran instans dan kontrol konkurensi per instans
  • Tanpa server dengan skala ke nol dan Anda hanya membayar instans saat aktif
  • Mitigasi Cold Start dengan fitur instans Always Ready opsional

Pelajari selengkapnya tentang Konsumsi Flex di posting blog pengumuman atau dokumentasi dan cobalah salah satu sampel kami.

penerbitan Konsumsi Fleksibel Azure Functions

pembaruan keamanan
Connected Services

Membuat pengalaman pengembangan dan aplikasi Anda lebih aman.

Dalam pembaruan ini ke Connected Services, Anda sekarang dapat menyambungkan kode proyek Anda ke sumber daya Azure, seperti Azure Storage, tanpa perlu rahasia atau string koneksi dalam kode atau konfigurasi Anda.

Sekarang, Anda akan memberi nama koneksi Anda, titik akhir dipertahankan ke konfigurasi alih-alih string koneksi lengkap. Ini berarti lebih sedikit rahasia pada disk, sehingga waktu pengembangan Anda akan lebih aman secara default dan mengalami lebih sedikit kesalahan yang menerapkan rahasia ke kontrol sumber.

dialog Sambungkan ke Azure Storage

Kami juga menggunakan Azure SDK terbaru, sehingga Anda akan mendapatkan dukungan untuk menyambungkan ke sumber daya Azure Anda menggunakan login Visual Studio (atau Azure CLI) Anda alih-alih menyambungkan melalui string koneksi. Saat berjalan secara lokal, kode Anda akan menggunakan kredensial masuk Anda untuk mengakses sumber daya. Saat berjalan di Azure, Azure SDK akan menggunakan identitas terkelola layanan aplikasi untuk mengakses sumber daya.

Connected Services mengatur semuanya untuk Anda dan menyuntikkan kode yang sesuai untuk menggunakan identitas terintegrasi alih-alih rahasia. Selama penerbitan, aplikasi Anda akan dikonfigurasi dengan identitas dan peran yang sesuai yang diperlukan untuk mengakses sumber daya.

Desktop

Alat MSIX yang Ditingkatkan untuk aplikasi UWP di 📣 .NET 9

Visual Studio sekarang mereferensikan alat MSIX proyek tunggal mandiri baru untuk mengemas aplikasi UWP di .NET 9.

Dalam pratinjau awal dukungan UWP untuk .NET 9, kami mengandalkan WindowsAppSDK untuk menyediakan alat MSIX untuk mengemas aplikasi menggunakan konfigurasi proyek tunggal (dibandingkan dengan menggunakan proyek Windows Application Packaging, yaitu file .wapproj). Melakukannya memperkenalkan beberapa masalah, yang utama adalah bahwa dependensi transitif WebView2 dari WindowsAppSDK secara otomatis ditambahkan ke semua aplikasi UWP juga, bahkan ketika tidak diperlukan.

Kami sekarang telah sepenuhnya memisahkan alat MSIX proyek tunggal, dan menerbitkannya sebagai paket NuGet mandiri baru: Microsoft.Windows.SDK.BuildTools.MSIX. Ini termasuk semua yang diperlukan untuk membangun, menyebarkan, dan menjalankan aplikasi UWP di .NET 9, serta menghasilkan paket MSIX untuk diterbitkan di Microsoft Store atau sideload. UWP pada alat .NET 9 di Visual Studio akan secara otomatis menambahkan dua referensi paket ini saat diperlukan:

MSIX toolingMSIX toolingalat MSIX

Keduanya sepenuhnya menghapus dependensi transitif WebView2, dan kesalahan build yang ada untuk proyek baru dalam versi pratinjau sebelumnya ketika tidak mengatur properti WindowsSdkPackageVersion secara manual dalam file .csproj. Dengan perubahan ini, proyek baru hanya akan membangun dan menjalankan tanpa memerlukan perubahan tambahan!

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

pencarian komponen WinUI yang ditingkatkan

Meningkatkan penyiapan proyek WinUI dengan pencarian Penginstal Visual Studio yang ditingkatkan, menyederhanakan lokasi komponen untuk pengembang.

Permudah penyiapan proyek WinUI Anda lebih lanjut dengan pembaruan penginstal Visual Studio terbaru kami! Pengembang sekarang dapat dengan cepat menemukan komponen terkait WinUI, menghilangkan frustrasi sebelumnya menavigasi melalui hasil pencarian kosong. Peningkatan ini menyederhanakan konfigurasi lingkungan pengembangan, memungkinkan pengalaman pengguna yang lebih intuitif dan efisien.

Gambar yang menunjukkan pencarian baru untuk komponen Individu WinUI di Penginstal Visual Studio

Buka penginstal Visual Studio, buka tab komponen individu dan cari kata kunci terkait WinUI (WinUI, WinRT)!

dukungan .NET 9 SDK untuk 📣 UWP

Visual Studio sekarang menyertakan .NET 9 SDK dengan dukungan UWP di luar kotak.

Salah satu langkah yang diperlukan untuk mencoba UWP pada .NET 9 dalam pratinjau awal adalah menginstal build malam dari .NET 9 SDK. Dengan rilis baru Visual Studio ini, itu tidak lagi diperlukan.

Visual Studio sekarang menyertakan .NET 9 SDK, yang memiliki semua dukungan baru untuk UWP pada .NET 9 (khususnya, logika untuk mereferensikan proyeksi XAML UWP, dan untuk mengonfigurasi CsWinRT ke jenis proyek untuk aplikasi UWP XAML). Anda sekarang dapat membangun dan menjalankan UWP pada proyek .NET 9 dengan .NET SDK yang secara otomatis diinstal dengan Visual Studio.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Simplified .csproj untuk 📣 UWP

UseUwpTools sekarang diatur secara otomatis oleh Visual Studio untuk proyek UWP modern di .NET 9.

Aplikasi dan pustaka UWP yang menggunakan .NET 9 digunakan untuk memerlukan dua properti dalam file .csproj: UseUwp, yang mengonfigurasi .NET SDK untuk aplikasi UWP XAML, dan UseUwpTools, yang memungkinkan semua alat baru di Visual Studio untuk membangun dan menjalankan aplikasi UWP XAML.

Properti UseUwpTools sekarang secara otomatis diatur oleh Visual Studio saat UseUwp diatur, untuk membuat .csproj kurang verbose dalam skenario umum. Untuk skenario lanjutan, masih dimungkinkan untuk menolak dengan menonaktifkan UseUwpToolssecara manual.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

RID untuk UWP dalam 📣 tetap .NET 9

UWP pada pustaka kelas .NET 9 dengan benar mengatur RID ke nilai yang tepat untuk AOT Asli.

Kami memperbaiki bug di alat APPX untuk pustaka kelas UWP (dan komponen WinRT) pada .NET 9, yang menerapkan pengidentifikasi runtime UWP pada .NET Native secara default (yaitu menggunakan awalan win10-, dan termasuk platform yang tidak lagi didukung, seperti lengan).

Alat APPX sekarang akan mengatur RID yang tepat untuk proyek .NET 9 secara default: win-x86;win-x64;win-arm64. Masih dimungkinkan untuk menentukan ini secara manual, jika diinginkan.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

tetap pembuatan proyek UWP
📣

Kami memperbaiki Wizard Templat Universal yang menyebabkan tidak lagi menampilkan dialog kesalahan saat membuat UWP baru pada proyek .NET 9.

Jika Anda menggunakan pratinjau VSIX dengan templat proyek baru untuk UWP di .NET 9, Anda mungkin telah melihat bahwa dialog kesalahan muncul tepat saat membuat proyek baru. Ini sangat bermasalah saat membuat solusi baru, karena Visual Studio tidak akan membukanya dengan benar setelah membuat proyek. Masalah ini sekarang telah diatasi, dan membuat proyek baru yang menargetkan UWP pada .NET 9 sekarang akan berfungsi dengan benar.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Web

Meminta variabel dalam file HTTP 📣

File HTTP sekarang mendukung variabel permintaan. Di sinilah Anda dapat mengirim permintaan lalu menggunakan data dari respons, atau permintaan, dalam permintaan mendatang.

Saat bekerja dengan file HTTP, skenario umum memanggil titik akhir, mengambil nilai dari respons, dan mengirim dalam permintaan berikutnya. Misalnya, Anda dapat memanggil titik akhir untuk mengautentikasi pengguna dan kemudian pada panggilan selanjutnya Anda dapat meneruskan token yang dikembalikan dari titik akhir masuk. Sebelum rilis ini, ini tidak dimungkinkan di Visual Studio. Dalam cuplikan di bawah ini Anda dapat melihat contoh cara kerjanya dalam file HTTP.

# @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}}

###

Dalam cuplikan di atas ada dua permintaan, panggilan pertama ke titik akhir /users/token untuk mengautentikasi pengguna. Tepat di atas baris permintaan, Anda akan melihat komentar # @name login. Sintaks ini memberikan nama permintaan (login dalam hal ini) dan mengonfigurasinya sebagai Variabel Permintaan. Ketika permintaan dikirim, Anda dapat mengakses nilai dari respons, atau permintaan, dalam permintaan mendatang yang dikirim dari file HTTP tersebut. Karena ini adalah permintaan untuk masuk, Anda harus berhati-hati untuk mengamankan rahasia Anda. Di Visual Studio, kami memiliki dukungan untuk mengakses rahasia dengan cara yang aman. Lihat bagian ini pada dokumen untuk informasi selengkapnya tentang menangani rahasia.

Permintaan kedua memanggil ke titik akhir yang diautentikasi, /todos, yang akan mengembalikan item todo untuk pengguna tersebut. Dalam permintaan, token diteruskan sebagai header dengan baris.

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

Titik akhir /users/token mengembalikan respons di JSON. Token diekstrak dengan ekspresi Jalur JSON, $.token, pada isi respons. Jika Anda menggunakan titik akhir yang mengembalikan XML, alih-alih ekspresi Jalur JSON, Anda dapat meneruskan ekspresi XPath. Dukungan di Visual Studio telah terinspirasi oleh ekstensi OSS yang ada untuk Klien REST yang tersedia untuk Visual Studio Code. Anda dapat mempelajari selengkapnya tentang Variabel Permintaan di sana. Kami akan segera menambahkan dokumentasi untuk membahas dukungan ini secara lebih rinci.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

dukungan Vitest di 📣 JavaScript dan TypeScript

Saat menggunakan proyek JavaScript dan TypeScript, Anda sekarang dapat menulis kasus pengujian dengan Vitest.

Dalam proyek JavaScript dan TypeScript (JSTS), proyek yang memiliki ekstensi .esproj, kami telah menambahkan dukungan untuk menemukan dan menjalankan pengujian yang ditulis dengan Vitest. Untuk memulai pengujian Vitest, dalam proyek JSTS tambahkan paket vitest menggunakan npm di Penjelajah Solusi lalu ubah file proyek agar properti berikut dideklarasikan.

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

Pastikan bahwa nilai untuk JavaScriptTestRoot memiliki jalur relatif yang benar ke tempat file pengujian Anda berada.

Tambahkan pengujian Anda ke folder yang benar dan buat proyek/solusi. Setelah itu, Anda akan melihat kasus pengujian di Test Explorer.

Test explorer dengan pengujian vitest

Di Test Explorer, Anda dapat melihat berbagai kasus pengujian yang ditemukan dan menjalankan kasus pengujian.

Kami belum menambahkan dukungan untuk penelusuran kesalahan, tetapi kami akan segera menambahkan dukungan tersebut. Masalah lain yang diketahui adalah ketika Anda mengklik dua kali kasus pengujian di Test Explorer, itu akan membawa Anda ke baris pertama file tempat kasus pengujian ditentukan. Kami juga akan meningkatkan pengalaman ini.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Petunjuk Inlay untuk lebih banyak bahasa 📣

dukungan Inlay Hint telah ditambahkan ke JavaScript, TypeScript, Python dan Razor serta pengaturan untuk mengontrol perilakunya.

Petunjuk inlay menunjukkan informasi tambahan tentang kode sumber yang dirender sebaris. Ini biasanya digunakan untuk menampilkan jenis yang disimpulkan, nama parameter, dan informasi implisit lainnya dari kode Anda langsung di editor Anda.

Kami telah menambahkan dukungan untuk menampilkan Petunjuk Inlay di JavaScript, TypeScript, Razor, dan Python. Kami juga telah menambahkan pengaturan baru sehingga Anda dapat menyesuaikan perilaku petunjuk di seluruh bahasa ini. Pengaturan ini belum berlaku untuk C# dan C++. Untuk mengaktifkan Petunjuk Inlay untuk bahasa ini, Anda dapat menggunakan pengaturan baru di Alat > Opsi > Editor Teks > Semua Bahasa > Petunjuk Inlay. Anda dapat melihat opsi baru dalam gambar berikut.

Inlay Hints global settingInlay Hints global settingpengaturan global Petunjuk Inlay

Ada tiga nilai berbeda untuk Petunjuk Inlay.

  • Always: Always show the Inlay Hints.
  • Saat MenekanAlt+F1 : Hanya menampilkan Petunjuk Inlay saat Alt dan F1 ditekan. Ini adalah nilai default.
  • Never: Inlay Hints tidak pernah ditampilkan.

Untuk JavaScript dan TypeScript, ada halaman opsi tambahan untuk mengonfigurasi perilaku Petunjuk Inlay. Ini dapat ditemukan di Tools > Options > Text Editor > JavaScript/TypeScript > Advanced > General.

Opsi tersebut ditampilkan dalam gambar berikut.

Inlay Hints pengaturan TypeScript global

Secara default, semua opsi ini dinonaktifkan, Anda harus mengaktifkan petunjuk yang Anda minati untuk ditampilkan untuk file JavaScript dan TypeScript. Dalam pembaruan di masa mendatang, kita dapat mengubah nilai default untuk opsi ini. Pada gambar di bawah ini Anda dapat melihat file JavaScript yang menunjukkan Petunjuk Inlay.

Inlay HintsInlay HintsPetunjuk Inlay

Pada gambar sebelumnya, Petunjuk Inlay yang ditampilkan adalah kotak abu-abu dengan : number untuk menunjukkan jenis variabel.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

lingkungan bersama file HTTP 📣

Dalam file lingkungan HTTP, kami telah menambahkan dukungan untuk berbagi variabel di seluruh lingkungan.

Saat menggunakan file HTTP di Visual Studio, Anda dapat menentukan lingkungan sehingga Anda dapat membuat pengaturan yang berbeda untuk pengujian API. Sebelumnya, berbagi variabel di seluruh lingkungan ini tidak dimungkinkan. Kami telah menambahkan dukungan untuk entri baru, $shared, dalam file lingkungan yang memungkinkan Anda menentukan nilai default untuk variabel yang tersedia di semua lingkungan.

Misalnya, pertimbangkan file lingkungan (http-client.env.json) di bawah ini.

{
    "$shared": {
        "HostAddress": "https://localhost:7293"
    },
    "dev": {
        "username": "sayedha"
    },
    "dev2": {
        "username": "madsk"
    },
    "staging": {
        "username": "staginuser",
        "HostAddress": "https://sayedrest.example.com"
    }
}

Kami telah menentukan nilai bersama dalam $shared di atas yang terdiri dari variabel HostAddress yang diatur ke localhost:7293.

Dari tiga lingkungan yang ditentukan, tidak ada lingkungan dev yang menentukan nilai untuk HostAddress tetapi penahapan memiliki nilai untuknya.

Saat Anda menggunakan lingkungan dev atau dev2, nilai untuk HostAddress akan berasal dari $shared karena lingkungan tersebut tidak memiliki nilai untuk HostAddress. Saat menggunakan lingkungan penahapan, nilai untuk HostAddress akan diatur ke https://sayedrest.example.com.

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

Data

proyek SQL bergaya SDK di SSDT 📣

Anda sekarang dapat menggunakan format file proyek gaya SDK di proyek SQL Server Data Tools Anda.

Pembaruan ini menambahkan proyek SQL berdasarkan Microsoft.Build.Sql SDK, yang membawa dukungan lintas platform dan referensi paket yang ditingkatkan ke proyek SQL Server Data Tools (SSDT). Dengan file proyek yang kurang verbose dan referensi database ke paket NuGet, tim dapat lebih efisien berkolaborasi pada database besar dalam satu proyek atau mengkompilasi beberapa set objek dari beberapa proyek.

proyek SQL bergaya SDK di penjelajah solusi

Penyebaran database dari proyek Microsoft.Build.Sql dapat diotomatisasi di lingkungan Windows dan Linux di mana alat dotnet Microsoft.SqlPackage menerbitkan artefak build (.dacpac) dari proyek SQL. Pelajari selengkapnya tentang pratinjau proyek SQL gaya SDK dan DevOps untuk SQL.

SDK proyek Microsoft.Build.Sql adalah sumber terbuka dan dikembangkan pada GitHub.

Pastikan untuk menginstal komponen pratinjau SSDT terbaru di alat penginstal Visual Studio untuk menggunakan proyek SQL bergaya SDK dalam solusi Anda.

Installer mengaktifkan fitur SSDT pratinjau

📣 Lihat tiket fitur untuk membagikan umpan balik Anda dan melanjutkan percakapan.

C++

Atur Argumen Baris Perintah C++

Cara baru untuk mengatur argumen baris perintah Anda langsung dari toolbar.

Atur argumen baris perintah Anda dengan cepat untuk proyek C++ Anda dengan item toolbar Atur Argumen baru. Kotak kombo ini memungkinkan Anda mengatur argumen baris perintah langsung dari toolbar, sehingga Anda dapat dengan cepat mengubah argumen Anda. Saat Anda menjalankan proyek, argumen apa pun yang dimasukkan dalam kotak akan diteruskan.

Komponen toolbar ini akan muncul secara default jika Anda memiliki pengembangan Game dengan C++ beban kerja yang terinstal. Jika Anda tidak melihatnya, Anda dapat menambahkannya dengan mengklik kanan pada toolbar dan memilih Atur Argumen.

Catatan: Fitur ini saat ini hanya tersedia untuk proyek Unreal Engine. Proyek C++ umum akan didukung dalam rilis mendatang.

Atur Argumen Baris Perintah C++

penjelasan tampilan Wawasan Build

Pelajari cara menggunakan setiap tab Build Insights melalui tautan yang baru ditambahkan ke dokumentasi.

Anda sekarang dapat melihat deskripsi singkat tentang bagaimana setiap tab Build Insights dapat digunakan, bersama dengan tautan ke dokumentasi untuk penjelasan terperinci.

Penjelasan Tampilan Wawasan Build

penyesuaian jalur Build Insights

Mendapatkan tampilan file Anda yang lebih jelas di Build Insights, lihat jalur lengkap di hover.

Kami telah menyembunyikan jalur penuh dan relatif untuk mengurangi kekacauan. Untuk melihat jalur lengkap, cukup arahkan mouse ke atas file. Anda juga akan melihat kolom Nama File baru untuk file dan Unit Terjemahan, ditampilkan secara default untuk membantu Anda mengidentifikasi file dengan cepat tanpa mengurai jalur panjang.

Penyesuaian Jalur Wawasan Build

Buka Folder untuk uproct Unreal Engine

Cara baru untuk membuka uproject Anda.

Kami telah menambahkan titik masuk tambahan untuk membuka uproject Unreal Engine Anda dengan dukungan uproct Visual Studio. Anda sekarang dapat membuka upject Langsung dari menu File dengan memilih proyek Open > Unreal Engine.... Ini akan membuka proyek Unreal Engine Anda di Visual Studio.

Untuk informasi selengkapnya tentang cara menggunakan fitur ini, lihat Langsung Mengedit .uproject di Visual Studio.

Buka Folder Mesin Tidak Nyata

Tanda tangan Perubahan yang Disempurnakan

Anda sekarang dapat mengubah tanda tangan dengan antarmuka C++ kami yang ditingkatkan.

Kami telah memperbarui antarmuka Ubah Tanda Tangan untuk C++. Sekarang Anda dapat menambahkan, menghapus, dan menyusun ulang parameter di bagian konfigurasi parameter. Selain itu, Anda dapat mengubah urutannya dengan memilih dan menyeretnya ke posisi baru.

Metode akses tetap sama: tekan Ctrl+. untuk memicu menu Tindakan Cepat dan Pemfaktoran Ulang dan pilih Ubah Tanda Tangan.

Tanda Tangan Perubahan yang Disempurnakan

Perbaikan bug yang dilaporkan pengguna teratas

📣 Lihat daftar lengkap semua [perbaikan bug] [bugfixes] yang dilaporkan pengguna yang berhasil masuk ke rilis ini.

Masalah yang Diketahui

  • Kesalahan "Gagal mengekspor sertifikat" terjadi ketika mencoba men-debug proyek web ASP.NET Core dengan HTTPS diaktifkan dan menggunakan profil debug WSL. Ini terjadi karena perubahan Melanggar: ekspor sertifikasi dev tidak lagi membuat folder. Ini dapat dikerjakan dengan membuat folder %appdata%\ASP.NET\Https sebelum penelusuran kesalahan.

Versi 17.12.6

Dirilis 11 Maretth, 2025

Perbaikan bug teratas Dari komunitas
Memperbaiki masalah inisialisasi yang salah untuk struktur tertentu dengan anggota berukuran nol.
Address Sanitizer (ASan) sekarang terhubung ke OneCoreUAP_apiset.lib, pustaka payung, daripada langsung ke pustaka Win32. Ini untuk membuat ASan lebih portabel melalui beberapa versi dan perangkat OS. Jika kode Anda secara transitif bergantung pada modul Win32 yang dibawa oleh ASan (tidak disarankan), ini mungkin merupakan perubahan yang melanggar. Dalam kasus seperti itu, sebaiknya tautkan program Anda langsung ke pustaka dependensi Win32 yang diperlukan. tiket Umpan Balik
Memperbaiki masalah dalam C# ganti nama sebaris di mana seluruh pengidentifikasi dipilih saat mengganti nama saran tersedia. Ini akan mengambil alih pilihan pengembang dan dapat menyebabkan kesalahan ketik, terutama jika pengembang memindahkan tanda sisipan dalam antarmuka ganti nama sebaris. Sekarang, Saran penggantian nama Copilot tidak akan mengubah pilihan dalam antarmuka ganti nama sebaris. tiket Umpan Balik
Memperbaiki masalah saat DLL berinstrumentasi dibongkar selama eksekusi pengujian input fuzzer akan menyebabkan laporan kesalahan ASan positif palsu dan crash. tiket Umpan Balik
x86 ICE lagi setelah memperbarui data pengoptimalan PGO tiket Umpan Balik
Memperbaiki masalah di mana pelanggan dengan perangkat keras grafis Intel dapat mengalami pengguliran laggy di editor setelah memicu pratinjau gambar di hover. tiket Umpan Balik
VS2022 Professional - Tidak dapat masuk ke akun m tiket Umpan Balik
Menghapus dropdown argumen baris perintah untuk mengurangi UI yang macet dalam pengalaman Unreal Engine.
Proyek Blazor memutus Intellisense 17.12.2 tiket Umpan Balik
Saran keamanan ditangani CVE
Visual Studio Elevation of Privilege Vulnerability CVE-2025-25003
.NET Elevasi Kerentanan Hak Istimewa CVE-2025-24070
Elevasi Penginstal Visual Studio dari Kerentanan Hak Istimewa CVE-2025-24998

Versi 17.12.5

Dirilis 11 Februarith, 2025

Perbaikan bug teratas Dari komunitas
Mengatasi masalah di mana terkadang alat Penggunaan CPU akan gagal menampilkan hasil meskipun sebelumnya mengambil data.
Analisis Kode MSVC sekarang dapat mendeteksi penggunaan pointer menjuntai yang menunjuk ke sumber daya dalam objek sementara yang dihancurkan saat digunakan dalam daftar penginisialisasi array. tiket Umpan Balik
Kesalahan dengan string::Format dalam proyek C++ CLR Class Library (.NET) tiket Umpan Balik
Regresi di 17.12.0: Kegagalan Substitusi Adalah Kesalahan C3699 saat mengkompilasi dengan /CLR tiket Umpan Balik
Memperbarui Windows 11 SDK (10.0.26100.0) yang diinstal oleh Visual Studio ke build layanan Januari 2025.
Memperbaiki bug di pengoptimal yang mengarah ke codegen yang salah dan terlihat memengaruhi fungsi std::sort saat dipanggil dari koroutine.
Saran keamanan ditangani CVE
Elevasi Hak Istimewa Penginstal Visual Studio - Elemen Jalur Pencarian Yang Tidak Terkontrol memungkinkan penyerang yang tidak sah untuk meningkatkan hak istimewa secara lokal. CVE-2025-21206

Versi 17.12.4

Dirilis 14 Januarith, 2025

Perbaikan bug teratas Dari komunitas
Mengatasi ketidaksesuaian antara Live++ (alat Hot Reload C++ pihak ke-3) dan Visual Studio 2022. tiket Umpan Balik
Mengatasi hang di All-In-One Search (Ctrl+T, Ctrl+Q). tiket Umpan Balik
Visual Studio Debugger tidak dapat menampilkan nilai di jendela 'Lokal'. tiket Umpan Balik
Memperbaiki bug yang menyebabkan VS segera crash dan menutup saat membuka NuGet Package Manager jika panel detail sisi kanan berukuran sangat kecil. tiket Umpan Balik
Memperbaiki masalah saat mengarahkan ku ke file docker dapat menggantung VS.
Memperbaiki masalah dengan inisialisasi yang salah untuk struktur tertentu dengan anggota berukuran nol.
Memperbaiki masalah untuk target x86 di mana register bingkai yang digunakan selama koroutine mungkin tidak dimuat ulang dengan benar. tiket Umpan Balik
VS sekarang mencakup MAUI 8.0.100 (SR10); MAUI 9.0.14 (SR1.4)
Memperbaiki kedipan warna sintaksis saat menggulir melalui https://github.com/dotnet/roslyn/pull/75796||
Saran keamanan ditangani CVE
Kerentanan Eksekusi Kode Jarak Jauh .NET dan Visual Studio CVE-2025-21172
Kerentanan Eksekusi Kode Jarak Jauh .NET, .NET Framework, dan Visual Studio CVE-2025-21176
Kerentanan Eksekusi Kode Jarak Jauh Visual Studio CVE-2025-21178
Karakter carriage-return di URL jarak jauh memungkinkan repositori berbahaya untuk membocorkan kredensial CVE-2024-50338
Kerentanan Eksekusi Kode Jarak Jauh .NET CVE-2025-21171
(Khusus Linux) .NET Elevasi Kerentanan Hak Istimewa CVE-2025-21173
Visual Studio Elevation of Privilege Vulnerability CVE-2025-21405

Versi 17.12.3

Dirilis pada 3 Desember, 2024

Perbaikan bug teratas Dari komunitas
Kesalahan NuGet setelah meningkatkan dari VS v17.11.6 ke v17.12 dengan .NET 9. tiket Umpan Balik
Pesan Unity Privat salah ditandai sebagai IDE0051 yang tidak digunakan. tiket Umpan Balik
Intellisense berhenti bekerja di proyek Word C++. tiket Umpan Balik
Memperbaiki masalah di mana karakter mungkin diduplikasi saat mengetik dalam file yang berisi bahasa yang disematkan. tiket Umpan Balik
Memperbaiki masalah saat menyelesaikan konflik penggabungan dalam file .razor dan file .cshtml akan mengakibatkan jendela kosong. tiket Umpan Balik
Azure Devops Permalink dari Visual Studio 2022 tidak berfungsi. tiket Umpan Balik
Memperbaiki masalah di mana Visual Studio akan mengalami crash jika variabel lingkungan DOTNET_SYSTEM_GLOBALIZATION_INVARIANT diatur ke 1. tiket Umpan Balik
Memperbaiki kesalahan start up profiler performa untuk proyek C++. tiket Umpan Balik

Versi 17.12.2

Dirilis Novemeber 26th, 2024

Perbaikan bug teratas Dari komunitas
C++ IntelliSense tidak lagi menampilkan kesalahan untuk proyek yang telah bekerja IntelliSense di Visual Studio 17.11. tiket Umpan Balik
Proses pengindeks Copilot tidak lagi mengunci file. tiket Umpan Balik
Memperbaiki crash kompilator dalam kode C++/CLI yang menargetkan .NET Core dan menggunakan param-array. tiket Umpan Balik
.NET untuk catatan rilis iOS/tvOS/macOS/macCatalyst
Setelah pembaruan Windows KB5041580, Visual Studio mengalami crash diam-diam saat membuka jendela editor penggabungan. tiket Umpan Balik
[LKG18] Beberapa fungsi yang dibungkus penyusutan memiliki informasi unwind yang tidak lengkap dalam fragmen sekunder mereka. tiket Umpan Balik
Kesalahan Kompilator Internal C1001 untuk build arm64. tiket Umpan Balik
SSDT mengalami crash dengan Kesalahan Kritis Ditemui di VS17.12. tiket Umpan Balik

Versi 17.12.1

Dirilis Novemeber 19th, 2024

Perbaikan bug teratas Dari komunitas
Memperbaiki masalah kedipan warna sintaks saat menggulir melalui https://github.com/dotnet/roslyn/pull/75796
Rilis ini mencakup pembaruan untuk menjaga kepatuhan terhadap hukum bahasa internasional.

Dari kami semua di tim, terima kasih telah memilih Visual Studio. Jika Anda memiliki pertanyaan, silakan hubungi kami di Twitter atau komunitas pengembang .

Happy coding!
tim Visual Studio


Nota

Pembaruan ini dapat mencakup perangkat lunak Microsoft atau pihak ketiga baru yang dilisensikan secara terpisah, seperti yang ditetapkan dalam Pemberitahuan Pihak ke-3 atau dalam lisensi yang menyertainya.