Visual Studio IconCatatan Rilis Visual Studio 2019 versi 16.0


Persyaratan | Sistem Komunitas | Pengembang Kompatibilitas | Persyaratan | Lisensi Riwayat | Rilis Kode | yang Dapat Didistribusikan Blog Whats | New di Visual Studio Docs


Catatan

Ini bukan versi terbaru Visual Studio. Untuk mengunduh rilis terbaru, kunjungi situs Visual Studio .



Apa yang Baru di Visual Studio 2019 versi 16.0

Jangka Waktu Dukungan

Visual Studio 2019 versi 16.0 sekarang tidak didukung.

Pengguna Perusahaan dan Profesional Visual Studio 2019 versi 16.0 didukung dan menerima perbaikan pada kerentanan keamanan hingga Januari 2021. Jangka waktu ini ditentukan oleh fakta bahwa pada Desember 2019, Visual Studio 2019 versi 16.4 ditetapkan sebagai garis besar layanan berikutnya untuk produk Visual Studio 2019. Untuk informasi selengkapnya tentang garis besar yang didukung Visual Studio, tinjau kebijakan dukungan untuk Visual Studio 2019

Lihat versi terbaru catatan rilis atau kunjungi situs Visual Studio untuk mengunduh versi terbaru Visual Studio 2019 yang didukung.

Rilis Visual Studio 2019 versi 16.0

Visual Studio 2019 Blog

Blog Visual Studio 2019 adalah sumber resmi wawasan produk dari Tim Teknik Visual Studio. Anda dapat menemukan informasi mendalam tentang rilis Visual Studio 2019 di sana.


Release Notes Icon Visual Studio 2019 versi 16.0.22

dirilis 12 Januari 2020

Pemberitahuan Penasihat Keamanan untuk 16.0.22

CVE-2021-1651 / CVE-2021-1680 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability

Peningkatan kerentanan hak istimewa ada ketika Diagnostics Hub Standard Collector salah menangani operasi data.

Kerentanan Eksekusi Kode Jarak Jauh Penginstal CVE-2020-26870 Visual Studio

Kerentanan eksekusi kode jarak jauh ada saat Alat Penginstal Visual Studio mencoba menampilkan markdown berbahaya.


Release Notes Icon Visual Studio 2019 versi 16.0.21

dirilis 08 Desember 2020

Pemberitahuan Penasihat Keamanan untuk 16.0.21

Kerentanan Eksekusi Kode Jarak Jauh CVE-2020-17156 Visual Studio

Kerentanan eksekusi kode jarak jauh ada saat Visual Studio mengkloning repositori berbahaya.


Release Notes Icon Visual Studio 2019 versi 16.0.20

dirilis 10 November 2020

Pemberitahuan Penasihat Keamanan untuk 16.0.20

CVE-2020-17100 Visual Studio Merusak Kerentanan

Kerentanan pengubahan ada ketika Alat Python untuk Visual Studio membuat folder python27. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menjalankan proses dalam konteks yang ditinggikan.


Release Notes Icon Visual Studio 2019 versi 16.0.19

dirilis 13 Oktober 2020

Dalam Rilis 16.0.19 ini

  • .NET Code SDK 2.1.616 ditambahkan ke Visual Studio 2019.

Release Notes Icon Visual Studio 2019 versi 16.0.18

dirilis 8 September 2020

Masalah diperbaiki di 16.0.18

  • Versi di luar dukungan .NET Core tidak akan lagi diinstal ulang selama perbaikan atau peningkatan jika dihapus di luar penyiapan VS.

Pemberitahuan Penasihat Keamanan untuk 16.0.18

CVE-2020-1130 Diagnostics Hub Standard Collector Elevation of Privilege Vulnerability

Peningkatan kerentanan hak istimewa ada ketika Diagnostics Hub Standard Collector secara tidak benar menangani operasi data. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menjalankan proses dalam konteks yang ditinggikan.

CVE-2020-1133 Diagnostics Hub Standard Collector Elevation of Privilege Vulnerability

Peningkatan kerentanan hak istimewa ada ketika Diagnostics Hub Standard Collector secara tidak benar menangani operasi file. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menjalankan proses dalam konteks yang ditinggikan.

Kerentanan Eksekusi Kode Jarak Jauh CVE-2020-16856 Visual Studio

Kerentanan eksekusi kode jarak jauh ada di Visual Studio saat menangani objek dalam memori secara tidak benar. Penyerang yang berhasil mengeksploitasi kerentanan dapat menjalankan kode arbitrer dalam konteks pengguna saat ini.

Kerentanan Eksekusi Kode Jarak Jauh CVE-2020-16874 Visual Studio

Kerentanan eksekusi kode jarak jauh ada di Visual Studio saat menangani objek dalam memori secara tidak benar. Penyerang yang berhasil mengeksploitasi kerentanan dapat menjalankan kode arbitrer dalam konteks pengguna saat ini.

CVE-2020-1045 Microsoft ASP.NET Kerentanan Bypass Fitur Keamanan Inti

Fitur keamanan melewati kerentanan ada dalam cara Microsoft ASP.NET Core mengurai nama cookie yang dikodekan. Pengurai cookie ASP.NET Core mendekode seluruh string cookie yang dapat memungkinkan penyerang jahat untuk mengatur cookie kedua dengan nama yang dikodekan persen.


Release Notes Icon Visual Studio 2019 versi 16.0.17

dirilis 11 Agustus 2020

Masalah diperbaiki di 16.0.17

Pemberitahuan Penasihat Keamanan untuk 16.0.17

CVE-2020-1597 ASP.NET Penolakan Inti Kerentanan Layanan

Penolakan kerentanan layanan ada ketika ASP.NET Core secara tidak benar menangani permintaan web. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menyebabkan penolakan layanan terhadap aplikasi web ASP.NET Core. Kerentanan dapat dieksploitasi dari jarak jauh, tanpa autentikasi.


Release Notes Icon Visual Studio 2019 versi 16.0.16

dirilis 14 Juli 2020

Masalah diperbaiki di 16.0.16

Pemberitahuan Penasihat Keamanan untuk 16.0.16

CVE-2020-1393 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability

Peningkatan kerentanan hak istimewa ada ketika Layanan Pengumpul Standar Windows Diagnostics Hub gagal membersihkan input dengan benar, yang mengarah ke perilaku pemuatan pustaka yang tidak aman.

CVE-2020-1416 Visual Studio Elevation of Privilege Vulnerability

Peningkatan kerentanan hak istimewa ada di Visual Studio saat memuat dependensi perangkat lunak.

CVE-2020-1147 .NET Core Penolakan Kerentanan Layanan

Penyerang jarak jauh yang tidak diautentikasi dapat mengeksploitasi kerentanan ini dengan mengeluarkan permintaan yang dibuat secara khusus ke aplikasi ASP.NET Core, atau aplikasi lain yang mengurai jenis XML tertentu. Pembaruan keamanan mengatasi kerentanan dengan membatasi jenis yang diizinkan untuk ada dalam payload XML.


Release Notes Icon Visual Studio 2019 versi 16.0.15

dirilis 09 Juni 2020

Masalah diperbaiki di 16.0.15

Pemberitahuan Penasihat Keamanan untuk 16.0.15

CVE-2020-1108 / CVE-2020-1108.NET Core Denial of Service Vulnerability

Untuk mengatasi CVE-2020-1108 secara komprehensif, Microsoft telah merilis pembaruan untuk .NET Core 2.1 dan .NET Core 3.1. Pelanggan yang menggunakan salah satu versi .NET Core ini harus menginstal versi terbaru .NET Core. Lihat Catatan Rilis untuk nomor versi terbaru dan instruksi untuk memperbarui .NET Core.

CVE-2020-1202 / CVE-2020-1203 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability

Peningkatan kerentanan hak istimewa ada ketika Diagnostics Hub Standard Collector atau Visual Studio Standard Collector gagal menangani objek dalam memori dengan benar.

CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability

Peningkatan kerentanan hak istimewa ada ketika Layanan Pengumpul Standar Hub Diagnostik secara tidak benar menangani operasi file


Release Notes Icon Visual Studio 2019 versi 16.0.14

dirilis 12 Mei 2020

Masalah diperbaiki di 16.0.14

  • Menambahkan perubahan yang memungkinkan administrator TI Perusahaan dan teknisi penyebaran untuk mengonfigurasi alat seperti klien Microsoft Update & SCCM untuk menentukan penerapan pembaruan VS2019 16.0 yang dihosting di Katalog Pembaruan Microsoft & WSUS.

Pemberitahuan Penasihat Keamanan untuk 16.0.14

CVE-2020-1108 .NET Core Penolakan Kerentanan Layanan

Penyerang jarak jauh yang tidak diautentikasi dapat mengeksploitasi kerentanan ini dengan mengeluarkan permintaan yang dibuat khusus ke aplikasi .NET Core. Pembaruan keamanan mengatasi kerentanan dengan mengoreksi bagaimana aplikasi web .NET Core menangani permintaan web.


Release Notes Icon Visual Studio 2019 versi 16.0.13

dirilis 14 April 2020

Pemberitahuan Penasihat Keamanan untuk 16.0.13

CVE-2020-0899 Microsoft Visual Studio Elevation of Privilege Vulnerability

Peningkatan kerentanan hak istimewa ada ketika layanan pembaruan Microsoft Visual Studio secara tidak benar menangani izin file. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menimpa konten file sewenang-wenang dalam konteks keamanan sistem lokal.

CVE-2020-0900 Visual Studio Extension Installer Service Elevation of Privilege Vulnerability

Peningkatan kerentanan hak istimewa ada ketika Layanan Penginstal Ekstensi Visual Studio secara tidak benar menangani operasi file. Penyerang yang berhasil mengeksploitasi kerentanan dapat menghapus file di lokasi arbitrer dengan izin yang ditinggikan.

CVE-2020-5260 Git untuk Kerentanan Kebocoran Kredensial Visual Studio karena validasi pada URL yang tidak mencukup

Kerentanan kebocoran kredensial ada ketika URL yang dibuat khusus diurai dan dikirim ke pembantu info masuk. Ini dapat menyebabkan kredensial dikirim ke host yang salah.


Release Notes Icon Visual Studio 2019 versi 16.0.12

dirilis 10 Maret 2020

Masalah diperbaiki di 16.0.12

Pemberitahuan Penasihat Keamanan

CVE-2020-0793 & CVE-2020-0810 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability

Peningkatan kerentanan hak istimewa ada ketika Diagnostics Hub Standard Collector secara tidak benar menangani operasi file, atau Windows Diagnostics Hub Standard Collector Service gagal membersihkan input dengan benar.

Kerentanan Spoofing CVE-2020-0884 saat membuat Outlook Web -Add-in

Kerentanan spoofing ada saat membuat Outlook Web-Addin jika autentikasi multifaktor diaktifkan

CVE-2020-0789 Visual Studio Extension Installer Service Denial of Service Vulnerability

Penolakan kerentanan layanan ada ketika Layanan Penginstal Ekstensi Visual Studio secara tidak benar menangani tautan keras. Penyerang yang berhasil mengeksploitasi kerentanan dapat menyebabkan sistem target berhenti merespons.


Release Notes Icon Visual Studio 2019 versi 16.0.11

dirilis 14 Januari 2020

Pemberitahuan Penasihat Keamanan

CVE-2020-0602 ASP.NET Penolakan Inti Kerentanan Layanan

Penyerang jarak jauh yang tidak diautentikasi dapat mengeksploitasi kerentanan ini dengan mengeluarkan permintaan yang dibuat khusus ke aplikasi ASP.NET Core. Pembaruan keamanan mengatasi kerentanan dengan mengoreksi bagaimana aplikasi web ASP.NET Core menangani permintaan web.

CVE-2020-0603 ASP.NET Kerentanan Eksekusi Kode Jarak Jauh Inti

Penyerang jarak jauh yang tidak diautentikasi dapat mengeksploitasi kerentanan ini dengan mengeluarkan permintaan yang dibuat khusus ke aplikasi ASP.NET Core. Pembaruan keamanan mengatasi kerentanan dengan mengoreksi cara aplikasi web ASP.NET Core menangani dalam memori.


Release Notes Icon Visual Studio 2019 versi 16.0.10

dirilis 10 Desember 2019

Masalah diperbaiki di 16.0.10

Pemberitahuan Penasihat Keamanan

CVE-2019-1349 Git untuk Kerentanan Eksekusi Jarak Jauh Visual Studio karena pembatasan terlalu laks pada nama submodul

Kerentanan eksekusi kode jarak jauh ada ketika Git mengalami tabrakan nama submodul untuk direktori submodul saudara. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menjalankan kode dari jarak jauh pada komputer target. Pembaruan keamanan mengatasi kerentanan dengan mengambil versi baru Git untuk Windows yang mengharuskan direktori untuk kloning submodul kosong.

CVE-2019-1350 Git untuk Kerentanan Eksekusi Jarak Jauh Visual Studio karena pengutipan argumen baris perintah yang salah

Kerentanan eksekusi kode jarak jauh ada ketika Git menginterpretasikan argumen baris perintah dengan kutipan tertentu selama klon rekursif bersama dengan URL SSH. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menjalankan kode dari jarak jauh pada komputer target. Pembaruan keamanan mengatasi kerentanan dengan mengambil versi baru Git untuk Windows yang memperbaiki masalah.

CVE-2019-1351 Git untuk Kerentanan Timpa File Arbitrer Visual Studio karena penggunaan nama drive non-huruf selama kloning

Kerentanan timpa file arbitrer ada di Git ketika nama drive non-huruf melewati pemeriksaan keamanan di git clone. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menulis ke file arbitrer pada komputer target. Pembaruan keamanan mengatasi kerentanan dengan mengambil versi baru Git untuk Windows yang memperbaiki masalah.

CVE-2019-1352 Git untuk Kerentanan Eksekusi Jarak Jauh Visual Studio karena ketidaksadaran akan Data Alternatif NTFS Aliran

Kerentanan eksekusi kode jarak jauh ada di Git saat mengkloning dan menulis ke direktori .git/ melalui aliran data alternatif NTFS. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menjalankan kode dari jarak jauh pada komputer target. Pembaruan keamanan mengatasi kerentanan dengan mengambil versi baru Git untuk Windows yang telah mengetahui aliran data alternatif NTFS.

CVE-2019-1354 Git for Visual Studio Arbitrary File Overwrite Vulnerability karena tidak menolak untuk menulis file terlacak yang berisi garis miring terbalik

Kerentanan timpa file arbitrer ada di Git ketika entri pohon dengan garis miring terbalik dan symlink berbahaya dapat pecah dari pohon kerja. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menulis ke file arbitrer pada komputer target. Pembaruan keamanan mengatasi kerentanan dengan mengambil versi baru Git untuk Windows yang tidak memungkinkan penggunaan garis miring terbalik ini.

CVE-2019-1387 Git untuk Kerentanan Eksekusi Jarak Jauh Visual Studio karena validasi terlalu laks nama submodul dalam klon rekursif

Kerentanan eksekusi kode jarak jauh ada di Git saat mengkloning secara rekursif dengan submodul. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menjalankan kode dari jarak jauh pada komputer target. Pembaruan keamanan mengatasi kerentanan dengan mengambil versi baru Git untuk Windows yang memperketat validasi nama submodul.

Kerentanan pengalihan URL ekstensi CVE-2019-1486 Live Share

Kerentanan spoofing terdeteksi di ekstensi Visual Studio Live Share, ketika tamu yang terhubung ke sesi Live Share dialihkan ke URL arbitrer yang ditentukan oleh host sesi. Yang diserang akan berhasil mengeksploitasi kerentanan ini dan menyebabkan komputer tamu membuka browser dan menavigasi ke URL berbahaya tanpa persetujuan eksplisit. Ini adalah bagian dari fitur "Shared Server" dari Live Share yang memungkinkan penerusan port otomatis selama sesi Live Share aktif. Pembaruan terbaru membahas kerentanan ini dengan mempromosikan tamu Live Share dari persetujuan sebelum menelusuri URL yang ditentukan host.


Release Notes Icon Visual Studio 2019 versi 16.0.9

dirilis 15 Oktober 2019

Pemberitahuan Penasihat Keamanan

CVE-2019-1425 NPM Package Elevation of Privilege Vulnerability (diterbitkan 12 November 2019)

Peningkatan kerentanan hak istimewa ada ketika Visual Studio gagal memvalidasi hardlink dengan benar saat mengekstrak file yang diarsipkan. Kerentanan diperkenalkan oleh paket NPM yang digunakan oleh Visual Studio seperti yang dijelaskan dalam dua saran NPM berikut: npmjs.com/advisories/803 dan npmjs.com/advisories/886. Versi terbaru dari paket NPM ini disertakan dalam versi Visual Studio ini.


Release Notes Icon Visual Studio 2019 versi 16.0.8

dirilis 10 September 2019

Masalah diperbaiki di Visual Studio 2019 versi 16.0.8

Pemberitahuan Penasihat Keamanan

CVE-2019-1232 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability

Peningkatan kerentanan hak istimewa ada ketika Layanan Pengumpul Standar Hub Diagnostik secara tidak benar meniru operasi file tertentu. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat memperoleh hak istimewa yang ditinggikan. Penyerang dengan akses tidak istimewa ke sistem yang rentan dapat mengeksploitasi kerentanan ini. Pembaruan keamanan mengatasi kerentanan dengan memastikan Layanan Pengumpul Standar Hub Diagnostik meniru operasi file dengan benar.


Release Notes Icon Visual Studio 2019 versi 16.0.7

dirilis 13 Agustus 2019

Masalah diperbaiki di Visual Studio 2019 versi 16.0.7

Pemberitahuan Penasihat Keamanan

CVE-2019-1211 Git untuk Visual Studio Elevation of Privilege Vulnerability

Elevasi kerentanan hak istimewa ada di Git untuk Visual Studio saat secara tidak benar mengurai file konfigurasi. Penyerang yang berhasil mengeksploitasi kerentanan dapat menjalankan kode dalam konteks pengguna lokal lain. Untuk mengeksploitasi kerentanan, penyerang terautentikasi perlu memodifikasi file konfigurasi Git pada sistem sebelum penginstalan penuh aplikasi. Penyerang kemudian perlu meyakinkan pengguna lain pada sistem untuk menjalankan perintah Git tertentu. Pembaruan mengatasi masalah dengan mengubah izin yang diperlukan untuk mengedit file konfigurasi.

**CVE-2019-1301: Penolakan Kerentanan Layanan di .NET Core

Penolakan kerentanan layanan ada ketika .NET Core secara tidak benar menangani permintaan web. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menyebabkan penolakan layanan terhadap aplikasi web .NET Core. Kerentanan dapat dieksploitasi dari jarak jauh, tanpa autentikasi.

Pembaruan membahas kerentanan dengan mengoreksi bagaimana aplikasi web .NET Core menangani permintaan web.


Release Notes Icon Visual Studio 2019 versi 16.0.6

dirilis 9 Juli 2019

Masalah diperbaiki di Visual Studio 2019 versi 16.0.6

  • Memperbaiki dukungan narator pada sistem yang berjalan pada Windows 10 versi 1903 atau dengan .NET 4.8 terinstal.

Pemberitahuan Penasihat Keamanan

CVE-2019-1075 ASP.NET Kerentanan Spoofing Inti

Pembaruan .NET Core telah dirilis hari ini dan disertakan dalam pembaruan Visual Studio ini. Rilis ini membahas keamanan dan masalah penting lainnya. Detail dapat ditemukan di catatan rilis .NET Core.

Kerentanan Pembaruan Otomatis Ekstensi Visual Studio CVE-2019-1077

Peningkatan kerentanan hak istimewa ada ketika proses pembaruan otomatis Ekstensi Visual Studio secara tidak benar melakukan operasi file tertentu. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menghapus file di lokasi arbitrer. Untuk mengeksploitasi kerentanan ini, penyerang akan memerlukan akses tidak istimewa ke sistem yang rentan. Pembaruan keamanan mengatasi kerentanan dengan mengamankan lokasi pembaruan otomatis Ekstensi Visual Studio melakukan operasi file.

Deserialisasi XOML CVE-2019-1113 WorkflowDesigner memungkinkan eksekusi kode

File XOML yang mereferensikan jenis tertentu dapat menyebabkan kode acak dijalankan saat file XOML dibuka di Visual Studio. Sekarang ada pembatasan pada jenis apa yang diizinkan untuk digunakan dalam file XOML. Jika file XOML yang berisi salah satu jenis yang baru tidak sah dibuka, pesan akan ditampilkan yang menjelaskan bahwa jenisnya tidak sah.

Untuk informasi lebih lanjut, silakan merujuk ke https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.


Release Notes Icon Visual Studio 2019 versi 16.0.5

dirilis 11 Juni 2019

Masalah diperbaiki di Visual Studio 2019 versi 16.0.5


Release Notes Icon Visual Studio 2019 versi 16.0.4

dirilis 14 Mei 2019

Masalah diperbaiki di Visual Studio 2019 versi 16.0.4

Pemberitahuan Penasihat Keamanan

CVE-2019-0727 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability

Peningkatan kerentanan hak istimewa ada ketika Layanan Pengumpul Standar Hub Diagnostik secara tidak benar melakukan operasi file tertentu. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat menghapus file di lokasi arbitrer. Untuk mengeksploitasi kerentanan ini, penyerang akan memerlukan akses tidak istimewa ke sistem yang rentan. Pembaruan keamanan mengatasi kerentanan dengan mengamankan lokasi Dignostics Hub Standard Collector melakukan operasi file.


Release Notes Icon Visual Studio 2019 versi 16.0.3

dirilis 30 April 2019

Apa yang Baru di Visual Studio 2019 versi 16.0.3

  • Alat Visual Studio untuk Kubernetes sekarang mendukung Azure Dev Spaces terbaru.

Masalah diperbaiki di Visual Studio 2019 versi 16.0.3


Release Notes Icon Visual Studio 2019 versi 16.0.2

dirilis 18 April 2019

Masalah diperbaiki di Visual Studio 2019 versi 16.0.2


Release Notes Icon Visual Studio 2019 versi 16.0.1

dirilis 09 April 2019

Masalah diperbaiki di Visual Studio 2019 versi 16.0.1


Release Notes Icon Visual Studio 2019

dirilis 02 April 2019

Ringkasan Apa yang Baru di Visual Studio 2019

Instal

IDE

  • Berkolaborasi dengan orang lain menggunakan Visual Studio Live Share, yang diinstal secara default. Dukungan bahasa tambahan untuk C++, VB.NET, dan Razor memberi tamu tampilan solusi dan berbagi perbedaan kontrol sumber.
  • Kode terbuka yang baru-baru ini Anda kerjakan atau mulai dari salah satu alur yang paling umum digunakan seperti mengkloning, membuka, atau membuat proyek melalui jendela mulai baru.
  • Buat proyek baru dengan pengalaman pencarian dan filter yang ditingkatkan menggunakan daftar templat baru yang diurutkan berdasarkan popularitas.
  • Memiliki lebih banyak ruang vertikal untuk kode Anda dan tampilan dan nuansa modern melalui serangkaian perubahan visual baru dalam shell.
  • Lihat versi IDE Anda yang lebih tajam terlepas dari konfigurasi tampilan dan/atau penskalaan Anda, karena kami telah meningkatkan dukungan untuk kesadaran per monitor.
  • Gunakan kemampuan pencarian yang ditingkatkan di Visual Studio untuk menu, perintah, opsi, dan komponen yang dapat diinstal.
  • Pahami 'kesehatan' file kode Anda dengan indikator dokumen dengan cepat. Jalankan dan konfigurasikan melalui pembersihan kode satu klik dari indikator .
  • Kelola fitur pratinjau yang anda pilih dengan mudah dengan halaman Fitur Pratinjau baru dalam dialog Opsi.
  • Buat proyek baru dengan peningkatan dalam pencarian berbasis tag dan daftar "Templat proyek terbaru" yang mudah diakses.
  • Buat item baru langsung dari Visual Studio Search dan temukan hasil lebih cepat dengan relevansi yang ditingkatkan.
  • Tetap mendapatkan informasi penting, seperti permintaan Visual Studio Live Share, dengan pengalaman pemberitahuan baru.
  • Simpan kumpulan perbaikan pembersihan kode sebagai profil untuk dengan mudah memilih perbaikan yang ingin Anda jalankan selama pembersihan kode.
  • Picu pemfaktoran ulang .NET baru dan perbaikan kode.
  • Konfigurasikan proyek .NET Core dengan lebih mudah dengan file proyek kelas satu.
  • Lihat status ekstensi Anda dengan tag Pratinjau, Berbayar, dan Uji Coba dalam dialog Ekstensi dan Pembaruan.
  • Periksa dan konfigurasikan fitur Pratinjau mana yang ingin Anda aktifkan karena default telah direset dalam Pratinjau ini.
  • Perbarui ekstensi Anda dengan mengecualikan API Jendela Pengujian tertentu yang telah ditandai sebagai tidak digunakan lagi dalam rilis ini.
  • Masuk, telusuri, dan klon satu klik atau sambungkan ke repositori yang dihosting dari Azure DevOps melalui jendela mulai.
  • Instal ekstensi untuk host kontrol sumber lainnya untuk melihat repositori yang dimiliki oleh Anda dan organisasi Anda.
  • Rasakan pengalaman tema Biru yang ditingkatkan yang membahas umpan balik dengan menekan luminositas, meningkatkan kontras keseluruhan dan mengatasi masalah kegunaan lainnya.
  • Terapkan preferensi gaya kode dari baris perintah dengan alat global format dotnet.
  • MSBuild dan Visual Studio sekarang menargetkan .NET Framework 4.7.2 secara default.
  • Kami telah menghapus fitur terkait Azure App Service dari Server Explorer; fungsionalitas yang setara tersedia di Cloud Explorer.

Performa

  • Kendalikan bagaimana solusi memuat dengan menggunakan peningkatan performa baru Visual Studio yang memengaruhi kecepatan melangkah, kecepatan peralihan cabang, dan banyak lagi.
  • Lihat kemajuan beban solusi di Pusat Status Tugas.
  • Pilih proyek mana yang akan dimuat pada solusi yang terbuka dengan file filter solusi.
  • Tingkatkan performa pengetikan Anda dengan membatasi dampak komponen tambahan.
  • Alihkan opsi baru untuk menonaktifkan pemulihan status hierarki proyek dan status jendela alat Anda.
  • Pelajari pintasan baru untuk Pemilihan Build dan dengan cepat Bangun Semua di CMake dengan perintah Build All baru.
  • Kode lebih cepat dengan peningkatan performa IntelliSense untuk file C++ dalam proyek CMake.
  • Muat solusi .NET Core yang lebih besar dan nikmati pengurangan memori yang signifikan saat bekerja dengannya dari waktu ke waktu.
  • Muat dependensi proyek dengan cepat dengan perintah menu konteks proyek baru.
  • Lihat tips performa di pusat performa.

Penelusuran Kesalahan umum dan Diagnostik

  • Cari kata kunci dalam jendela Watch, Autos, dan Locals saat menelusuri kesalahan untuk meningkatkan kemampuan Anda menemukan objek atau nilai.
  • Lihat menu dropdown penentu format di jendela Watch, Autos, dan Locals saat memeriksa data.
  • Gunakan visualizer kustom, sekarang kompatibel dengan .NET Core.
  • Debug aplikasi yang sangat besar dengan sejumlah besar modul dan PDB.
  • Luncurkan Google Chrome dengan argumen kustom dan debug semua aplikasi JavaScript Anda dalam Visual Studio IDE.
  • Gunakan Penyorotan Jalur Panas untuk alat Alokasi Objek CPU dan DotNet di Profiler Performa.
  • Putus ketika nilai properti objek tertentu berubah dalam aplikasi .NET Core 3.0+ menggunakan titik henti data, fitur yang awalnya eksklusif untuk C++.
  • Sejak Pratinjau 1, kami telah memperbarui UI untuk mencari di jendela Autos, Locals, dan Watch dengan antarmuka yang lebih sederhana. Fungsi Search Deeper telah diubah menjadi dropdown sehingga Anda dapat dengan cepat memilih seberapa dalam Anda ingin pencarian awal dan berikutnya.

Kontrol Sumber dan Penjelajah Tim

  • Simpan sementara perubahan sehingga Anda dapat mengerjakan tugas lain dengan menggunakan dukungan alat Git penjelajah Tim untuk simpanan Git.
  • Lihat ekstensi opsional yang tersedia di Visual Studio Market Place, Permintaan Pull untuk Visual Studio, yang mengintegrasikan tinjauan Permintaan Pull ke Visual Studio.
  • Gunakan pengalaman item kerja Azure DevOps baru yang berfokus pada alur kerja pengembang, termasuk tampilan item kerja khusus pengguna, membuat cabang dari item kerja, mencari item kerja dengan #mentions, dan pengeditan sebaris.

Ekstensibilitas

  • Gunakan SDK Visual Studio terpadu tunggal dalam paket NuGet Microsoft.VisualStudio.SDK.
  • Manfaatkan pembaruan kami ke Proyek VSIX untuk sekarang menyertakan AsyncPackage.
  • Bereksperimenlah dengan templat Proyek VSIX Kosong baru yang telah kami tambahkan.
  • Ketahui apakah ekstensi adalah Gratis, Berbayar, atau Uji Coba, seperti yang sekarang ditunjukkan di dalam dialog Ekstensi dan Pembaruan .

Bahasa Pemrograman

C#

Rasakan pratinjau fitur bahasa 8.0 yang sekarang didukung pengkompilasi C#, termasuk:

  • Jenis referensi nullable: Saat fitur diaktifkan (misalnya, dengan #nullable enable atau di tingkat proyek dengan <NullableContextOptions>enable</NullableContextOptions>), jenis referensi diperlakukan sebagai nullable jika dianotasi dengan ?, dan sebagai tidak dapat diubah ke null sebaliknya. Pengkompilasi kemudian menganalisis di mana nilai null mengalir dan memperingatkan tentang kemungkinan penggunaan yang tidak aman.
  • switch expressions: Menawarkan switch-seperti semantik dalam konteks ekspresi.
  • Pencocokan pola rekursif: Pola baru memungkinkan pengujian bidang/properti dan elemen posisi (dari tuple atau dekonstruksi).
  • Dukungan untuk Range jenis dan Index yang digunakan dalam CoreFX untuk pemotongan, termasuk x..y sintaks harfiah untuk rentang.
  • Aliran asinkron yang diwakili oleh IAsyncEnumerable<T> dapat dijumlahkan secara asinkron dengan await foreach dan dapat diproduksi dengan async IAsyncEnumerable<T> metode iterator.
  • using deklarasi: Buang di akhir blok saat ini, tanpa meningkatkan tingkat bersarang. ref struktur dapat dibuang dengan menerapkan metode publik Dispose() .
  • static fungsi lokal: Fungsi lokal yang ditandai dengan static tidak dapat mereferensikan this atau variabel dalam fungsi penutup.
  • Fungsi lokal dan lambda sekarang dapat mendeklarasikan parameter dan lokal yang mendeklarasikan nama bayangan variabel fungsi penutup.
  • Penetapan null-coalescing: x ??= y; hanya ditetapkan y ke x jika x adalah null.

Cari tahu lebih lanjut di gambaran umum Mads tentang C# 8.0.

Lihat status fitur bahasa C# dan perubahan yang melanggar untuk detail selengkapnya.

Selain itu, Anda dapat menggunakan fitur bahasa C# yang lebih modern di Visual Studio secara default.

C++
  • Hemat waktu saat menulis kode C++ dan XAML dengan menggunakan Visual Studio IntelliCode, ekstensi opsional yang memberikan rekomendasi yang dibantu AI untuk kode Anda.
  • Rasakan peringatan analisis kode dalam editor. Analisis kode berjalan secara otomatis di latar belakang dan peringatan ditampilkan sebagai berlekuk hijau.
  • Coba Bilah Templat baru, yang menggunakan UI Jendela Intip dan mendukung templat berlapis.
  • Jalankan implementasi baru yang diperbarui dari pemeriksa profil C++ Seumur Hidup.
  • Konfigurasikan proyek CMake Anda menggunakan CMake Pengaturan Editor baru, yang menyediakan alternatif untuk CMake Pengaturan.json.
  • Cobalah sejumlah peningkatan backend termasuk vektorisasi OpenMP SIMD, speedup waktu tautan, dan inlining yang lebih agresif.
  • Buka cache CMake yang ada yang dihasilkan oleh alat eksternal, seperti CMakeGUI, atau sistem meta-build yang disesuaikan.
  • Tingkatkan analisis dengan /Qspectre untuk memberikan bantuan mitigasi untuk Spectre Variant 1 (CVE-2017-5753). Untuk informasi selengkapnya, lihat posting Blog Tim Visual C++.
  • Beralih dengan cepat di antara argumen sampel Anda sebelumnya sekarang karena Bilah Templat untuk Template IntelliSense memiliki dropdown Yang Terakhir Digunakan.
F#
  • F# 4.6 dirilis, bersama dengan berbagai peningkatan kompilator lainnya.
  • Rasakan peningkatan performa untuk solusi yang lebih besar dan berbagai perbaikan bug untuk alat F# dan F#.
  • Pelajari tentang beberapa pekerjaan luar biasa yang dilakukan oleh kontributor sumber terbuka ke bahasa dan alat F#.
JavaScript/TypeScript
  • Pengujian unit debug dalam proyek Node.js.
  • Rasakan dukungan tambahan untuk pengguna yang membangun proyek TypeScript dari paket NuGet dan npm.
Python
  • Tambahkan lingkungan virtual dan conda Python dengan mudah menggunakan dialog Python Add Environment.
  • Bekerja lebih mudah dengan lingkungan Python, termasuk dukungan yang ditingkatkan untuk ruang kerja Open Folder menggunakan toolbar pemilih lingkungan Python baru.
  • Buat sesi Visual Studio Live Share dan berkolaborasi pada kode Python dengan pengguna Visual Studio lainnya.

Teknologi Web

Alat Kontainer

Pengembangan Seluler dengan Xamarin

Universal Windows Platform (UWP)

  • Pertahankan komentar, penspasian, namespace, dan perubahan teks lainnya saat melakukan pengeditan dari perancang. Perancang manifes paket sekarang mempertahankan keakuratan yang ketat terhadap perubahan xml dalam file Package.appxmanifest.
  • Gunakan proyek Windows Application Packaging untuk proyek .NET Core untuk menghasilkan paket MSIX.
  • Gunakan Wizard Pembuatan Paket untuk pengiriman Microsoft Store langsung.
  • Penyebaran ke perangkat Windows Mobile tidak lagi didukung di Visual Studio 2019. Upaya untuk menyebarkan ke perangkat Windows 10 Mobile akan mengakibatkan kesalahan yang mengatakan "Penyebaran ke perangkat Windows Mobile tidak didukung di Visual Studio 2019". Jika Anda perlu terus mengerjakan aplikasi untuk perangkat Windows 10 Mobile, terus gunakan Visual Studio 2017.

Alat Penelusuran Kesalahan XAML:

  • XAML Edit & Lanjutkan sekarang mendukung x:bind (UWP): XAML Edit & Lanjutkan sekarang mendukung pengeditan pengikatan data yang dibuat dengan x:bind untuk jalur yang berisi properti publik, nama elemen, jalur properti terindeks (koleksi), properti terlampir, dan properti transmisi. Perubahan lain tidak didukung. Peningkatan ini tersedia untuk aplikasi apa pun di mana versi minimum dan maksimum menargetkan Windows 10 SDK versi 1809 (build 10.0.17763) atau yang lebih tinggi. (Catatan: XAML Edit & Lanjutkan sekarang dikenal sebagai XAML Hot Reload dimulai dengan Visual Studio 2019 Update 2+).

SQL Server Data Tools

  • Rasakan SSDT dan DacFX yang diperbarui yang sekarang menyertakan dukungan kolabasi UTF-8.

Detail Tentang Apa yang Baru di Visual Studio 2019

Instal

  • Sekarang Anda dapat memilih cara menginstal pembaruan Visual Studio. Mode defaultnya adalah 'Unduh semua, lalu instal' yang memungkinkan Anda untuk terus menggunakan Visual Studio saat pembaruan sedang diunduh. Perhatikan bahwa, jika Anda memilih 'Unduh semua, lalu instal', Anda harus menyelesaikan penginstalan dengan membuka Penginstal Visual Studio dan memilih Lanjutkan.
  • Pembaruan Visual Studio sekarang akan diunduh di latar belakang. Unduhan ini hanya akan terjadi ketika komputer Anda diam. Setelah unduhan selesai, Anda akan mendapatkan pemberitahuan di dalam Visual Studio bahwa unduhan Anda sekarang siap untuk diinstal.
  • Anda sekarang dapat mengontrol mode penginstalan pembaruan dan apakah akan mengunduh pembaruan atau tidak melalui menu Opsi Alat > dengan mengubah pengaturan pada halaman Pembaruan Produk.
Product Update Options
*Opsi Pembaruan Produk*

Jendela Mulai

Jendela mulai baru memberikan pengalaman peluncuran yang disederhanakan untuk membantu Anda dengan cepat masuk ke kode Anda saat memulai Visual Studio.

  • Lihat proyek dan folder terbaru Anda, dan buka dengan satu klik. Sematkan dan hapus item dari daftar melalui menu konteks.
  • Kloning atau periksa kode dengan menggunakan URL git publik atau privat apa pun, yang juga akan secara otomatis membuka folder di IDE.
  • Masuk, telusuri, dan klon satu klik atau sambungkan ke repositori yang dihosting dari Azure DevOps atau instal ekstensi untuk host kontrol sumber lainnya untuk melihat repositori yang dimiliki oleh Anda dan organisasi Anda.
  • Telusuri disk lokal atau berbagi jaringan Anda untuk proyek, solusi, atau folder apa pun yang berisi kode, dan buka di IDE.
  • Pilih templat proyek yang memberi Anda perancah kode untuk membantu Anda memulai proyek atau solusi baru.
  • Cari templat proyek berdasarkan judul, deskripsi, dan tag atau filternya melalui bahasa, platform, dan jenis proyek yang tersedia. Daftar default memperlihatkan semua templat yang tersedia, sementara daftar 10 templat proyek teratas yang baru digunakan muncul di panel kiri untuk akses cepat. Wizard dua halaman memungkinkan Anda berkonsentrasi pada satu keputusan pada satu waktu.
Start window
*Pengalaman Jendela Mulai Baru*

Shell dan platform

  • Dengan cepat melihat versi Visual Studio mana yang Anda buka dan gunakan melalui ikon produk baru yang ditingkatkan. Ikon baru juga lebih terlihat dengan berbagai latar belakang.
  • Rasakan tampilan dan nuansa Visual Studio yang dimodernisasi dengan tema biru refresh kami yang memberi Anda antarmuka pengguna yang lebih bersih sambil tetap memenuhi standar aksesibilitas kami.
  • Lihat lebih banyak kode Anda, melalui perubahan kami yang menargetkan kekompakan dan mengklaim kembali ruang vertikal di IDE. Kami telah menggabungkan bilah judul dan bilah menu sambil juga mempertahankan fungsionalitas yang ada.
  • Gunakan Visual Studio sebagai aplikasi Kesadaran Per Monitor melalui pengaturan eksperimental baru. Saat aktif, pengaturan ini membantu bagian Visual Studio, seperti shell dan editor, dirender dengan lebih tajam terlepas dari konfigurasi tampilan dan/atau penskalaan Anda.
  • Rasakan pengalaman pencarian yang ditingkatkan di seluruh menu, perintah, opsi, dan komponen yang dapat diinstal. Pencarian baru kami sekarang menampilkan hasil secara dinamis, mengakomodasi kesalahan ejaan, dan menyediakan informasi yang relevan (seperti pintasan keyboard) di dalam hasil pencarian.
Visual Studio Search with results
*Pencarian yang Ditingkatkan di Visual Studio*
  • Lihat informasi kesehatan yang terkait dengan file Anda yang saat ini terbuka melalui fitur Indikator Kesehatan Dokumen.
Document Health Indicator with issues
*Indikator Kesehatan Dokumen - masalah dalam dokumen*
Document Health Indicator with no issues
*Indikator Kesehatan Dokumen - tidak ada masalah*
  • Jika Anda adalah pengembang C#, Anda dapat dengan cepat membersihkan beberapa saran pengkodean yang paling umum menggunakan Pembersihan Kode.
  • Pilih set fixer yang ingin Anda jalankan dengan mengonfigurasi Pembersihan Kode.
Code Cleanup configuration dialog
*Konfigurasikan Pembersihan Kode*
  • Lihat konten riwayat clipboard Anda melalui menu konteks yang memperluas Cincin Clipboard (Ctrl + Shift + V).
Clipboard Ring context menu
*Menu Konteks Dering Clipboard*
  • Kami telah meningkatkan pengalaman pencarian Anda dengan:
    • Menambahkan filter untuk Menu, Komponen, dan Templat
    • Menggabungkan pilihan pencarian Anda untuk memberi Anda hasil pencarian yang paling relevan
    • Memungkinkan Anda membuat dan menambahkan proyek/item baru ke solusi Anda langsung dari Visual Studio Search
  • Pengalaman Per-Monitor Awareness (PMA) yang ditingkatkan sekarang diaktifkan secara default untuk pengguna yang memenuhi kumpulan persyaratan minimum (Pratinjau.NET 4.8 & dan Pembaruan Windows 10 April 2018 atau yang lebih baru). Jendela alat seperti Toolbox, Breakpoints, Watch, Locals, Autos & Call Stack telah dikonversi ke PMA dan dengan demikian dirender dengan tajam terlepas dari konfigurasi tampilan dan/atau penskalaan Anda.
  • Pengalaman pemberitahuan baru menambahkan:
    • Ikon baru dan pengalaman penghitung ke bilah status
    • Mekanisme pemberitahuan toast baru
    • Pemberitahuan kedaluwarsa Pembaruan Visual Studio & Lisensi Visual Studio
  • Pengalaman tema Biru yang direvisi yang membahas umpan balik dengan menekan luminositas, meningkatkan kontras dan mengatasi masalah kegunaan lainnya.
  • Kemampuan penyeretan jendela yang disempurnakan dengan memanfaatkan ruang kosong yang tersedia di wilayah toolbar sebagai wilayah yang dapat diseret.
  • Anda sekarang dapat menyimpan kumpulan perbaikan Pembersihan Kode sebagai profil sehingga Anda dapat dengan cepat memilih kumpulan fixer yang ingin Anda jalankan selama Pembersihan Kode.
Visual Studio Code Cleanup Profiles
*Profil Pembersihan Visual Studio Code*
  • Kami telah menambahkan tag dalam dialog Ekstensi dan Pembaruan untuk membantu Anda memahami dengan cepat apakah ekstensi berada dalam Pratinjau, adalah ekstensi Berbayar, atau sedang dalam periode Uji Coba.
Extensions and Updates dialogs with tags
*Dialog Ekstensi dan Pembaruan dengan tag*
  • Cara yang disarankan untuk menerapkan tipsalat data di Visual Studio 2019 dan yang lebih baru sekarang adalah IAsyncQuickInfoSourceProvider. API Info Cepat Editor Warisan IVsTextTipData dan TextTipData tidak digunakan lagi di Pratinjau Visual Studio 2019 1.
  • Kumpulan antarmuka Editor Smart Tags (ISmartTag* di namespace Microsoft.VisualStudio.Language.Intellisense) tidak digunakan lagi untuk API LightBulb dan tidak lagi didukung dimulai dengan Pratinjau Visual Studio 2019 1.
  • Opsi solusi Tampilkan konfigurasi build tingkat lanjut, Selalu tampilkan solusi, dan Simpan proyek baru saat dibuat telah dihapus karena penggunaan yang rendah. Nilai-nilai ini telah diatur ke nilai default True.
  • Ikut serta atau keluar dari fitur pratinjau tertentu menggunakan halaman Fitur Pratinjau baru yang ditemukan di Fitur Pratinjau Lingkungan > Opsi > Alat>.

Performa

  • Kami telah menambahkan pintasan baru untuk Pemilihan Build untuk folder dan solusi: Ctrl + B.
  • Buka solusi besar dengan cepat dengan memuat solusi Anda dengan semua proyek yang dibongkar. Do not load projects
  • Pilih proyek mana yang akan dimuat pada solusi yang terbuka dengan File Filter Solusi.
    • Buat File Filter Solusi dengan membongkar proyek yang tidak ingin Anda buka secara otomatis, mengklik kanan solusi, dan memilih Simpan Sebagai Filter Solusi. Anda kemudian dapat menggunakan file filter untuk membuka solusi untuk penggunaan berikutnya. Solution filters
  • Kami telah menambahkan perintah ke Build All untuk file CMake: Ctrl + Shift + B.
  • Kami telah meningkatkan performa IntelliSense dalam file C++ dalam proyek CMake.
  • Kami telah menambahkan perintah untuk memuat dependensi proyek yang tidak dimuat ke menu konteks proyek dan solusi.
  • Tips pemberitahuan untuk meningkatkan performa Visual Studio sekarang bertahan di pusat performa, dapat diakses melalui Bantuan > Mengelola Performa Visual Studio.
  • Anda sekarang dapat melihat kemajuan beban solusi Anda di Pusat Status Tugas, serta pemberitahuan saat solusi Anda dimuat selesai.
  • Pilih proyek mana yang akan dimuat pada solusi yang terbuka dengan File Filter Solusi.
    • Buat File Filter Solusi dengan membongkar proyek yang tidak ingin Anda buka secara otomatis, mengklik kanan solusi, dan memilih Simpan Sebagai Filter Solusi. Anda kemudian dapat menggunakan file filter untuk membuka solusi untuk penggunaan berikutnya.
  • Pengalaman peningkatan penemuan aset build dan pencarian file saat Anda Ctrl+T dalam skenario Buka Folder.
  • Perhatikan peningkatan performa sekarang karena editor Visual Studio akan membatasi dampak komponen tambahan pada performa pengetikan. Terutama, ini akan membatalkan operasi yang berjalan lama dan tidak penting secara otomatis saat mengetik.
  • Anda dapat mengonfigurasi perilaku batasan komponen tambahan Visual Studio melalui Opsi > Alat > Editor > Teks Tingkat Lanjut:
Visual Studio Typing Latency Options
*Opsi Latensi Pengetikan Visual Studio*
  • Anda sekarang dapat menonaktifkan pemulihan status hierarki proyek dari sesi sebelumnya di jendela alat Penjelajah Solusi. Kami menerapkan perubahan ini karena memulihkan hierarki proyek dari sesi sebelumnya pada pembukaan solusi dapat menunda beban solusi.
    • Alihkan opsi ini di Proyek Opsi > Alat > dan Solusi > Umum.
Solution load restore settings
*Pengaturan pemulihan beban solusi*
* Anda sekarang dapat menonaktifkan pemulihan status jendela alat dari sesi sebelumnya dan sebaliknya selalu memuat Penjelajah Solusi dan Team Explorer saat startup. Perubahan ini diterapkan karena memulihkan jendela alat dari sesi sebelumnya dapat menunda pemuatan solusi saat startup. * Alihkan opsi ini di **Alat > Opsi > Lingkungan > Startup**.

Penelusuran Kesalahan umum dan Diagnostik

Penelusuran Kesalahan Umum
  • Sorot, temukan, dan navigasikan dengan kata kunci menggunakan fitur pencarian baru kami yang kami integrasikan ke dalam jendela Watch, Autos, dan Locals.
Searching for keywords in Watch
Mencari di Jendela Pengawas
  • Lihat menu dropdown penentu dan opsi untuk memformat data di jendela Watch, Autos, dan Locals dengan menambahkan koma ke item yang tercantum.
Format Specifier Dropdown List in Watch
Dropdown Penentu Format di Jendela Pengawasan
  • Anda sekarang dapat menggunakan dukungan visualizer Kustom dan Himpunan Data untuk .NET Core.
DataSet Visualizer for .NET Core
Visualizer Himpunan Data untuk aplikasi .NET Core
  • Untuk aplikasi C++ yang berjalan di Windows, PDB sekarang memuat dalam proses 64-bit terpisah. Perubahan ini membahas berbagai crash yang disebabkan oleh debugger yang kehabisan memori saat men-debug aplikasi yang berisi sejumlah besar modul dan PDB.
Titik henti data terkelola

Anda sekarang dapat memutuskan ketika nilai properti objek tertentu berubah dalam aplikasi .NET Core (3.0 atau lebih tinggi) menggunakan titik henti data, fitur yang awalnya eksklusif untuk C++. Mereka adalah alternatif yang bagus untuk hanya menempatkan titik henti pada setter properti karena titik henti data dapat berfokus pada properti objek tertentu bahkan ketika berada di luar cakupan, sedangkan opsi sebelumnya dapat mengakibatkan kerusakan konstan dan tidak relevan jika Anda memiliki ratusan objek yang memanggil fungsi tersebut.

Data breakpoints for .NET Core
Titik henti data dalam aplikasi .NET Core
Jendela Tonton Pembaruan UX Pencarian

Kami telah memperbarui UI untuk mencari di jendela Autos, Locals, dan Watch dengan antarmuka yang lebih sederhana. Fungsi Search Deeper telah diubah menjadi dropdown sehingga Anda dapat dengan cepat memilih seberapa dalam Anda ingin pencarian awal dan berikutnya.

Menerapkan preferensi gaya kode
  • Anda sekarang dapat menerapkan preferensi gaya kode dari baris perintah dengan alat global format dotnet. Untuk menginstal, Anda akan memerlukan .NET Core 2.1 SDK atau yang lebih baru. Jalankan perintah berikut di terminal favorit Anda: dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10
dotnet format video
Jalankan format dotnet dari baris perintah.

Ekstensibilitas

  • Anda tidak akan lagi dapat menginstal ekstensi yang dibangun dengan format ekstensi V1 vsixmanifest di Visual Studio 2019. V1 diperkenalkan di Visual Studio 2010 dan tidak digunakan lagi di Visual Studio 2017 karena dapat menyebabkan masalah keandalan dengan Visual Studio. Di Visual Studio 2019, dukungan untuk V1 telah dihapus sepenuhnya. Ekstensi yang menargetkan Visual Studio 2019 harus dibangun kembali V2 atau V3 dari format vsixmanifest.
  • Anda sekarang akan diberi tahu ketika ekstensi dimuat secara otomatis secara sinkron. Perhatikan, ekstensi akan dimuat dan berfungsi seperti biasa dalam rilis ini, tetapi berisiko tidak berfungsi dalam pembaruan Visual Studio 2019 berikutnya. Detail lebih lanjut dapat ditemukan di posting blog kami tentang meningkatkan responsivitas skenario kritis dengan memperbarui perilaku beban otomatis untuk ekstensi.
Paket NuGet SDK Terpadu

Di masa lalu, penulis ekstensi harus membuat banyak referensi terpisah ke paket NuGet individual dari Visual Studio SDK yang perlu mereka gunakan dalam ekstensi mereka. Versi berbagai paket tidak selalu selaras dan sering mengakibatkan konflik dependensi pada waktu kompilasi serta masalah runtime.

Untuk mengatasi masalah ini, gunakan paket baru yang disebut Microsoft.VisualStudio.SDK yang berisi dependensi pada semua paket yang membentuk Visual Studio SDK. Ini memecahkan masalah ketidakcocokan versi serta memudahkan untuk mengetahui versi mana yang akan digunakan. Cukup gunakan versi paket yang sesuai dengan versi terendah yang didukung ekstensi Anda dan Anda akan memiliki akses ke seluruh SDK.

Saat ini, hanya versi 15.9 dari paket SDK yang ada, tetapi lebih banyak akan dirilis dalam beberapa bulan untuk sampai ke versi 14.0.

Templat proyek baru dan yang diperbarui

Templat Proyek VSIX telah melalui beberapa pembaruan untuk menyederhanakannya dan membuatnya lebih baik:

  • Menggunakan paket NuGet SDK terpadu baru
  • Menyertakan kelas AsyncPackage
  • Tidak lagi memerlukan file .resx untuk mengkompilasi paket
  • Target .NET Framework 4.7.2

Templat Proyek VSIX Kosong baru telah dibuat dan sama dengan templat Proyek VSIX tetapi tanpa kelas AsyncPackage. Ini juga mereferensikan paket SDK NuGet terpadu yang menyediakan titik awal yang baik untuk ekstensi MEF dan jenis ekstensi tanpa paket lainnya.

Gratis/Berbayar/Uji Coba

Belum ada cara mudah untuk melihat apakah ekstensi ditandai sebagai gratis, berbayar, atau uji coba. Ini sekarang berubah sehingga di dalam dialog Ekstensi dan Pembaruan , setiap ekstensi yang merupakan uji coba atau berbayar akan ditandai dengan jelas seperti itu. Ekstensi yang tidak memiliki label uji coba/berbayar gratis.

Alat pengujian

API tambahan di Jendela Pengujian yang sebelumnya tidak terdokumentasi tetapi ditandai sebagai publik telah ditambahkan ke daftar penghentian.

Kontrol Sumber

  • Simpan sementara perubahan sehingga Anda dapat mengerjakan tugas lain sekarang karena alat Git Team Explorer mendukung simpanan Git.
  • Tinjau, jalankan, dan bahkan debug permintaan pull dari Azure Repos tanpa meninggalkan IDE menggunakan pengalaman permintaan pull baru kami di Visual Studio 2019. Untuk memulai, Anda dapat mengunduh ekstensi Pull Requests for Visual Studio dari Visual Studio Marketplace.
New Pull Request Experience
Pengalaman Permintaan Pull Baru

MSBuild

  • Versi toolset MSBuild telah diubah dari 15.0 ke Current. MSBuild.exe sekarang dalam %VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe.
  • MSBuild (dan Visual Studio) sekarang menargetkan .NET Framework 4.7.2. Jika Anda ingin menggunakan fitur API MSBuild baru, rakitan juga harus ditingkatkan, tetapi kode yang ada akan terus berfungsi.

C#

Untuk setiap rilis sebelum Visual Studio 2019, versi bahasa C# default selalu setara dengan Mayor Terbaru. Di Visual Studio 2017, C# berevolusi dan merilis tiga versi minor: 7.1, 7.2, dan 7.3. Namun, proyek baru masih default ke C# 7.0. Ini terbukti membuat frustrasi bagi pengembang C# yang ingin menggunakan fitur baru, tetapi harus mengubah versi bahasa secara manual untuk setiap proyek baru.

Untuk mengatasi masalah ini, versi bahasa C# default ditentukan oleh kerangka kerja targetnya:

  • Jika Anda menargetkan pratinjau .NET Core 3.0, versi bahasa C# akan menjadi Pratinjau C# 8.0.
  • Jika Anda menargetkan .NET Framework atau non-pratinjau .NET Core, versi bahasa C# akan dilakukan oleh C# 7.3.

Ini memungkinkan penggunaan fitur bahasa C# stabil terbaru secara default, dan saat menggunakan pratinjau .NET Core, penggunaan fitur bahasa pratinjau C# 8.0 yang selaras dengan Pratinjau .NET Core 3.0.

Jika Anda menentukan versi bahasa melalui LangVersion dalam file proyek atau props, versi bahasa tersebut akan mengambil alih default yang dijelaskan sebelumnya.

C++

  • Berkolaborasi secara real time sekarang setelah Visual Studio Live Share mendukung C++.
  • Hemat waktu dengan menggunakan IntelliCode, ekstensi opsional yang menggunakan pelatihan ekstensif dan konteks kode Anda untuk menempatkan apa yang paling mungkin Anda gunakan di bagian atas daftar penyelesaian Anda. Untuk C++, IntelliCode menawarkan bantuan paling banyak saat Anda menggunakan pustaka populer seperti STL.
  • Kami telah memodifikasi beberapa nama dan deskripsi templat proyek agar sesuai dengan dialog Proyek Baru yang diperbarui.
  • Kami telah menghapus komponen eksperimental Clang/C2. Gunakan toolset MSVC untuk kesuaian standar C++ penuh dengan /permissive- dan/atau /std:c++17, atau toolchain Clang/LLVM untuk Windows. Lihat Blog Tim Visual C++ untuk detail selengkapnya.
  • Kami telah menghentikan sakelar C++ Compiler /Gm. Pertimbangkan untuk menonaktifkan sakelar /Gm dalam skrip build Anda jika ditentukan secara eksplisit. Atau, Anda juga dapat dengan aman mengabaikan peringatan penghentian untuk /Gm karena tidak akan diperlakukan sebagai kesalahan saat menggunakan "Perlakukan peringatan sebagai kesalahan" (/WX).
  • Pengalaman Android C++ sekarang menjadi default ke Android SDK 25 dan Android NDK 16b.
Produktivitas
  • Analisis kode sekarang berjalan secara otomatis di latar belakang. Peringatan ditampilkan sebagai lekukan hijau di editor saat Anda mengetik.
  • Bilah Templat sekarang menggunakan UI Jendela Intip daripada jendela modal, mendukung templat berlapis, dan mengisi argumen default apa pun ke dalam Jendela Intip.
  • Perbaikan otomatis untuk peringatan analisis kode NULL-nullptr> (C26477 USE_NULLPTR_NOT_CONSTANT) tersedia melalui menu bola lampu pada baris yang relevan, diaktifkan secara default dalam aturan Aturan Tipe Pemeriksaan Inti C++. Perbaikan cepat tambahan dalam IDE termasuk menambahkan arahan #include yang hilang, memperbaiki titik koma yang hilang, dan memperbaiki penggunaan '*' yang salah versus '&'.
  • Header yang telah dikompilasi sebelumnya tidak lagi dihasilkan secara default untuk konsol C++ dan aplikasi desktop.
  • Buka Definisi sekarang berfungsi pada arahan #include, membuka file yang sesuai. Ini termasuk pintasan F12, menyediakan cara mudah untuk menavigasi di sekitar kode Anda.
  • Mengarahkan kurung kurawal penutup blok kode memberikan beberapa informasi bermanfaat tentang konteks blok tersebut.
  • Kami telah menambahkan dukungan di ConcurrencyChecker untuk jenis STL terkenal dari <header mutex> .
  • Implementasi parsial yang diperbarui dari pemeriksa profil Seumur Hidup tersedia untuk mendeteksi penunjuk dan referensi yang menjuntai.
  • Kami telah menambahkan dukungan awal dalam kompilator untuk operator <C++20 => ("pesawat ruang angkasa") untuk perbandingan tiga arah.
CMake
  • Kami telah meningkatkan performa IntelliSense untuk file C++ dalam proyek CMake.
  • Visual Studio membantu bootstrap pengembangan C++ Anda dengan CMake di Linux dengan mendeteksi apakah Anda memiliki versi CMake yang kompatibel di komputer Linux Anda. Jika tidak, Visual Studio menawarkan untuk menginstalnya untuk Anda.
  • CMake Pengaturan Editor menyediakan alternatif untuk CMake Pengaturan.json dan menyediakan beberapa paritas dengan CMakeGUI.
  • Menu CMake telah dihapus dan diatur ulang untuk paritas yang lebih dekat dengan proyek dan solusi.
  • Pengaturan yang tidak kompatibel di CMake Pengaturan, seperti arsitektur yang tidak cocok atau pengaturan generator CMake yang tidak kompatibel, menampilkan berlekuk di editor JSON dan kesalahan di Daftar Kesalahan.
  • Toolchain vcpkg secara otomatis terdeteksi dan diaktifkan untuk proyek CMake yang dibuka di IDE setelah vcpkg integrate install dijalankan. Perilaku ini dapat dimatikan dengan menentukan file toolchain kosong di CMakeSettings.
  • Proyek CMake sekarang mengaktifkan penelusuran kesalahan Just My Code secara default.
  • Peringatan analisis statis sekarang dapat diproses di latar belakang dan ditampilkan di editor untuk proyek CMake.
  • Kami telah menambahkan pesan build yang lebih jelas dan mengonfigurasi pesan 'begin' dan 'end' untuk proyek dan dukungan CMake untuk UI kemajuan build Visual Studio. Selain itu, sekarang ada pengaturan verbositas CMake di Opsi Alat > untuk menyesuaikan tingkat detail build CMake dan pesan konfigurasi di Jendela Output.
  • Pengaturan 'cmakeToolchain' sekarang didukung di CMake Pengaturan untuk menentukan toolchain tanpa memodifikasi baris perintah CMake secara manual.
Backend
  • Kami telah menerapkan peningkatan throughput build, termasuk penanganan linker file I/O dan waktu tautan dalam penggabungan dan pembuatan jenis PDB.
  • Kami telah menambahkan dukungan dasar untuk vektorisasi OpenMP SIMD. Ini dapat diaktifkan dengan sakelar CL baru -openmp:experimental. Ini memungkinkan perulangan yang dianomasi dengan "#pragma omp simd" untuk berpotensi di-vektorisasi. Vektorisasi tidak dijamin, dan perulangan yang dianomasikan tetapi tidak di-vektorisasi akan mendapatkan peringatan yang dilaporkan. Jika tidak ada klausul SIMD yang didukung, klausul tersebut hanya akan diabaikan dan peringatan akan dilaporkan.
  • Kami telah menambahkan sakelar baris perintah inlining baru -Ob3, yang merupakan versi yang lebih agresif dari -Ob2. -O2 (optimalkan biner untuk kecepatan) masih menyiratkan -Ob2 secara default; jika Anda menemukan compiler kurang inlining, pertimbangkan untuk meneruskan -O2 -Ob3.
  • Untuk mendukung vektorisasi tangan perulangan yang berisi panggilan ke fungsi pustaka matematika dan operasi tertentu lainnya seperti divisi bilangan bulat, kami telah menambahkan dukungan untuk fungsi intrinsik Pustaka Matematika Vektor Pendek (SVML) yang menghitung fungsi vektor 128-bit, 256-bit atau 512-bit. Lihat Panduan Intrinsik Intel untuk definisi fungsi yang didukung.
  • Pengoptimalan baru dan yang ditingkatkan:
    • Penyederhanaan lipatan konstan dan aritmatika untuk ekspresi menggunakan intrinsik SIMD (vektor), untuk bentuk float dan bilangan bulat
    • Analisis yang lebih kuat untuk mengekstrak informasi dari alur kontrol (jika/lain/beralih pernyataan) untuk menghapus cabang selalu terbukti benar atau salah
    • Peningkatan memset unrolling untuk menggunakan instruksi vektor SSE2
    • Peningkatan penghapusan salinan struct/class yang tidak berguna, terutama untuk program C++ yang melewati nilai
    • Peningkatan pengoptimalan kode menggunakan memmove, seperti std::copy atau std::vector dan konstruksi std::string
Penghentian
  • Templat Proyek Pengujian C++ Terkelola tidak lagi tersedia. Anda dapat terus menggunakan kerangka kerja Pengujian C++ Terkelola di proyek yang sudah ada, tetapi, untuk pengujian unit baru, pertimbangkan untuk menggunakan salah satu kerangka kerja pengujian asli di mana Visual Studio menyediakan templat (MSTest, Google Test) atau templat Managed C# Test Project.
  • Windows 8.1 SDK tidak lagi tersedia di alat penginstal Visual Studio. Tingkatkan proyek C++ Anda ke Windows 10 SDK terbaru. Jika Anda memiliki dependensi keras pada 8.1, Anda dapat mengunduhnya dari arsip Windows SDK.
  • Penargetan Windows XP tidak akan lagi tersedia untuk toolset C++ terbaru. Penargetan XP dengan pengkompilasi & pustaka MSVC tingkat VS 2017 masih didukung dan dapat diinstal melalui "Komponen individu".
  • Dokumentasi kami secara aktif mencegah penggunaan Modul Penggabungan untuk penyebaran Visual C++ Runtime. Kami mengambil langkah tambahan rilis ini untuk menandai MSM kami sebagai tidak digunakan lagi. Pertimbangkan untuk memigrasikan penyebaran pusat VCRuntime Anda dari MSM ke paket yang dapat didistribusikan ulang.
  • Wizard C++ ATL/MFC berikut ini tidak lagi tersedia: Wizard Komponen ATL COM+ 1.0, Wizard Komponen Halaman Server Aktif ATL, Wizard Penyedia ATL OLE DB, Wizard Halaman Properti ATL, Wizard Konsumen ATL OLE DB, Konsumen MFC ODBC, kelas MFC dari kontrol ActiveX, dan kelas MFC dari Type Lib. Kode sampel untuk teknologi ini diarsipkan di repositori GitHub VCSamples.

F#

Peningkatan F# di Visual Studio 2019 berada di tiga area utama:

  • F# 4.6
  • Peningkatan performa utama untuk solusi menengah dan lebih besar
  • Banyak pekerjaan sumber terbuka oleh komunitas sumber terbuka kami yang sangat baik
F# 4.6

Rilis ini berisi bahasa F# 4.6:

Peningkatan F# compiler dan FSharp.Core

F# dan compiler dan FSharp.Core telah melihat banyak peningkatan, terutama dari kontributor sumber terbuka:

  • fsi.exe dan fsc.exe sekarang default ke .NET Framework 4.7.2, memungkinkan pemuatan komponen yang menargetkan kerangka kerja ini atau lebih rendah (#4946).
  • Kami mengoptimalkan metode pada struct dan struct record untuk melakukan serta metode pada kelas dan rekaman berbasis kelas (#3057).
  • Kami mengoptimalkan IL yang dipancarkan untuk logika Boolean gabungan dalam kode F# (#635).
  • Kami telah mengoptimalkan penggunaan + dengan string di F# untuk memanggil jumlah String.Concat panggilan minimal mungkin (#5560).
  • Kami memperbaiki masalah dalam paket FSharp.Core di mana beberapa direktori tambahan dengan aset pengujian disertakan. FSharp.Core 4.5.5 dan 4.6.1 harus memiliki perbaikan (#5814).
  • Ketika atribut yang ditentukan pengguna tidak mewarisi dari Attribute kelas , Anda sekarang akan menerima peringatan, oleh Vasily Kirichenko.
  • Nilai AssemblyInformationVersionAttribute dalam file proyek sekarang mendukung nilai arbitrer untuk mendukung skenario seperti SourceLink (#4822).
  • Bug di mana sintaks ilegal dengan Pola Aktif akan menyebabkan kesalahan kompilator internal telah diperbaiki oleh Steffen Forkmann (#5745).
  • Bug di mana Module akhiran ditambahkan secara keliru ke modul dalam modul rekursif untuk mencocokkan jenis di mana satu-satunya perbedaan adalah parameter generik diperbaiki oleh BooksBaum (#5794).
  • Peningkatan pada pesan kesalahan ketika parameter jenis tidak berdekatan dengan nama jenis telah ditingkatkan oleh Alan Ball (#4183).
  • Akhiran uint16 harfiah tercantum dengan benar dalam pesan kesalahan untuk literal numerik yang tidak valid, oleh Teo Tsirpanis (#5712).
  • Pesan kesalahan untuk ekspresi komputasi tidak lagi menyatakan async dalam pesan dan sebagai gantinya merujuk ke "ekspresi komputasi", oleh John Wostenberg (#5343).
  • Pesan kesalahan ketika salah mereferensikan .dlls di interaktif F# diperbaiki oleh Bartoz Sypytkowski (#5416).
  • Bug di mana Parameter Jenis yang Diselesaikan Secara Statis tidak dapat menangani panggilan anggota yang menyembunyikan anggota yang diwariskan diperbaiki oleh Victor Peter Rouven Müller (#5531).
  • Berbagai peningkatan performa yang lebih kecil pada kompiler telah ditambahkan oleh Steffen Forkmann dan Robert Jeppesen.
Peningkatan performa F#

Area fokus besar lainnya untuk F# di Visual Studio 2019 adalah performa untuk solusi sedang dan besar. Kami mengatasi beberapa masalah yang sangat lama, beberapa di antaranya berasal dari edisi pertama alat F# untuk Visual Studio. Kami juga mendapat bantuan dari komunitas F# sumber terbuka yang sangat baik.

  • Kami telah mengubah bagaimana layanan bahasa F# diinisialisasi oleh Roslyn. Pewarnaan jenis untuk solusi yang lebih besar umumnya akan muncul lebih cepat.
  • Kami mengubah representasi teks sumber kami untuk menghindari alokasi besar dari waktu ke waktu, terutama dengan file yang lebih besar (#5935, #5936, #5937, #4881).
  • Kami mengubah cache build kami untuk pengeditan kecil ke file agar menggunakan memori yang jauh lebih sedikit (#6028).
  • Kami memodifikasi fitur kompilator yang menunjukkan nama ketika token yang tidak dikenal diketik untuk hanya menghitung saran ini sesuai permintaan, menghasilkan pengurangan CPU dan memori yang signifikan saat mengetik perlahan dalam solusi yang lebih besar (#6044).
  • Kami mengubah IntelliSense sehingga tidak akan lagi menampilkan simbol dari namespace yang tidak dibuka secara default. Ini terutama meningkatkan performa untuk IntelliSense dalam proyek dengan banyak referensi. Fitur ini dapat diaktifkan kembali di pengaturan melalui Alat > Opsi > Editor > Teks F# > IntelliSense.
  • Kami meningkatkan penggunaan memori saat menggunakan Penyedia Jenis untuk menghasilkan sejumlah besar jenis yang disediakan dalam daftar penyelesaian (#5599).
  • Pengurangan penggunaan CPU dan memori ke algoritma perbandingan string internal untuk menyarankan nama yang tidak dikenal telah diperbaiki oleh Avi Avni (#6050).
  • Sumber penting alokasi string besar, terutama untuk alat IDE, diperbaiki oleh Avi Avni (#5922).
  • Sumber alokasi Tumpukan Objek Besar yang terkenal yang berasal dari komputasi IntelliSense telah diperbaiki oleh Chet Husk (#6084)
Peningkatan alat F#

Selain peningkatan performa, berbagai peningkatan alat F# lainnya untuk Visual Studio 2019 telah dilakukan:

  • Perbaikan Tambahkan open kode pernyataan sekarang akan default untuk menambahkan open pernyataan di bagian atas file.
  • Kami memperbaiki bug di mana match! dalam kode pengguna tidak valid pedoman struktur dan kode yang menguraikan node untuk cakupan berikutnya (#5456).
  • Editor sekarang akan mewarnai byrefdengan benar , outref, dan ref nilai sebagai bidang rekaman dengan pewarnaan nilai yang dapat diubah (#5579).
  • Kami memperbaiki bug di mana pemfaktoran ulang nama tidak mengenali ' karakter dalam nama simbol (#5604).
  • Kami telah memperbaiki bug yang sudah lama di mana mengganti nama file skrip F# mengakibatkan hilangnya data pewarnaan (#1944).
  • Kami membersihkan IntelliSense sehingga tidak menampilkan item yang tidak terkait dalam daftar saat menekan backspace.
  • Dengan indentasi "Smart", menempelkan kode F# ke editor sekarang akan memformatnya untuk mencocokkan cakupan yang sesuai berdasarkan posisi kursor saat ini, yang diimplementasikan oleh Saul Rennison (#4702).
  • Masalah di mana opsi editor F# tidak disinkronkan telah diperbaiki oleh Jakob Majocha (#5997, #5998).
  • Bug di mana IntelliSense dalam konstruktor dalam inherit klausul tidak akan menunjukkan konstruktor utama telah diperbaiki oleh Eugene Auduchinok (#3699)
  • Berbagai peningkatan yang lebih kecil pada layanan bahasa F# telah dilakukan oleh Eugene Auduchinok
Infrastruktur sumber terbuka F#

Kami telah sepenuhnya memigrasikan basis kode alat F# dan F# untuk menggunakan .NET SDK. Ini secara dramatis menyederhanakan proses kontribusi untuk pengembang, terutama jika mereka tidak menggunakan Windows. Selain itu, Jakob Majocha telah membantu dalam membersihkan dokumen untuk kontributor baru mengingat perubahan basis kode.

Python

Berdasarkan umpan balik pelanggan, Visual Studio 2019 mencakup pengalaman yang dirombak untuk mengelola lingkungan Python:

  • Kami menambahkan dialog Tambahkan lingkungan baru yang menyederhanakan pengalaman membuat dan menambahkan lingkungan virtual dan lingkungan conda dalam proyek Anda.
  • Alat penginstal Visual Studio tidak lagi menginstal versi lengkap Anaconda untuk mengurangi ukuran penginstalan Visual Studio dan menghindari kesalahan selama peningkatan.
  • Miniconda dibundel dengan beban kerja Python sebagai komponen opsional, memungkinkan Anda membuat lingkungan conda tanpa harus menginstal Miniconda/Anaconda.
  • Anda sekarang akan secara otomatis diminta untuk menambahkan lingkungan jika requirements.txt (lingkungan virtual) atau environment.yml (lingkungan conda) ada di akar proyek Anda.
  • Toolbar Python Environments baru tersedia saat mengedit file Python. Toolbar baru memungkinkan Anda beralih di antara penerjemah Python yang berbeda saat bekerja dengan proyek, ruang kerja Open Folder, atau file Python longgar di proyek lain.
  • Peningkatan kualitas penyelesaian otomatis di Python IntelliSense, termasuk peningkatan deteksi impor relatif dan namespace layanan.
  • Templat proyek Django telah diperbarui untuk mendukung Django 2.x.
  • Nilai pengembalian fungsi sekarang ditampilkan dalam debugger Python.
  • Anda sekarang dapat membuat sesi VS Live Share dan berkolaborasi pada kode Python dengan pengguna Visual Studio lainnya. Sebelumnya, Python hanya didukung saat bergabung dengan sesi yang dibuat dari Visual Studio Code.

JavaScript/TypeScript

  • Kami telah menambahkan dukungan untuk mengaktifkan penelusuran kesalahan JavaScript dalam pengujian unit dalam proyek Node.js. Ini adalah fitur yang diminta lama dari pelanggan Node.js kami.
  • Layanan bahasa JavaScript/TypeScript sekarang akan secara otomatis dimuat dalam proyek yang memiliki paket TypeScript NuGet atau paket npm yang diinstal (TypeScript 3.2 dan yang lebih baru didukung dari paket NuGet dan TypeScript 2.1 dan ke atas didukung dari paket npm).
  • Kami telah menerapkan peningkatan performa dalam layanan bahasa sebagai hasil dari peningkatan batas memori pada layanan bahasa untuk menangani proyek yang lebih besar.
  • Kami tidak lagi menampilkan diagnostik file JavaScript/TypeScript tertutup dalam daftar kesalahan secara default.
  • Layanan bahasa JavaScript warisan tidak lagi tersedia. Sebelumnya, pengguna memiliki opsi untuk memulihkan layanan bahasa JavaScript warisan. Pengguna sekarang akan memiliki layanan bahasa JavaScript baru di luar kotak. Layanan bahasa baru didasarkan pada layanan bahasa TypeScript, yang didukung oleh analisis statis. Ini memungkinkan alat yang lebih baik, sehingga kode JavaScript Anda dapat memperoleh manfaat dari IntelliSense yang lebih kaya berdasarkan definisi jenis. Layanan baru ini ringan dan mengonsumsi lebih sedikit memori daripada layanan warisan, memberi pengguna performa yang lebih baik saat kode mereka diskalakan.

Team Explorer dan Azure DevOps

Kami telah melakukan peningkatan pada pengalaman Item Kerja Git dengan Azure DevOps.

  • Tetapkan item kerja untuk diri Anda sendiri atau orang lain dengan pemilih identitas baru. Secara default, Anda akan ditampilkan daftar orang yang terakhir anda gunakan. Atau, gunakan kemampuan pencarian untuk mencari dan menemukan orang lain di organisasi Anda.
  • Kami telah meningkatkan pengalaman #mentions dalam pesan penerapan. Saat Anda memilih item kerja dari pemilih #mention, item tersebut akan secara otomatis ditambahkan ke daftar Item Kerja Terkait.
Assigning work items and #mention improvements
Menetapkan item kerja dan penyempurnaan #mention

Penyorotan Jalur Panas

  • Kami telah menambahkan dukungan untuk penyorotan jalur panas di alat Penggunaan CPU dan Alokasi Objek DotNet di Profiler Performa. Pilih fungsi apa pun di pohon panggilan dan tekan tombol jalur panas untuk memperluas jalur panas Penggunaan CPU atau Alokasi Objek Dot Net. Fitur ini memungkinkan Anda untuk dengan mudah mengidentifikasi panggilan fungsi yang menggunakan persentase tertinggi CPU atau yang mengalokasikan objek terbanyak.
Hot path highlighting in the CPU Usage tool
Penyorotan jalur panas di alat Penggunaan CPU

Alat .NET dan ASP.NET

  • Kami telah menerapkan berbagai penyempurnaan UX kecil pada halaman ringkasan profil penerbitan (header bagian baru dan tindakan/pintasan) untuk semua aplikasi.
  • Saat menerbitkan aplikasi ASP.NET ke Azure App Service, halaman ringkasan profil penerbitan sekarang memiliki bagian baru yang disebut "Dependensi". Bagian baru ini saat ini memungkinkan Anda mengaitkan sumber daya Azure Storage dan Azure SQL dengan instans layanan aplikasi Anda. Harapkan lebih banyak layanan Azure muncul melalui mekanisme ini di masa mendatang.
  • Gunakan metrik kode dengan proyek .NET Core dengan kompatibilitas tambahan kami.
  • Ekspor pengaturan editor ke file Editorconfig melalui Opsi Alat > Editor >> Teks Gaya Kode C# > dengan tombol "Hasilkan file .editorconfig dari pengaturan".
  • Gunakan dukungan pengurai Regex baru C# dan Visual Basic. Ekspresi reguler sekarang dikenali, dan fitur bahasa diaktifkan di dalamnya. String regex dikenali ketika string diteruskan ke konstruktor Regex atau ketika string segera didahului dengan komentar yang berisi string language=regex. Fitur bahasa yang disertakan dalam rilis ini adalah klasifikasi, pencocokan kurung kurawal, referensi sorotan, dan diagnostik.
Regular expressions now have parser support
Dukungan Pengurai Ekspresi Reguler
  • Anda sekarang dapat menggunakan analisis kode mati untuk anggota privat yang tidak digunakan dengan perbaikan kode opsional untuk menghapus deklarasi anggota yang tidak digunakan.
  • Fitur Temukan Referensi pada aksesor sekarang hanya mengembalikan hasil untuk aksesor tersebut.
  • Kami telah menambahkan perbaikan kode untuk menghasilkan metode dekonstruksi.
  • Pernyataan "Menggunakan" dapat ditambahkan saat kode ditempelkan ke dalam file. Perbaikan kode muncul setelah menempelkan kode yang dikenali yang meminta Anda untuk menambahkan impor yang hilang yang relevan.
  • Sekarang ada lebih banyak pemfaktoran ulang dan tindakan cepat yang tersedia dengan menggunakan "Ctrl + ." atau "Alt + Enter":
    • Untuk kasus di mana "tunggu" tersirat tetapi dihilangkan, sekarang ada peringatan kompilator.
    • Untuk mengonversi fungsi lokal ke metode .
    • Untuk mengonversi tuple ke struktur bernama.
    • Untuk mengonversi jenis anonim ke kelas.
    • Untuk mengonversi jenis anonim ke tuple.
    • Untuk perulangan foreach ke kueri LINQ atau ke metode LINQ.
  • Anda sekarang telah menambahkan dukungan untuk aplikasi ASP .NET Core yang berjalan di Azure Kubernetes Service. Untuk memulai, lihat contoh docker ini di GitHub.
  • ASP.NET sekarang didukung di alat Penggunaan CPU Profiler Performa.
CPU Usage Tool in Performance Profiler
Alat Penggunaan CPU di Profiler Performa
  • Anda sekarang dapat menggunakan Temukan Semua Referensi (Shift-F12) dan CodeLens untuk menampilkan hasil dari file Razor (.cshtml) dalam proyek .NET Core. Anda kemudian dapat menavigasi ke kode yang diidentifikasi dalam file Razor yang relevan.
  • Kami telah menambahkan dukungan untuk menargetkan aplikasi ASP .NET (inti dan desktop) yang berjalan pada Windows Virtual Machines (VM) dan VM Scale Sets.
Snapshot debugger target selection UI
UI Pemilihan Target Snapshot Debugger
  • Anda sekarang akan menerima peringatan saat menjalankan analisis kode menggunakan FxCop. Penganalisis .NET Compiler adalah cara yang disarankan untuk melakukan analisis kode ke depannya. Baca selengkapnya tentang migrasi ke penganalisis platform kompilator .NET.
  • Templat proyek Pustaka Kelas Portabel (PCL) tidak lagi tersedia, dan dukungan proyek tidak akan diinstal secara default. Proyek baru yang dimaksudkan untuk menargetkan beberapa platform harus menggunakan jenis proyek .NET Standard. Pelanggan yang memerlukan dukungan proyek PCL harus menginstal komponen secara terpisah dari tab Komponen Individual di alat penginstal Visual Studio.
  • Perintah "Project.CopyWebSite" tidak lagi tersedia. Fitur ini hanya tersedia pada jenis proyek "Situs Web" untuk .NET. Ini memberikan kemampuan untuk menyinkronkan dua situs web sehingga mereka memiliki versi yang sama dari setiap file. Di Visual Studio 2019, Anda dapat menyalin file dari tujuan jarak jauh di luar Visual Studio lalu membuka proyek.
  • Kemampuan untuk membuka proyek Situs Web dari lokasi FTP jarak jauh telah dihapus. Pengguna FTP dapat menyalin file dari tujuan jarak jauh di luar Visual Studio, membuka proyek dan membuat perubahan, lalu menggunakan terbitkan untuk mendorongnya kembali ke lokasi FTP jarak jauh.
  • Beban kerja ASP.NET dan Web tidak lagi menginstal pengalaman pengeditan CoffeeScript kustom. Bundel TextMate Visual Studio memberikan pengalaman unggul untuk bekerja dengan CoffeeScript.
  • Kesalahan CSS dan CoffeeScript yang saat ini dihasilkan oleh salinan bawaan CSSLint dan CoffeeLint tidak akan muncul lagi secara otomatis saat mengedit file-file tersebut. Gunakan metode alternatif untuk menjalankan linter seperti npm atau Visual Studio Task Runner Explorer.
  • Visual Studio tidak lagi menyediakan atribut INTELliSense for Knockout HTML. Di Visual Studio 2019 Anda harus mengetik atribut.
  • Kemampuan untuk menggunakan debugger Chrome Warisan di proyek ASP.NET untuk penelusuran kesalahan JavaScript telah dihapus. Anda dapat terus menggunakan debugger Chrome saat ini yang terpasang di Visual Studio.
  • Kemampuan untuk menggunakan fungsionalitas Konsol JavaScript dalam proyek ASP.NET telah dihapus. Sebaiknya pelanggan menggunakan Konsol yang disertakan dalam devtool browser favorit mereka.

Alat Kontainer

  • Kami telah menambahkan pengalaman proyek tunggal yang disederhanakan untuk kontainerisasi dan penelusuran kesalahan:
    • Aplikasi Web ASP.NET (.NET Framework)
    • Aplikasi Konsol (.NET Core)
  • Kami telah menambahkan dukungan untuk penelusuran kesalahan ASP.NET Aplikasi Inti yang menggunakan Alpine sebagai gambar dasar.
  • Kami telah menambahkan dukungan untuk gambar ASP.NET dan .NET Core terbaru.

Alat .NET Core

.NET Core 3.0

Dengan rilis ini, Anda dapat membuat proyek ASP.NET Core, Console, dan Class Library yang menargetkan .NET Core 3.0 jika Anda menginstal SDK pratinjau.

Jika Anda menggunakan Visual Studio RC, Anda juga perlu membuka Proyek Opsi > Alat > dan Solusi > .NET Core dan centang kotak centang Gunakan pratinjau .NET Core SDK. Jika Anda menggunakan Pratinjau Visual Studio, Anda tidak perlu melakukan ini. Anda dapat membaca selengkapnya tentang pengaturan ini dan perilakunya dalam pembaruan alat .NET Core untuk Visual Studio 2017 versi 15.9.

Anda juga dapat membuat proyek Formulir Windows atau WPF untuk .NET Core 3.0 dengan perintah "dotnet new". Proyek-proyek ini kemudian dapat dibuka di Visual Studio 2019.

Fitur baru

Dimulai dengan rilis ini, kami membuat file proyek untuk proyek bergaya .NET SDK sebagai jenis file kelas satu di Visual Studio. Berikut ini sekarang didukung:

  • Klik dua kali simpul proyek untuk membuka file proyek
  • Klik tunggal simpul proyek untuk membuka file proyek di tab Pratinjau
  • Temukan file proyek berdasarkan nama dengan Buka Semua (ctrl + T)
  • Elemen MSBuild dalam file proyek sekarang dapat dicari dengan Temukan di File
  • Membuka dari daftar kesalahan jika kesalahan penulisan proyek dipicu

Selain itu, proyek bergaya .NET SDK sekarang akan menggunakan pengalaman Konsol Terintegrasi baru untuk F5 dan ctrl + F5 di aplikasi konsol. Ini menyaingkan pengalaman saat meluncurkan aplikasi konsol dari Visual Studio:

  • Untuk F5, jendela konsol tidak akan ditutup secara otomatis ketika aplikasi selesai dijalankan. Anda tidak perlu lagi menambahkan Console.Read() panggilan ke aplikasi konsol Anda.
  • Untuk ctrl + F5, jendela konsol akan digunakan kembali dalam eksekusi aplikasi Anda berikutnya. Anda tidak perlu lagi menutup banyak jendela konsol.

Jendela konsol baru dapat ditutup secara otomatis dengan menekan tombol saat terbuka atau dengan memilih opsi di bawah Opsi > Alat > Tutup konsol secara otomatis saat penelusuran kesalahan berhenti.

Dukungan untuk Ekspresi Lisensi dan File Lisensi sekarang telah ditambahkan ke halaman properti proyek. Ini selaras dengan perubahan untuk dihentikan licenseUrl di NuGet.

Peningkatan performa
  • Skalabilitas solusi besar telah ditingkatkan secara signifikan, memungkinkan penggunaan solusi .NET Core yang jauh lebih besar daripada sebelumnya.
  • Waktu pemuatan solusi untuk proyek besar telah berkurang secara signifikan, seperti halnya penggunaan CPU dan memori saat memuatnya.
Paritas fitur dengan proyek non-.NET Core

Anda dapat menemukan daftar lengkap masalah dan permintaan pull di pratinjau 16.0, 16.0 Pratinjau 2, 16.0 Pratinjau 3, dan Pratinjau 16.0 4 tonggak.

Produktivitas .NET

  • Refaktoran .NET dan codefix:

    • Menyinkronkan Namespace layanan dan Nama Folder
    • Menarik anggota ke atas pemfaktoran ulang dengan opsi dialog
    Pull members up refactoring with dialog options
    Dialog Tarik Anggota Ke Atas
    • Membungkus/inden/meratakan daftar parameter/argumen
    • Mengonversi jenis anonim menjadi tuple
    • Menggunakan badan ekspresi/blok untuk lambda
    • Membalikkan ekspresi kondisional dan operasi logika
    • Tutup komentar blok secara otomatis pada "/"
    • Mengonversi ke penetapan gabungan
    • Memperbaiki variabel yang dititik secara implisit tidak boleh konstanta
    • Perbaikan otomatis untuk diganti @$" saat $@" mengetik string verbatim terinterpolasi
    • Penyelesaian untuk #nullable enable|disable
    • Perbaikan untuk nilai dan parameter ekspresi yang tidak digunakan
    • Perbaikan untuk memungkinkan Antarmuka Ekstrak tetap berada dalam file yang sama
  • Kategorikan referensi menurut Baca/Tulis.

  • Tambahkan opsi when_multiline Editorconfig untuk csharp_prefer_braces.

  • Warna klasifikasi baru tersedia dari .NET Compiler Platform SDK (alias Roslyn). Warna default baru, mirip dengan warna Visual Studio Code, secara bertahap sedang diluncurkan. Anda dapat menyesuaikan warna ini di Font dan Warna Lingkungan > Opsi > Alat > atau menonaktifkannya di Fitur Pratinjau Lingkungan > dengan menghapus centang pada kotak centang Gunakan warna yang disempurnakan. Kami menghargai umpan balik pendengaran tentang pengaruh perubahan ini terhadap alur kerja Anda.

New Roslyn classification colors
Warna klasifikasi Roslyn baru

Penelusuran Kesalahan JavaScript dalam proyek ASP.NET

  • Jika Anda telah menambahkan browser Google Chrome baru dengan argumen kustom menggunakan "Telusuri dengan..." menu untuk proyek ASP.NET Anda, Visual Studio sekarang akan mengaktifkan penelusuran kesalahan JavaScript untuk aplikasi Anda saat penelusuran kesalahan dimulai. Argumen peluncuran kustom untuk Google Chrome akan diterapkan saat meluncurkan Chrome.
Adding Google Chrome with Custom arguments using 'Browse with'
Menambahkan Google Chrome dengan argumen Kustom menggunakan 'Telusuri dengan...'
Catatan: Visual Studio, secara default, akan meluncurkan Chrome menggunakan direktori data yang berbeda dari instans Chrome biasa kecuali Anda memberikan jalur ke direktori data Anda sebagai argumen. Akibatnya, jika Anda memerlukan ekstensi apa pun untuk tersedia saat menggunakan instans Chrome ini, Anda harus menginstalnya untuk pertama kalinya.

alat ASP.NET & Azure Functions

  • Visual Studio 2019 hadir dengan pengalaman baru untuk membuat proyek baru. Saat membuat proyek ASP.NET baru secara khusus, Visual Studio menawarkan dialog tambahan yang menampilkan ASP.NET pilihan tertentu. Dialog tambahan ini telah diperbarui agar sesuai dengan gaya visual pengalaman lainnya.
  • Untuk sementara waktu sekarang, publikasikan kredensial di Visual Studio dienkripsi dan disimpan dalam file pengguna profil publikasi sehingga Anda tidak perlu memasukkannya kembali setiap kali Anda menerbitkan aplikasi Anda. File pengguna secara umum dikecualikan dari kontrol sumber secara default karena kemungkinan berisi informasi rahasia dan/atau pribadi yang tidak boleh dibagikan. Hingga saat ini, jika profil penerbitan untuk proyek Azure Functions diperiksa ke kontrol sumber tetapi file pengguna tidak, kredensial penerbitan hilang dan profil penerbitan tidak dapat digunakan kembali. Sekarang, kami mengizinkan kredensial diedit dan file pengguna baru dibuat sehingga profil penerbitan dapat digunakan kembali.

Wizard Performa

Di Visual Studio 2019, pengalaman pembuatan profil yang tersedia di Wizard Performa telah dipindahkan ke Profiler Performa. Anda dapat menemukan Alat Penggunaan CPU untuk pengambilan sampel, dan instrumentasi di alat Instrumentasi di Profiler Performa. Dengan perubahan ini, Panduan Performa tidak lagi diperlukan dan telah dihapus dari Visual Studio 2019. Selain itu, opsi pengambilan sampel di alat baris perintah Performa VS telah dihapus, alat baris perintah pengganti akan dirilis dalam pratinjau mendatang.

Alat Pengujian

  • Anda sekarang dapat mengklik kanan pengujian, kelas pengujian, atau proyek pengujian di Penjelajah Solusi untuk menjalankan atau men-debug pengujian.
  • Uji coba sekarang mendeteksi secara otomatis arsitektur prosesor apa yang diatur dalam properti proyek.
  • Alat uji OSS UI seperti Selenium dan Appium telah mendapatkan momentum dan memiliki dukungan komunitas yang kuat. Karena kerangka kerja ini telah menjadi standar industri, kami menghentikan pengujian antarmuka pengguna Berkode untuk pengujian fungsi otomatis berbasis UI. Visual Studio 2019 akan menjadi versi akhir Visual Studio dengan fitur pengujian Antarmuka Pengguna Berkode. Sebaiknya gunakan Selenium untuk menguji aplikasi web dan Appium dengan WinAppDriver untuk menguji desktop dan aplikasi UWP.
  • Visual Studio 2019 akan menjadi versi terakhir Visual Studio dengan fitur uji beban. Untuk pelanggan yang memerlukan alat pengujian beban, sebaiknya gunakan alat pengujian beban alternatif seperti Apache JMeter, Akamai CloudTest, Blazemeter.
  • Pada Visual Studio 2019, beberapa API jendela pengujian yang sebelumnya ditandai publik tetapi tidak pernah didokumenkan secara resmi telah dihapus. Mereka ditandai tidak digunakan lagi di Visual Studio 2017 untuk memberi perpanjangan peringatan dini. Sepengetahuan kami, sangat sedikit ekstensi yang telah mengambil dependensi pada API ini. API ini termasuk IGroupByProvider, IGroupByProvider, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken dan SearchFilterTokenType. Jika perubahan ini memengaruhi ekstensi Anda, beri tahu kami dengan mengirimkan masalah di Komunitas Pengembang.

Alat Visual Studio Kubernetes

Alat Visual Studio Kubernetes, yang sebelumnya tersedia sebagai ekstensi terpisah untuk Visual Studio 2017, sekarang diintegrasikan ke dalam beban kerja pengembangan Azure di Visual Studio 2019.

Menambahkan dukungan Kubernetes ke proyek baru

Untuk menambahkan dukungan Kubernetes ke proyek baru, buka Visual Studio dan pilih opsi Buat proyek baru. Di jendela Buat proyek baru, cari Kubernetes dan pilih Aplikasi Kontainer untuk templat proyek Kubernetes .

Creating a Container Application for Kubernetes
Membuat Aplikasi Kontainer untuk Kubernetes

Klik Berikutnya dan masukkan nama proyek, lokasi, dan nama solusi. Lalu, klik Buat. Pilih templat aplikasi ASP.NET Core yang ingin Anda gunakan untuk proyek Anda dan klik OK. Visual Studio akan secara otomatis membuat bagan Dockerfile dan Helm yang dapat Anda gunakan untuk membangun dan menyebarkan aplikasi baru Anda ke kluster Kubernetes. Anda dapat memodifikasi artefak ini sesuai kebutuhan.

Menambahkan dukungan Kubernetes ke proyek yang ada

Anda juga dapat menambahkan dukungan untuk Kubernetes ke aplikasi ASP.NET Core yang ada. Untuk melakukan ini, buka proyek di Visual Studio 2019. Di Penjelajah Solusi, klik kanan pada proyek, arahkan ke Tambahkan, dan klik Dukungan Orkestrator Kontainer.

Adding container orchestrator support
Menambahkan dukungan orkestrator kontainer

Dalam dialog Tambahkan Dukungan Orkestrator Kontainer, pilih Kubernetes/Helm dan klik OK. Visual Studio akan secara otomatis membuat bagan Dockerfile dan Helm (dalam folder bernama bagan) yang dapat Anda gunakan untuk membangun dan menyebarkan aplikasi Anda ke kluster Kubernetes. Jika salah satu artefak ini sudah ada, artefak tersebut tidak akan ditimpa. Anda dapat memodifikasi artefak ini sesuai kebutuhan.

Membuat titik akhir yang dapat diakses publik

Saat Anda menambahkan dukungan Kubernetes ke proyek baru atau yang sudah ada, Visual Studio akan bertanya apakah Anda ingin membuat titik akhir yang dapat diakses publik untuk aplikasi Anda.

Publicly accessible endpoint prompt
Prompt titik akhir yang dapat diakses publik

Jika Anda mengklik Ya, Visual Studio akan mengonfigurasi bagan Helm untuk aplikasi Anda untuk membuat objek ingress Kubernetes saat aplikasi disebarkan ke kluster Kubernetes. Anda dapat mengubah opsi ini kapan saja dengan memodifikasi bagan Helm.

Men-debug aplikasi Anda di Azure Kubernetes Service

Setelah menambahkan dukungan Kubernetes ke proyek baru atau yang sudah ada, Anda dapat dengan mudah membangun, menjalankan, dan men-debug aplikasi Anda di kluster Azure Kubernetes Service (AKS) langsung, menggunakan fitur yang disebut Azure Dev Spaces. Ini berguna untuk menguji proyek Anda dalam konteks kluster Kubernetes yang sebenarnya atau untuk men-debug layanan yang merupakan bagian dari aplikasi yang jauh lebih besar tanpa harus mereplikasi seluruh aplikasi secara lokal. Azure Dev Spaces juga menyertakan fungsionalitas yang memungkinkan tim pengembangan Anda berbagi kluster AKS. Untuk informasi selengkapnya tentang Azure Dev Spaces, lihat dokumentasi Azure Dev Spaces. Untuk memulai, pastikan Bahwa Azure Dev Spaces dipilih sebagai target peluncuran debug di Visual Studio.

Selecting Azure Dev Spaces as debug launch target
Memilih Azure Dev Spaces sebagai target peluncuran debug

Sebelum meluncurkan proyek Anda di Dev Spaces untuk pertama kalinya, konfigurasikan langganan Azure dan kluster AKS yang ingin Anda gunakan. Selain itu, pilih ruang tempat Anda ingin menjalankan proyek.

Configuring Azure Dev Spaces
Mengonfigurasi Azure Dev Spaces

Biasanya, tim Anda menjalankan versi stabil terbaru dari seluruh aplikasi di ruang default . Kemudian, Anda menjalankan versi layanan yang sedang Anda kerjakan di ruang anak dari ruang default . Sekarang tidak perlu menjalankan layanan lain di ruang anak; Dev Spaces secara otomatis merutekan panggilan dari layanan Anda ke versi stabil layanan yang berjalan secara default. Untuk informasi selengkapnya tentang cara menyiapkan ini, lihat tutorial pengembangan tim dalam dokumentasi Azure Dev Spaces. Setelah Anda memilih langganan, kluster, dan ruang yang benar, klik OK untuk melanjutkan konfigurasi Dev Spaces. Jika Anda memilih kluster yang belum memiliki pengontrol Dev Spaces terkait, klik OK di kotak dialog berikut untuk membuatnya secara otomatis.

Enable Dev Spaces dialog
Aktifkan dialog Dev Spaces

Pembuatan pengontrol membutuhkan waktu sekitar 2 menit. Anda dapat mengklik tombol Tugas Latar Belakang di sudut kiri bawah jendela Visual Studio untuk melihat statusnya.

Azure Dev Spaces controller creation status via Background Tasks
Status pembuatan pengontrol Azure Dev Spaces melalui Tugas Latar Belakang

Setelah Pengontrol Dev Spaces siap digunakan, tekan F5 atau klik tombol debug Azure Dev Spaces pada toolbar untuk men-debug proyek Anda di AKS.

Azure Dev Spaces debug button
Tombol debug Azure Dev Spaces

Dev Spaces akan menyinkronkan kode Anda ke Azure, membangun gambar kontainer yang berisi kode Anda, dan menyebarkannya ke kluster AKS Anda menggunakan bagan Helm yang ditentukan dalam proyek Anda. Visual Studio akan membuka koneksi debug jarak jauh ke layanan yang berjalan di kluster sehingga Anda dapat berinteraksi dengannya seperti yang Anda lakukan saat men-debug layanan yang berjalan secara lokal.

Pengembangan Seluler dengan Xamarin

Rilis ini mencakup peningkatan ukuran beban kerja dan performa dan keandalan build Android, serta peningkatan untuk produktivitas Xamarin.Android dan Xamarin.Forms.

  • Beban kerja Xamarin sekarang hanya 7,69GB, pengurangan 2x dari Visual Studio 2017 versi 15.9 dan peningkatan 3x selama versi 15.7.
  • Ekstensi IntelliCode sekarang mendukung Xamarin.Forms XAML.
File > Proyek Baru

Kami melakukan peningkatan performa yang bertujuan untuk mengurangi waktu yang diperlukan untuk membuat proyek Xamarin baru sehingga Anda dapat mulai membangun aplikasi Anda lebih cepat. Kami juga sekarang menyertakan paket NuGet yang digunakan oleh templat sebagai bagian dari penginstalan beban kerja untuk mengurangi waktu pemulihan paket, terutama dalam bandwidth rendah atau situasi offline. Peningkatan ini mengurangi waktu untuk proyek Xamarin baru benar-benar dimuat dan dipulihkan hampir 50% dalam beberapa kasus.

New Xamarin project comparison gif
Membuat proyek Xamarin baru di Visual Studio versi 15.9 (kiri) dan Visual Studio 2019 (kanan)
Indikator kemajuan build

Anda sekarang dapat melihat informasi kemajuan build yang lebih rinci saat membangun proyek Anda. Mengklik ikon tugas latar belakang di sudut kiri bawah selama build akan menampilkan target build saat ini yang sedang berjalan. Ini dapat berguna untuk menentukan apakah build masih berjalan tetapi target membutuhkan waktu lama untuk diselesaikan.

Xamarin build progress indicator
Indikator kemajuan build Xamarin
Mode Pratinjau Dasar Xamarin.Forms Previewer

Anda tidak lagi harus membangun proyek Anda untuk Xamarin.Forms XAML Previewer untuk menunjukkan pratinjau kode Anda! Jika Anda memiliki kontrol kustom dalam file XAML, Anda mungkin perlu membuat proyek untuk mempratinjaunya, atau memilihnya ke dalam penyajian waktu desain.

Drop-down perangkat Xamarin.Forms Previewer

Anda sekarang dapat bertukar antara perangkat Android dan iOS yang berbeda untuk mempratinjau XAML Xamarin.Forms Anda menggunakan menu drop-down perangkat baru kami.

Xamarin.Forms Device Drop-Down
Drop-Down Perangkat Xamarin.Forms
Panel Properti Xamarin.Forms

Anda sekarang dapat mengedit atribut kontrol, sel, dan tata letak Xamarin.Forms yang paling umum di panel properti dan melihat perubahan tersebut langsung tercermin di XAML Anda.

Xamarin.Forms Property Panel
Panel Properti Xamarin.Forms
Templat Xamarin.Forms Shell

Kami memperbarui templat Xamarin.Forms untuk menggunakan rilis Xamarin.Forms terbaru dan juga menambahkan opsi templat baru untuk aplikasi Xamarin.Forms Shell. Shell bertujuan untuk mengurangi kompleksitas aplikasi sekaligus meningkatkan produktivitas pengembang dan berfokus pada kecepatan rendering dan konsumsi memori. Templat ini memberi Anda aplikasi Shell bootstrap untuk Android dan iOS.

Performa dan keandalan Android Build

Di Visual Studio 2017 versi 15.9 dan Visual Studio untuk Mac 7.7, kami membuat performa build awal dan membangun peningkatan kebenaran. Di Visual Studio 2019 dan Visual Studio untuk Mac 7.8, kami membuat pembuatan dan penyebaran lebih cepat.

Android Build Performance
* Android Build Sekarang Lebih Cepat daripada Mengambil Secangkir Kopi *
  • Anda sekarang akan menggunakan alat pengemasan generasi berikutnya Android. Untuk mengaktifkan fitur ini, tambahkan bendera MSBuild di proyek .csprojAnda:
    • aapt2 membagi kemasan Android menjadi dua langkah: Kompilasi dan Tautan. Ini meningkatkan performa untuk build inkremental dan memberikan pelaporan kesalahan sebelumnya. Misalnya, jika ada perubahan dalam satu file, Anda hanya perlu mengkombinasi ulang file tersebut. <AndroidUseAapt2>True</AndroidUseAapt2>
  • Dengan mengaktifkan alat ini dalam proyek Anda, Anda mengaktifkan performa yang ditingkatkan pada waktu build dan runtime. Untuk detail selengkapnya tentang properti ini, lihat dokumentasi kami tentang Proses Build di Xamarin.Android.
Peningkatan Android Emulator

Di Visual Studio 2019, gambar emulator Android lebih mudah dibuat. Kami juga terus bekerja dengan tim Windows di Pembaruan Windows 10 Oktober 2018, versi 1809, untuk meningkatkan performa emulator Android saat berjalan di Hyper-V.

  • Pengguna baru dapat membuat gambar pertama mereka hanya dengan menekan ikon jalankan.
  • Pengalaman akuisisi emulator kami secara otomatis menentukan konfigurasi terbaik untuk penyiapan Anda dan memanfaatkan akselerasi perangkat keras (dengan Intel HAXM atau Hyper-V) dan boot cepat secara default.
  • Saat ingin membuat gambar lain, Anda dapat memilih Buat Emulator Android dari menu dropdown untuk membuka Android Device Manager.
Percepat waktu build Anda dengan peningkatan kami untuk build di Xamarin.Android

Kami telah merilis serangkaian peningkatan performa build awal. Mulai hari ini, Xamarin.Android 9.1.1+ menyertakan peningkatan performa build yang signifikan dibandingkan dengan rilis sebelumnya. Lihat perbandingan performa build Xamarin.Android 15.9 vs. 16.0 kami untuk detail selengkapnya.

Penyebaran Cepat yang Ditingkatkan untuk Xamarin.Android

Penyebaran Cepat hingga saat ini memberikan waktu penyebaran bertambah bertahap yang lebih cepat dengan melompati pembangunan kembali atau penyebaran ulang paket Android (file .apk) dalam skenario di mana tidak ada perubahan yang dilakukan pada aset, sumber daya, pustaka asli bersama yang dipaketkan dalam aplikasi, atau kelas yang ditentukan pengguna yang mewarisi dari Java.Lang.Object. Penyebaran Cepat yang Ditingkatkan memperluas dukungan untuk penyebaran cepat untuk mencakup pustaka asli bersama dan kelas yang mewarisi dari Java.Lang.Object. Build penyebaran cepat yang menggunakan penyempurnaan baru ini hanya perlu menghasilkan file .apk baru dalam sejumlah skenario terbatas, seperti ketika file AndroidManifest.xml berubah karena penambahan baru Android.App.Application atau Activity subkelas. Penyempurnaan ini belum diaktifkan secara default dalam pratinjau saat ini. Untuk mengaktifkannya, atur $(AndroidFastDeploymentType) properti MSBuild ke Assemblies:Dexes dalam file .csproj Anda:

<PropertyGroup> 
  <AndroidFastDeploymentType>Assemblies:Dexes</AndroidFastDeploymentType> 
</PropertyGroup>
Dukungan Dex Compiler(d8) dan Code Shrinker(r8) generasi berikutnya di Xamarin.Android

Xamarin.Android sekarang mendukung compiler dex Android terbaru (d8) dan shrinker kode (r8). Untuk mengaktifkan fitur-fitur ini, atur $(AndroidDexTool) properti MSBuild dan $(AndroidLinkTool) ke d8 dan r8 masing-masing dalam file .csproj Anda

  • d8 adalah kompilator deks generasi berikutnya yang berjalan lebih cepat dan menghasilkan file .dex yang lebih kecil dengan performa runtime yang lebih baik.
<PropertyGroup> 
  <AndroidDexTool>d8</AndroidDexTool>
</PropertyGroup>
  • r8 adalah alat baru untuk menyusutkan dan minifikasi yang mengonversi bytecode Java ke kode deks yang dioptimalkan yang menggantikan kebutuhan akan ProGuard.
<PropertyGroup> 
  <AndroidLinkTool>r8</AndroidLinkTool>
</PropertyGroup>

Untuk detail selengkapnya tentang d8 dan r8, lihat dokumentasi kami.

Penyempurnaan Xamarin.Android Designer

Kami telah membuat sejumlah peningkatan produktivitas untuk interaksi dalam Tampilan Terpisah.

  • Seret dan letakkan langsung dari kotak alat ke editor sumber untuk membantu membuat perancah tata letak Android Anda dengan cepat.
Android Designer Toolbox to Source Editor
  • Pilih elemen langsung dari rentang definisi XML mereka di editor sumber. Kami menerapkan ini dengan menyinkronkan posisi caret dengan tampilan Android yang sesuai, memungkinkan Anda untuk dengan cepat mengakses properti elemen di panel properti langsung dari editor.
Android Designer Source Editor to Property Editor
  • Gunakan pratinjau warna sebaris ke kode XML sehingga Anda dapat melihat warna apa yang digunakan dalam kontrol Anda.
Android Designer Color Preview
  • Gunakan fitur info cepat kami dengan mengarahkan mouse ke atas nilai untuk mengetahui lebih lanjut tentang hal itu, seperti di mana itu ditentukan atau apa nilai heksadesimal untuk warna tersebut.
Android Designer Quick Info
*Info Cepat beraksi*
Xamarin.Android Designer meningkatkan dengan dukungan awal untuk tata letak batasan

Kami telah memulai upaya untuk meningkatkan kecepatan startup Android Designer. Sebagai bagian dari upaya ini, kami juga telah meningkatkan olahpesan yang disediakan perancang saat memuat.

Android Designer Output

Selain peningkatan ini, Android Designer sekarang secara asli mendukung Android Pie (9.0) dan menyediakan pelengkapan otomatis untuk ConstraintLayout atribut.

Dapatkan pengoptimalan Xml IntelliSense dan Komentar yang lebih baik dengan Desainer Xamarin.Android

Saat menggunakan IntelliSense untuk menambahkan widget ke tata letak, pengalaman cuplikan lengkap sekarang disediakan sehingga atribut yang diperlukan dapat disediakan sejak awal. Kami telah menambahkan komentar cerdas dan uncommenting untuk tata letak XML Android.

Jadilah lebih produktif dengan menggunakan Go-To-Definition dan gunakan XML IntelliSense dalam file sumber daya Android dan AndroidManifest.xml

Anda sekarang dapat Ctrl + Klik URL sumber daya untuk menavigasi ke file atau baris tempat URL tersebut ditentukan.

Android Designer Go-To-Definition

IntelliSense/Autocompletion sekarang didukung untuk file XML Android lainnya selain tata letak (warna, string, drawable, menu, manifes Android, dll.).

Platform Windows Universal

  • Ekstensi IntelliCode sekarang mendukung XAML.
  • Untuk mengurangi kompleksitas dan ukuran penyiapan Visual Studio, emulator Windows Telepon telah dihapus dari penginstalan Visual Studio. Anda sekarang perlu mengunduh emulator secara manual.
  • Alat waktu desain XAML untuk aplikasi UWP yang menargetkan SDK Windows 10 sebelum Pembaruan Windows 10 Fall Creators (build 16299) telah dihapus. Targetkan ulang aplikasi Anda ke Windows 10 versi 1709 atau yang lebih tinggi untuk menggunakan XAML Designer, atau gunakan editor XAML.
  • Proyek pengujian UWP yang digunakan project.json untuk menentukan dependensi NuGet tidak lagi didukung. Anda harus memutakhirkan proyek Anda untuk menggunakan format baru PackageReference .
  • Aplikasi JavaScript UWP tidak lagi didukung di Visual Studio 2019. Anda tidak dapat membuat atau membuka proyek UWP JavaScript (file dengan ekstensi jsproj). Anda dapat mempelajari lebih lanjut melalui dokumentasi kami tentang membuat Progressive Web Apps (PWAs) yang berjalan dengan baik di Windows.
  • Anda dapat terus melampirkan ke aplikasi JavaScript UWP seperti sebelumnya, namun alat pembuatan profil JavaScript (Network, CPU, dan Memory Profiler) tidak lagi tersedia di Visual Studio 2019.

Pembaruan Templat Alat Office

Di Visual Studio 2019, kami membuat beberapa perubahan pada templat Office, SharePoint, dan VSTO.

  • Templat SharePoint 2019 yang ditambahkan di Visual Studio 2017 15.9 juga tersedia di Visual Studio 2019.
  • Kami telah menghapus dukungan untuk Alur Kerja Berurutan SharePoint atau Alur Kerja Mesin Status. Meskipun Anda tidak akan dapat membuat atau membuka alur kerja ini di Visual Studio 2019, Anda dapat terus mengeditnya di rilis Visual Studio sebelumnya.
  • Templat Office 2010 tidak akan lagi tersedia. Namun, Anda masih bisa membuka proyek Office 2010 yang sudah ada di Visual Studio 2019.
  • Templat Office 2013 dan 2016 telah diganti namanya untuk mencerminkan bahwa templat tersebut mendukung Office 2013 ke atas.

Team Explorer dan Azure DevOps

Kami merilis pengalaman baru yang efisien dan berpusat pada pengembang saat menyambungkan Team Explorer ke proyek Azure DevOps.

  • Fokus pada item kerja yang relevan dengan memfilter dan mempivot tampilan Anda berdasarkan item kerja yang ditetapkan untuk Anda, item yang Anda ikuti, item yang disebutkan dalam diskusi, dan item berdasarkan aktivitas Anda.

    • Dalam setiap tampilan, Anda dapat membuat item kerja sebaris, melakukan pengeditan sebaris sederhana, menandai item kerja sebagai selesai, dan mengaitkan item kerja ke perubahan yang tertunda.
  • Buat cabang lokal dari item kerja yang akan secara otomatis menghubungkan item kerja dengan perubahan yang dilakukan pada cabang lokal tersebut. Ini adalah pengalaman default. Jika Anda ingin beralih ke pengalaman warisan, Anda dapat dengan mengatur pengalaman Item Kerja di Visual Studio. Perhatikan bahwa pengalaman baru ini hanya berlaku untuk repositori Git. Pengalaman baru untuk repositori TFVC akan tersedia dalam pembaruan berikut.

    Azure DevOps Work Item Hub
    *Hub Item Kerja Azure DevOps*
  • Cari item kerja saat melakukan #mention dalam pesan penerapan perubahan yang tertunda. Untuk detail selengkapnya, lihat menampilkan dan menambahkan item kerja menggunakan halaman Item Kerja.

    Azure DevOps #mentions
    *Azure DevOps #mentions*
  • Dukungan untuk Microsoft Project telah dihapus dari plug-in Team Foundation Server Office Integration 2019 untuk Visual Studio 2019 karena tingkat adopsi yang rendah di Azure DevOps. Anda sekarang perlu mengekspor item kerja Anda ke Excel dan menempelkannya secara manual ke Project.

  • Dukungan untuk PowerPoint telah dihapus dari plug-in Team Foundation Server Office Integration 2019 untuk Visual Studio 2019. Namun, pengguna masih dapat membuat papan cerita di PowerPoint dan menautkannya secara manual ke item kerja di Azure DevOps.

Application Insights dan HockeyApp

  • Jendela Tren Application Insights telah dihapus di Visual Studio 2019 demi alternatif yang lebih kaya fitur. Sebagai gantinya, Anda dapat menggunakan jendela Pencarian Application Insights di Visual Studio atau serangkaian alat diagnostik yang kaya di Application Insights di portal Azure.
  • Wizard untuk menambahkan HockeyApp SDK dan membuat distribusi beta baru telah dihapus. Sebaiknya gunakan Visual Studio App Center, penerus HockeyApp. Anda masih dapat menggunakan HockeyApp secara normal, kecuali tanpa pintasan ini di Visual Studio.

Release Notes Icon Masalah diperbaiki di Visual Studio 2019 RC

yang terbaru diperbarui pada 26 April 2019


Masalah yang Diketahui

Lihat semua masalah yang diketahui dan solusi yang tersedia di Visual Studio 2019 versi 16.0 dengan mengikuti tautan di bawah ini.

Visual Studio 2019 Known Issues

Umpan balik dan saran

Kami ingin mendengar pendapat Anda! Untuk masalah, beri tahu kami melalui opsi Laporkan Masalah di sudut kanan atas alat penginstal atau IDE Visual Studio itu sendiri. Ikon Feedback Icon terletak di sudut kanan atas. Anda dapat membuat saran produk atau melacak masalah Anda di Komunitas Pengembang Visual Studio, tempat Anda dapat mengajukan pertanyaan, menemukan jawaban, dan mengusulkan fitur baru. Anda juga bisa mendapatkan bantuan pemasangan gratis melalui dukungan Live Chat kami.


Blog

Manfaatkan wawasan dan rekomendasi yang tersedia di situs Blog Alat Pengembang untuk memberi Anda informasi terbaru tentang semua rilis baru dan sertakan postingan mendalam tentang berbagai fitur.


Riwayat Catatan Rilis Visual Studio 2019

Untuk informasi selengkapnya yang berkaitan dengan versi Visual Studio 2019 sebelumnya, lihat halaman Riwayat Catatan Rilis Visual Studio 2019.


Bagian Atas Halaman