2019LogoCatatan Rilis Visual Studio 2019 versi 16.10



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.10

Jangka Waktu Dukungan

Versi ini sekarang tidak didukung. Untuk informasi selengkapnya tentang dukungan Visual Studio, silakan 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.10

Catatan Rilis Yang Diarsipkan Visual Studio 2019

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 postingan berikut:


16.10.5 Visual Studio 2019 versi 16.10.5

dirilis 10 Agustus 2021

Ringkasan Apa yang Baru dalam Rilis Visual Studio 2019 versi 16.10.5 ini

Versi Visual Studio 2019 ini hanya tersedia melalui Windows Software Update Service (WSUS).

Masalah Teratas Diperbaiki dalam Rilis ini

  • Simulator Jarak Jauh iOS sekarang akan berfungsi dengan baik dengan perangkat Mac berpasangan yang memiliki Xcode 12.4 atau 12.5 yang terinstal. Fitur simulator Xcode berikut tidak tersedia saat dipasangkan ke perangkat Mac dengan Xcode 12.4, atau yang lebih tinggi, diinstal:
    • Peringatan memori yang disimulasikan
    • Lokasi yang disimulasikan

Pemberitahuan Penasihat Keamanan

CVE-2021-26423 .NET Core Denial of Service Vulnerability

Penolakan kerentanan layanan ada di mana aplikasi server .NET (Core) yang menyediakan titik akhir WebSocket dapat ditipu menjadi perulangan tanpa henti saat mencoba membaca satu bingkai WebSocket.

Kerentanan Pengungkapan Informasi Inti CVE-2021-34485 .NET

Kerentanan pengungkapan informasi ada ketika cadangan yang dibuat oleh alat untuk mengumpulkan crash dump dan cadangan sesuai permintaan dibuat dengan izin baca global di Linux dan macOS.

CVE-2021-34532 ASP.NET Kerentanan Pengungkapan Informasi Inti

Kerentanan pengungkapan informasi ada di mana token JWT dicatat jika tidak dapat diurai.

16.10.4 Visual Studio 2019 versi 16.10.4

dirilis 20 Juli 2021

Ringkasan Apa yang Baru dalam Rilis Visual Studio 2019 versi 16.10.4 ini

Masalah Teratas Diperbaiki dalam Rilis ini

  • Hapus penggunaan register yang tidak diizinkan dalam memset.
  • Memperbaiki bug codegen yang melibatkan ekspresi berlapis rumit yang melibatkan operator bitwise-not.
  • Memperbaiki penelusuran kesalahan shader untuk VS Graphics Analyzer
  • Memperbaiki crash IntelliSense yang terjadi saat memproses anggota data statis dalam spesialisasi templat dalam kelas.
  • X64 VC Redist tidak lagi menghapus file runtime saat dijalankan dengan sakelar /installer /pasif.
  • Memperbaiki masalah saat menyertakan pesanan pencarian mungkin salah saat sebelumnya ditujukan ke "Sertakan Direktori".
  • Kami telah memperbaiki masalah performa dan positif palsu yang disebabkan oleh salah satu ekstensi pemeriksa yang menemukan bug dalam penyalahgunaan VARIAN.
  • Kami memiliki masalah performa tetap yang disebabkan oleh salah satu ekstensi pemeriksa yang menemukan bug dalam penyalahgunaan nilai enum sebagai indeks.
  • Memperkenalkan perbaikan layanan bahasa Berbagi Langsung yang memulihkan fitur pengeditan kode utama untuk peserta sesi kolaborasi (penyelesaian kode, penyorotan sintaks, kesalahan, dll.)
  • Penganalisis konkurensi tidak boleh lagi menghasilkan peringatan palsu C26110 (kegagalan untuk memperoleh kunci) dengan pola kunci otomatis.
  • Pengkompilasi C# dan Visual Basic memperbaiki crash yang melibatkan InternalsVisibleTo yang berbenturan dengan atribut tingkat rakitan lainnya.
  • Kami telah memperbaiki masalah yang dialami oleh pelanggan yang mengemas proyek mereka dengan Proyek Pengemasan Aplikasi Windows, seperti aplikasi WPF NetCore dan aplikasi Project Reunion:

File Aset Kesalahan '...\obj\wappublish\win10-x86\project.assets.json' tidak ditemukan. Jalankan pemulihan paket NuGet untuk menghasilkan file ini. App4 (Paket) C:\Program Files\dotnet\sdk\5.0.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 242

Masalah ini disebabkan oleh Proyek Pengemasan yang mencari file project.assets.json di direktori yang salah, win10-$(configuration), ketika harus mencari dalam win-$(configuration).

Dari Komunitas Pengembang


16.10.3 Visual Studio 2019 versi 16.10.3

dirilis 29 Juni 2021

Ringkasan Apa yang Baru dalam Rilis Visual Studio 2019 versi 16.10.3 ini

Masalah Teratas Diperbaiki dalam Rilis ini

  • Memperbaiki masalah di mana Buka Definisi pada simbol yang diimpor dari modul terkadang masuk ke awal file modul daripada definisi simbol.
  • Memperbaiki masalah di mana pengembang yang mengalami gangguan visual akan menghadapi kesulitan untuk mengidentifikasi fokus pada layar karena rasio Luminositas warna batas kurang dari 3:1 untuk kotak teks.
  • Memperbaiki Proyek Database: Menyeret file dari penjelajah solusi ke dalam file yang dibuka sedang menghapus file dari sistem file.
  • Memperbaiki masalah saat menggunakan pernyataan penggabungan dalam proyek database akan mengakibatkan kesalahan build.
  • Tidak lagi mengirim jalur pada disk ketika melaporkan ekstensi mana yang diinstal.
  • Memperbaiki masalah saat mencoba menutup jendela mulai cepat dapat menyebabkan Visual Studio mengalami crash.
  • Perbaiki masalah di mana menampilkan jendela alat terkadang crash VS.
  • Perbaikan untuk C++ Edit dan Lanjutkan dalam kode pengguna ketika simbol yang dihasilkan G++/GCC yang tidak terkait dimuat dalam aplikasi.
  • Memperbaiki penggunaan pemilih privat dari kerangka kerja iAd.
  • Memperbaiki crash di VS yang mengakibatkan kesalahan yang terjadi di Perancang XAML
  • Memperbaiki masalah dengan proyek Windows Application Packaging yang mereferensikan proyek .netcoreapp menghasilkan .msixbundle.
  • Memperbaiki kegagalan untuk melakukan pemeriksaan terbaru yang cepat pada proyek WAP yang menyebabkan proyek tersebut dibangun (alih-alih dilewati), bahkan ketika proyek diperbarui dan tidak memerlukan modifikasi, lebih lanjut menyebabkan peningkatan waktu build bertambah bertahap dalam IDE.

Dari Komunitas Pengembang


16.10.2 Visual Studio 2019 versi 16.10.2

dirilis 15 Juni 2021

Ringkasan Apa yang Baru dalam Rilis Visual Studio 2019 versi 16.10.2 ini

Masalah Teratas Diperbaiki dalam Rilis ini

  • Pemeriksaan konkurensi dalam analisis kode menjadi lebih cerdas. Mereka lebih sulit untuk ditipu dengan alur kontrol yang kompleks.
  • Perbaikan ini memulihkan perilaku untuk header eksternal dengan melewati analisis header eksternal dan menekan peringatan dari header eksternal.
  • Memperbaiki file .aspx/ascx di mana pengguna mungkin melihat IntelliSense yang tidak lengkap atau mengalami performa lambat.
  • Memperbaiki masalah skalabilitas dengan penyedia Unity CodeLens saat mengerjakan proyek besar.
  • Mengembalikan string yang diterjemahkan di halaman opsi Autentikasi Layanan Azure.
  • Memperbaiki masalah tampilan kode visual terputus-terputus saat menggunakan ekstensi Resharper.
  • Memperbaiki masalah di mana jendela alat, editor, dan desainer tertentu akan dirender terlalu kecil untuk menampilkan konten apa pun.
  • Memperbaiki masalah ikon aplikasi Xamarin iOS yang hilang, baik saat menjalankan aplikasi atau saat mencoba menerbitkannya ke App Store.
  • Membangun proyek dengan AOT+LLVM tidak lagi gagal dengan kesalahan XA3001.
  • Setelah memutakhirkan ke Visual Studio 2019, versi 16.10, dalam keadaan tertentu, penerbitan aplikasi UWP mungkin gagal dengan pesan kesalahan "Nama sumber daya yang ditentukan tidak dapat ditemukan dalam file gambar". Ini sekarang diperbaiki.
  • Memperbaiki masalah yang menyebabkan Visual Studio 2019 berhenti merespons saat konfigurasi perangkat berubah.
  • Memperbaiki tiga masalah di MSBuild:
    • Menghindari kesalahan MSB4017 saat membangun di Azure DevOps.
    • $([MSBuild]::MakeRelative()) lagi mempertahankan garis miring berikutnya dalam inputnya.
    • Kecualikan glob dengan pola ** berikutnya lagi mengecualikan file tanpa . Karakter

Dari Komunitas Pengembang


16.10.1 Visual Studio 2019 versi 16.10.1

dirilis 08 Juni 2021

Ringkasan Apa yang Baru dalam Rilis Visual Studio 2019 versi 16.10.1 ini

Masalah Teratas Diperbaiki dalam Rilis ini

  • Memperbaiki masalah yang menyebabkan crash dengan pengkompilasi IntelliSense.
  • Memperbaiki masalah yang dapat menyebabkan instans Visual Studio 2019 ditutup jika Test Explorer terbuka dalam solusi.
  • Memperbaiki kegagalan ketika pengembang akan membangun solusi parsial dari baris perintah.
  • Memperbaiki kegagalan di ClickOnce Publish untuk aplikasi .NET Core.
  • Memperbaiki masalah di mana jendela tumpukan panggilan dapat menabrak Visual Studio 2019.
  • Memperbaiki kesalahan build "File metadata '***\bin\Debug\NativeLibrary.dll' tidak dapat ditemukan" saat membangun proyek iOS Binding.

Pemberitahuan Penasihat Keamanan

CVE-2021-31957 ASP.NET Penolakan Kerentanan Layanan

Penolakan kerentanan layanan ada ketika ASP.NET Core secara tidak benar menangani pemutusan sambungan klien.

Dari Komunitas Pengembang


16.10.0 Visual Studio 2019 versi 16.10.0

dirilis 25 Mei 2021

Ringkasan Apa yang Baru dalam Rilis Visual Studio 2019 versi 16.10.0 ini

C++

  • Semua fitur C++20 sekarang tersedia di bawah sakelar /std:c++latest . Meskipun implementasi dari standar C++20 oleh MSVC (seperti yang saat ini diterbitkan oleh ISO) memiliki fitur lengkap, beberapa fitur pustaka C++20 utama diharapkan akan diubah dengan Laporan Cacat yang akan datang (perbaikan bug ISO C++20) yang mungkin mengubahnya dengan cara yang tidak kompatibel dengan ABI. Lihat Masalah Microsoft/STL #1814 untuk detail selengkapnya.
    • Fungsi langsung C++20 & dukungan kontinit ditambahkan dalam 16.10
    • Bagian <chrono> terakhir : jam baru, detik lompatan, zona waktu, dan penguraian
    • <format> Implementasi untuk pemformatan teks
  • /openmp:llvm sekarang tersedia di x86 dan ARM64, selain x64
  • Sertakan direktori sekarang dapat ditetapkan sebagai eksternal dengan tingkat peringatan kompilasi yang dapat dikustomisasi dan pengaturan analisis kode.
  • Menambahkan sakelar /await:strict untuk mengaktifkan koroutin gaya C++20 dalam mode bahasa sebelumnya.
  • Visualisasi std::coroutine_handle<T> debugger sekarang menampilkan nama fungsi coroutine asli dan tanda tangan serta titik penangguhan saat ini.
  • Dukungan tambahan untuk CMakePresets.
  • Anda sekarang akan diminta untuk menerima atau menolak sidik jari kunci host yang disajikan oleh server saat menambahkan koneksi jarak jauh baru di Visual Studio.
  • Pengalih /external ditambahkan ke MSVC untuk menentukan header yang harus diperlakukan sebagai eksternal untuk tujuan peringatan.

Peningkatan Alat Docker

  • Kemampuan untuk membuat profil peluncuran yang mengonfigurasi layanan mana yang akan dimulai dalam file Compose Anda.
  • Kemampuan untuk menandai gambar.
  • Menambahkan tab Volume untuk kontainer.
  • Menambahkan tab Label untuk kontainer.
  • Menambahkan tab Label untuk gambar.
  • Kontainer sekarang dikelompokkan menurut proyek Compose.

Editor

  • Untuk orang-orang yang menginginkan pengalaman yang kurang ramai, penspasian baris dapat dimodifikasi dengan mencari "penspasian baris" di Visual Studio Search (Ctrl+Q). Opsi berada di bawah Editor Teks\Umum.
  • Temukan di File dan Temukan semua Referensi memiliki kontrol untuk menyimpan hasil. Berdasarkan umpan balik dari komunitas kami, kami telah menambahkan opsi untuk mengaktifkan opsi "Pertahankan Hasil" secara default. Opsi ini dapat ditemukan dengan mencari "pertahankan hasil pencarian secara default" di Pencarian Visual Studio (Ctrl+Q). Opsi berada di bawah Lingkungan\Temukan dan Ganti. Perhatikan bahwa pengguna saat ini dibatasi hingga 5 hasil untuk Temukan di File dan 5 hasil lainnya untuk Temukan semua Referensi.
  • Opsi baru di Temukan di File memungkinkan pengguna menjalankan pencarian tambahan dan menambahkan hasil tersebut ke pencarian sebelumnya.

Ekstensibilitas Editor

  • Perilaku kode yang mengelola IntraTextAdornmentTags telah berubah. Dengan perubahan ini, sama seperti ITagger lainnya, Anda harus menaikkan peristiwa perubahan tag ketika tag yang mendasar berubah. Jika tidak, tag Anda mungkin tidak pernah diperbarui.

Penelusuran kesalahan & Diagnostik

  • Analisis Diagnostik cadangan memori sekarang mencakup cadangan inti Linux Terkelola.

Produktivitas Git

  • Lompat ke web dengan tautan mendalam untuk membuat permintaan pull baru dan melihat PR di GitHub atau Azure DevOps dari menu Git.
  • Periksa cabang lokal dan jarak jauh dengan satu pilih dari pemilih cabang.
  • Hapus item dari pemilih repositori melalui menu konteks.
  • Aktifkan pemuatan otomatis solusi saat membuka repositori Git melalui Git > Pengaturan.
  • Alihkan perilaku mengklik dua kali untuk memeriksa cabang dari jendela Repositori Git melalui Git > Pengaturan.
  • Sinkronkan (Tarik lalu Dorong) cabang Anda dengan beberapa remote dari menu luapan jendela Perubahan Git.
  • Kustomisasi tindakan toolbar jendela Perubahan Git yang terlihat (Ambil, Tarik, Dorong, Sinkronkan) dari menu luapan.
  • Buka repositori Anda di browser dari menu luapan jendela Perubahan Git.
  • Cari dan periksa cabang lokal dan jarak jauh dari bilah status.
  • Cari dan beralih antara repositori Git lokal dari bilah status.
  • Memperbaiki masalah di mana daftar repositori lokal di menu Git tidak dimuat pada peluncuran Visual Studio.
  • Tambahkan sub-repositori proyek berlapis ke daftar repositori lokal Anda saat membuka repositori.
  • Biarkan solusi terbuka saat beralih repositori melalui Git > Pengaturan.
  • Nonaktifkan folder yang terbuka saat membuka repositori melalui Git > Pengaturan.
  • Sinkronkan cabang Anda dengan jarak jauh dari tombol penerapan yang tidak dipublish di bilah status, dan dari perintah Sinkronkan di Menu Git.
  • Ambil dan tarik dari panel riwayat jendela Repositori Git bahkan ketika tidak ada penerapan yang masuk.
  • Lihat Detail Penerapan dan perbandingan perubahan file yang disematkan di jendela Repositori Git.
  • Sambungkan ulang atau perintah secara otomatis untuk membuat koneksi Azure DevOps awal saat membuka repositori Azure DevOps Git.
  • Gabungkan dan rebase dengan nama cabang yang terlihat, menggantikan terminologi Sumber/Target yang membingungkan.
  • Peningkatan performa dan keandalan untuk glyph kontrol sumber dalam Penjelajah Solusi.
  • Pertahankan bagian masuk/keluar di jendela Repositori Git bahkan saat kosong.
  • Dropdown Fetch/Pull/Push terkonsolidasi untuk beberapa remote di jendela Perubahan Git ke satu menu Tindakan.

Produktivitas .NET

  • Penyelesaian argumen dalam panggilan metode
  • EditorConfig UI
  • Memeriksa dan menavigasi rantai warisan secara visual
  • Penyelesaian IntelliSense untuk cast, pengindeks, dan operator
  • Dukungan debugger untuk Generator Sumber
  • Dukungan pembersihan kode untuk Visual Basic
  • Edit dan Lanjutkan (EnC) pembaruan
  • Hapus Referensi yang Tidak Digunakan
  • Garis Pemisah Cerdas
  • Menyederhanakan refaktor ekspresi LINQ
  • Penyelesaian IntelliSense untuk nilai Enum
  • Pengaturan mode penyelesaian IntelliSense
  • Preferensi gaya kode untuk baris baru
  • Temukan dukungan Semua Referensi untuk Generator Sumber

Editor Pratinjau Razor (ASP.NET Core)

  • Pembaruan penyelesaian IntelliSense
  • Buka Dukungan definisi untuk komponen generik
  • Konfigurasi gaya kode baru untuk tab dan spasi
  • Editor teks Razor di Tools Options sekarang disebut Razor (ASP.NET Core)

Uji Peningkatan Aksesibilitas Pengalaman

  • Console.Writeline sekarang ditampilkan di Test Explorer
  • Output pengujian sekarang dapat mempertahankan tag sehingga hyperlink dan tautan tumpukan dapat dinavigasi bahkan dari file log.
  • File log dibuat untuk satu hasil pengujian ketika output lebih dari 300 karakter atau jika ada lebih dari 10 file yang dilampirkan ke hasil pengujian.
  • File log sekarang juga dapat dibuka dalam pratinjau sehingga lebih mudah untuk mengelola tab Anda.
  • File log dan Test Explorer mendukung Ctrl PgUp/PgDn untuk menavigasi kursor dan Shift+Ctrl PgUp/PgDn untuk pilihan.
  • Editor file log sekarang menggunakan antarmuka IVsTextView yang berarti sekarang akan dapat membuka file teks yang sangat besar. Ini harus menghilangkan kebutuhan pengguna untuk Copy All memotong log dan membukanya di editor terpisah seperti Notepad. Untuk MSTest, kami sekarang juga menyertakan satu file log yang menggabungkan semua output alih-alih hanya memiliki file log individual untuk setiap baris data.
  • Anda sekarang bisa mendapatkan cakupan kode lintas platform di baris perintah di Ubuntu dan Alpine dengan dotnet cli. Bagi pengguna yang tertarik untuk mendapatkan cakupan kode pada mesin yang menargetkan platform tersebut, Anda sekarang dapat menambahkan perintah pengumpulan cakupan kode yang sama yang biasanya Anda gunakan di jendela. Lihat dokumentasi selengkapnya untuk pengujian dotnet.
  • Sekarang ada tombol perluas semua di samping tombol ciutkan semua di Test Explorer. Perintah ini telah tersedia melalui pintasan keyboard (Ctrl+A, Ctrl+ panah kanan), tetapi lebih banyak umpan balik yang menunjukkan penambahan tombol sepadan dengan UI tambahan. Seperti biasa, terima kasih telah memberi tahu kami apa yang Anda pikirkan melalui https://developercommunity.visualstudio.com/.
  • Ada juga beberapa sedikit perubahan pada bagaimana Test Explorer menunjukkan "keusangan." "Keusangan" adalah hasil pengujian abu-abu atau "pudar" yang menunjukkan hasilnya bukan dari eksekusi pengujian terbaru. Jika hasilnya bukan bagian dari eksekusi pengujian terbaru, hasilnya akan muncul sebagai kedaluarsa. Sebelumnya, penemuan pengujian baru (atau bahkan hasil pengujian lama yang ditemukan kembali) juga ditampilkan dengan ikon solid. Hal ini menyebabkan beberapa kebingungan mengapa beberapa tes 'Tidak Berjalan' memudar dan mengapa yang lain tidak. Perubahan ini akan mengurangi kompleksitas keusangan.
  • Dengan fitur hasil pengujian yang bertahan (ditambahkan dalam versi 16.2) Anda dapat melihat hasil pengujian dari uji coba terakhir meskipun Anda telah menutup dan membuka kembali Visual Studio. Ini membantu pengguna mengingat di mana mereka meninggalkan dan memberikan lebih banyak konteks tanpa memerlukan uji coba lain. Kami juga memodifikasi perilaku hasil yang bertahan sehingga akan selalu muncul kedaluarsa. Ini lebih baik menunjukkan bahwa mereka bukan dari eksekusi pengujian yang dijalankan selama sesi Visual Studio saat ini.

Alat Web:

  • Beralih ke V2 API untuk provisi Azure ACTIVE Directory
  • Azure App Configuration sebagai Layanan Koneksi sekarang mendukung konfigurasi dinamis

Pohon Dependensi Proyek Pengemasan Aplikasi Windows

  • Menambahkan "Pohon Dependensi" ke Proyek WAP

Peningkatan Alat XAML

  • Peningkatan XAML IntelliSense dan XAML Hot Reload untuk pelanggan Xamarin.Forms
  • Memperkenalkan Data Sampel XAML untuk item tertentuKontrol di WPF
  • Menambahkan bola lampu baru untuk akses cepat ke properti yang umum diedit
  • Menambahkan bola lampu baru di Editor XAML untuk membantu membuat model tampilan

Alat Service Fabric

  • Memperkenalkan StartupServices.xml dalam Aplikasi Service Fabric

Detail Apa yang Baru di Visual Studio 2019 versi 16.10

Alat Docker

Jendela Alat Kontainer

Dalam rilis ini, kami membuat penambahan ke jendela alat Kontainer untuk mempermudah melihat dan berinteraksi dengan kontainer dan gambar. Cukup navigasi ke Lihat > Kontainer Windows > Lainnya untuk mencoba fitur baru.

  • Kontainer sekarang dikelompokkan menurut proyek Compose. Ini memudahkan untuk memberi tahu kontainer mana yang mewakili aplikasi Anda. Juga ditampilkan, kami menambahkan tab Label di Kontainer sehingga Anda dapat dengan mudah melihat label mana yang Anda gunakan selama pengembangan.

Compose grouping option and containers label tab

  • Kami juga menambahkan tab Label untuk gambar.

Images Label tab

  • Tab Volume baru memungkinkan Anda melihat volume kontainer yang sedang berjalan dan bahkan membuka file di Visual Studio.

Container Volumes tab

  • Kami sekarang mendukung kemampuan untuk menandai gambar dari jendela alat Kontainer. Dari Gambar, klik kanan gambar dan pilih Tag.

Tagging an image

Tulis
  • Alat Docker Compose di Visual Studio sekarang menyediakan kemampuan untuk menjalankan kombinasi layanan apa pun yang ditentukan dalam file Compose Anda. Buka menu dropdown Debug atau klik kanan pada proyek docker-compose Anda dan pilih Kelola Docker Compose Launch Pengaturan untuk memulai.

Manage Docker Compose Launch Settings

Produktivitas Git

  • Untuk mulai mempermudah pembuatan permintaan pull saat Anda berada di Visual Studio, kami menambahkan item menu yang merupakan pintasan tautan mendalam ke halaman web yang memungkinkan Anda membuat PR atau melihat daftar PR untuk repositori Anda. Menu bersifat dinamis berdasarkan apakah repositori Anda berada di GitHub atau Azure DevOps.

Create a PR and view list of PRs on the web from the Git menu

  • Pemilih cabang di bilah status dan jendela Perubahan Git sekarang memeriksa cabang lokal atau jarak jauh saat Anda memilih cabang tunggal. Anda dapat menemukan tindakan tambahan di menu konteks.

Left click to check out a branch and right click for additional actions

  • Pemilih repositori baru di bilah status memiliki menu konteks pada klik kanan yang memungkinkan Anda menghapus item dari daftar.

Remove items from the repository picker list through the context menu

  • Saat menggunakan pemilih repositori atau menu Git Daftar Repositori Lokal, membuka repositori tidak akan secara otomatis memuat solusi lagi. Anda akan melihat tampilan folder dan solusi yang tersedia dalam daftar yang dapat Anda pilih. Anda dapat mengubah perilaku ini melalui Git > Pengaturan dengan beralih ke kotak centang.

  • Anda dapat memilih untuk memeriksa cabang dari jendela Repositori Git dengan mengklik dua kali nama cabang. Jika Anda ingin mengubah perilaku ini, maka alihkan kotak centang di Git > Pengaturan.

Settings to toggle auto-sln load and branch check out.

  • Anda dapat melakukan lebih banyak tindakan sekarang dari jendela Perubahan Git. Ikon toolbar dapat disesuaikan dan Anda dapat memilih tindakan mana yang akan ditampilkan. Anda dapat Menyinkronkan dengan beberapa jarak jauh dari menu luapan. Dan Anda dapat membuka halaman web jarak jauh repositori Anda di browser.

Git Changes overflow menu with callouts to Sync, open in browser, and toolbar actions.

  • Cari cabang lokal dan jarak jauh dan lakukan tindakan cabang umum dari pemilih cabang bilah status.

Branch picker in the status bar.

  • Cari dan beralih antara repositori Git lokal dari pemilih repositori bilah status.

Repo picker in the status bar.

  • Memperbaiki masalah di mana daftar repositori lokal di menu Git tidak dimuat pada peluncuran Visual Studio.
  • Kami menambahkan dua opsi baru di Git > Pengaturan untuk mengelola cara Anda membuka dan beralih repositori. Anda sekarang dapat menjaga solusi saat ini tetap terbuka saat beralih ke repositori lain

Setting to keep solution open.

  • Anda juga dapat memilih untuk tidak memuat folder akar repositori saat membuka repositori.

Setting to open the folder

  • Sinkronkan (Tarik lalu Dorong) cabang Anda dengan jarak jauh dari tombol penerapan yang tidak dibuang di bilah status, dan dari perintah Sinkronkan di Menu Git.

Sync button in the status bar.

  • Ambil dan tarik dari panel riwayat jendela Repositori Git bahkan ketika tidak ada penerapan yang masuk. Akses bagian ini dari bilah status atau pintasan keyboard Ctrl+0+Y.

Incoming section in Git Repository window with a callout to fetch and pull buttons.

  • Pilih penerapan di jendela Repositori Git untuk melihat detailnya dan perbandingan perubahan file tanpa harus menavigasi ke jendela lain. Pilih dua penerapan dan klik kanan untuk membandingkannya di jendela yang sama. Munculkan detail ke jendela mereka sendiri untuk visibilitas layar penuh untuk mendalami perubahan.

Embedded commit details and file comparison in Git Repository window.

  • Lihat jumlah penghapusan dan penyisipan dalam file, dan ubah tata letak perbandingan.

Popped out Commit window with callouts to number of file changes and layout view buttons in toolbar

  • Sambungkan ulang atau perintah secara otomatis untuk membuat koneksi Azure DevOps awal saat membuka repositori Azure DevOps Git. Ini memungkinkan akses ke item kerja dan build untuk repositori yang dibuka.

Info bar in Git Changes window prompting you to connect to Azure DevOps for the current repository.">

  • Saat mengatasi konflik rebase atau penggabungan, editor penggabungan dan menu konteks akan menunjukkan nama cabang untuk cabang Saat Ini dan Masuk. Ini memperbaiki terminologi Sumber dan Target yang membingungkan.

Context menu when resolving conflicts displays the branch names.

Rebase and Merge editor displays branch names in the headings.

Produktivitas .NET

  • Kami menambahkan perintah Hapus Referensi yang Tidak Digunakan yang memungkinkan Anda membersihkan referensi proyek dan paket NuGet yang tidak memiliki penggunaan. Opsi ini nonaktif secara default sehingga Anda harus mengaktifkannya di >Alat Opsi>Editor>Teks C#>Tingkat Lanjut dan pilih Tampilkan perintah "hapus Referensi yang Tidak Digunakan" di Penjelajah Solusi (eksperimental). Setelah opsi diaktifkan, perintah Hapus Referensi yang Tidak Digunakan akan muncul di menu klik kanan dari nama proyek atau simpul dependensi di Penjelajah Solusi:

Remove Unused References command

Memilih Hapus Referensi yang Tidak Digunakan akan membuka dialog tempat Anda bisa melihat semua referensi yang akan dihapus dengan opsi untuk mempertahankan referensi yang ingin Anda simpan:

Remove Unused References dialog

  • Kami menambahkan perintah baru yang disebut Smart Break Line yang secara otomatis menyisipkan sekumpulan kurung kurawal dan menempatkan tanda sisipan dalam tanda kurung kurawal tersebut saat menggunakan Shift+Enter sebagai karakter penerapan. Smart Break Line berfungsi untuk semua deklarasi jenis yang memerlukan kurung kurawal serta properti, peristiwa, bidang, dan ekspresi pembuatan objek. Contoh di bawah ini menunjukkan Smart Break Line yang digunakan pada kelas dan bidang. Jika bidang tidak memiliki titik koma di akhir, mengetik Shift+Enter akan mengonversi bidang menjadi properti dengan menambahkan sekumpulan kurung kurawal. Anda dapat menekan Shift+Enter lagi untuk membatalkan penerapan yang juga akan secara otomatis menambahkan titik koma di akhir bidang:

Smart Break Line

  • Sekarang ada pemfaktoran ulang untuk menyederhanakan ekspresi LINQ yang akan menghapus panggilan yang tidak perlu ke Enumerable untuk . Di mana() metode untuk membantu meningkatkan performa dan keterbacaan. Tempatkan kursor Anda pada ekspresi LINQ. Tekan (Ctrl+.) untuk memicu menu Tindakan Cepat dan Pemfaktoran Ulang. Pilih Sederhanakan ekspresi LINQ.

Simplify LINQ Expression

  • Sekarang ada penyelesaian IntelliSense untuk nilai Enum ketika jenis diketahui bahkan jika nama Enum tidak dimasukkan.

IntelliSense completion for Enum values

  • Kami menambahkan pengaturan mode penyelesaian IntelliSense baru yang memberi Anda kemampuan untuk mengatur opsi penyelesaian default. Pengaturan baru ini tersedia dalam Opsi Alat>Editor>>Teks Mode penyelesaian IntelliSense Default Tingkat Lanjut>di mana Anda dapat memilih dari opsi berikut: Terakhir digunakan yang akan mempertahankan pengaturan terakhir yang Anda gunakan dengan Ctrl+Alt+Space, Tab-only yang hanya akan selesai pada tab, dan Otomatis yang saat ini merupakan perilaku default yang akan selesai pada tanda baca dan karakter khusus.

IntelliSense completion mode setting

  • Kami menambahkan preferensi gaya kode baru untuk baris baru. Anda dapat mengonfigurasi preferensi ini dengan file EditorConfig atau dalam Opsi>Alat>Editor>Teks C#>Code Style>Preferensi baris baru (eksperimental).

Code style options for new lines

Misalnya, Anda dapat mengatur preferensi gaya kode untuk melaporkan diagnostik dan menawarkan perbaikan kode untuk menghapus baris kosong tambahan:

Code fix remove extra blank lines

  • Sekarang ada dukungan Temukan Semua Referensi untuk Generator Sumber yang memungkinkan Anda menemukan referensi dalam dokumen sumber yang dihasilkan.

  • Sekarang ada opsi penyelesaian yang secara otomatis menyisipkan argumen saat menulis panggilan metode. Fitur ini nonaktif secara default sehingga Anda harus mengaktifkannya di Alat > Opsi > Editor > Teks C# > IntelliSense dan pilih Tab dua kali untuk menyisipkan argumen (eksperimental). Mulai menulis panggilan metode dan tekan tab dua kali (tab+tab). Perhatikan bahwa panggilan metode menyertakan argumen berdasarkan nilai default metode. Anda kemudian dapat menggunakan info parameter untuk menelusuri daftar argumen yang ingin Anda sisipkan dengan menekan tombol panah atas dan bawah. Anda juga dapat mulai mengetik argumen untuk memunculkan daftar penyelesaian IntelliSense dan mengetik titik koma yang akan menerapkan argumen dan menambahkan titik koma ke akhir panggilan metode.

Method call argument completion

  • Kami membuat UI untuk EditorConfig. Buka file C# atau Visual Basic EditorConfig apa pun dari solusi Anda. Perhatikan bahwa UI baru akan terbuka menampilkan gaya kode dan opsi konfigurasi kualitas kode untuk C# dan Visual Basic.

EditorConfig UI

  • Sekarang ada representasi visual untuk menavigasi dan memeriksa rantai warisan. Opsi ini nonaktif secara default sehingga Anda harus mengaktifkannya di Alat > Opsi > Editor > Teks C# > Tingkat Lanjut dan pilih Tampilkan margin pewarisan. Mengaktifkan margin pewarisan akan menambahkan ikon baru ke margin yang mewakili implementasi dan penimpaan kode Anda. Mengklik ikon margin pewarisan akan menampilkan opsi pewarisan yang dapat Anda pilih untuk menavigasi.

Inheritance Margin Icons

  • Sekarang ada penyelesaian IntelliSense untuk transmisi, pengindeks, dan operator.

IntelliSense completion for casts, indexers, and operators

  • Sekarang ada dukungan debugger untuk Generator Sumber. Anda harus menginstal komponen .NET Compiler Platform SDK terlebih dahulu dari Alat Penginstal Visual Studio. Anda kemudian perlu menambahkan <IsRoslynComponent>properti true</IsRoslynComponent> ke file proyek Anda. Selanjutnya, aktifkan opsi debugger 'Komponen Roslyn' di halaman Debug Properti Proyek dan pilih proyek target yang sesuai. Selanjutnya, tekan F5 pada proyek generator yang akan memulai CSC.exe/VBC.exe yang membangun proyek target yang memungkinkan Anda men-debug kode generator.

Source Generator debugger

Source Generator debugger target project

Dalam rilis ini kami juga menambahkan penyempurnaan berikut ke pengalaman debugging Edit dan Lanjutkan (EnC) di Visual Studio:

  • Sekarang dimungkinkan untuk menerapkan perubahan kode yang berada dalam kelas parsial.
  • Anda sekarang dapat menerapkan perubahan dalam file Sumber Yang Dihasilkan).
  • Sekarang dimungkinkan untuk menambahkan dan/atau mengubah direktif menggunakan.
  • Peningkatan keandalan dan konsumsi memori yang lebih rendah.

Ketiga perubahan tersedia di mana saja di mana EnC didukung hari ini dan bekerja dengan file sumber C# dan Visual Basic.

Debugger & Diagnostik

  • Kami telah mengembangkan beberapa penganalisis untuk membantu menangkap masalah umum dalam cadangan memori terkelola. Analisis ini sekarang dapat dilakukan pada cadangan inti Linux terkelola.

Automatically analyze memory dumps

Terima kasih

Terakhir tetapi tentu tidak kalah pentingnya, Terima Kasih yang besar kepada orang-orang berikut yang berkontribusi bulan ini untuk Produktivitas .NET (alias. Roslyn):

Editor Pratinjau Razor (ASP.NET Core)

Editor Razor pratinjau baru sekarang mendukung fitur pengeditan Razor berikut:

  • Penyelesaian IntelliSense sekarang memfilter komponen HTML, elemen TagHelper, dan atribut C#:

Razor IntelliSense filters

  • Penyelesaian IntelliSense untuk penimpaan C#.
  • Buka Dukungan definisi untuk kompponenet generik.
  • Opsi konfigurasi gaya kode baru untuk tab vs spasi. Gaya kode ini akan dihormati saat mengetik, memformat, dan membuat file Razor baru. Anda dapat mengonfigurasi tab dan spasi di Tab Alat > Options > Text Editor > Razor (ASP.NET Core). >
  • Editor teks Razor di Tools Options telah diganti namanya dari ASP.NET Core Razor Language Services menjadi Razor (ASP.NET Core).

Untuk mengaktifkan editor Razor pratinjau baru, buka Fitur Pratinjau Lingkungan > Opsi > Alat>, pilih Aktifkan editor Razor eksperimental, lalu mulai ulang Visual Studio.

Uji Peningkatan Aksesibilitas Pengalaman

  • Console.Writeline sekarang ditampilkan di Test Explorer! Output panjang muncul sebagai bagian yang dapat diciutkan di panel ringkasan detail pengujian. Output dengan panjang tertentu menampilkan beberapa baris pertama dan kemudian dipotong dengan opsi untuk membuka log pengujian di jendela terpisah. Tumpukan memotong jika ada lebih dari 20 bingkai dan kemudian hanya akan menampilkan 10 bingkai pertama dan terakhir. Bagian penting dari desain pemotongan juga difokuskan pada pengurangan pembekuan VS ketika uji coba memiliki output besar. Pengujian yang memiliki output besar tidak akan lagi memblokir utas UI.

Test output includes Console.Writeline

  • Output pengujian sekarang dapat mempertahankan tag sehingga hyperlink dan tautan tumpukan dapat dinavigasi bahkan dari file log. Tautan ini sekarang juga ramah keyboard.

Test output preserves hyperlinks and stacktraces

Test logs also preserve hyperlinks and stacktraces

  • File log dibuat untuk satu hasil pengujian ketika output lebih dari 300 karakter atau jika ada lebih dari 10 file yang dilampirkan ke hasil pengujian. File log sekarang juga dapat dibuka dalam pratinjau sehingga lebih mudah untuk mengelola tab Anda. File log dan Test Explorer mendukung Ctrl PgUp/PgDn untuk menavigasi kursor dan Shift+Ctrl PgUp/PgDn untuk pilihan.

Test logs are easier to select with keyboard shortcuts

  • Editor file log sekarang menggunakan antarmuka IVsTextView yang berarti sekarang akan dapat membuka file teks yang sangat besar. Ini harus menghilangkan kebutuhan pengguna untuk Copy All memotong log dan membukanya di editor terpisah seperti Notepad. Untuk MSTest, kami sekarang juga menyertakan satu file log yang menggabungkan semua output alih-alih hanya memiliki file log individual untuk setiap baris data.

Alat pengujian

  • Anda sekarang bisa mendapatkan cakupan kode lintas platform di baris perintah di Ubuntu dan Alpine dengan dotnet cli. Bagi pengguna yang tertarik untuk mendapatkan cakupan kode pada mesin yang menargetkan platform tersebut, Anda sekarang dapat menambahkan perintah pengumpulan cakupan kode yang sama yang biasanya Anda gunakan di jendela. Lihat dokumentasi selengkapnya untuk pengujian dotnet.
  • Sekarang ada tombol perluas semua di samping tombol ciutkan semua di Test Explorer. Perintah ini telah tersedia melalui pintasan keyboard (Ctrl+A, Ctrl+ panah kanan), tetapi lebih banyak umpan balik yang menunjukkan penambahan tombol sepadan dengan UI tambahan. Seperti biasa, terima kasih telah memberi tahu kami apa yang Anda pikirkan melalui https://developercommunity.visualstudio.com/.
  • Ada juga beberapa sedikit perubahan pada bagaimana Test Explorer menunjukkan "keusangan." "Keusangan" adalah hasil pengujian abu-abu atau "pudar" yang menunjukkan hasilnya bukan dari eksekusi pengujian terbaru. Jika hasilnya bukan bagian dari eksekusi pengujian terbaru, hasilnya akan muncul sebagai kedaluarsa. Sebelumnya, penemuan pengujian baru (atau bahkan hasil pengujian lama yang ditemukan kembali) juga ditampilkan dengan ikon solid. Hal ini menyebabkan beberapa kebingungan mengapa beberapa tes 'Tidak Berjalan' memudar dan mengapa yang lain tidak. Perubahan ini akan mengurangi kompleksitas keusangan.
  • Dengan fitur hasil pengujian yang bertahan (ditambahkan dalam versi 16.2) Anda dapat melihat hasil pengujian dari uji coba terakhir meskipun Anda telah menutup dan membuka kembali Visual Studio. Ini membantu pengguna mengingat di mana mereka meninggalkan dan memberikan lebih banyak konteks tanpa memerlukan uji coba lain. Kami juga memodifikasi perilaku hasil yang bertahan sehingga akan selalu muncul kedaluarsa. Ini lebih baik menunjukkan bahwa mereka bukan dari eksekusi pengujian yang dijalankan selama sesi Visual Studio saat ini.

Persisted test results from last Visual Studio session appear faded

Alat Web

Konfigurasi dinamis memungkinkan sumber daya konfigurasi di-refresh secara otomatis menggunakan middleware. App Configuration sebagai Layanan Koneksi sekarang dapat secara otomatis mengintegrasikan konfigurasi dinamis ke dalam aplikasi Anda. Untuk menggunakan layanan tersambung ini, klik Layanan Koneksi dan tambahkan Azure App Configuration sebagai Dependensi Layanan.

Proyek Pengemasan Aplikasi Windows "Pohon Dependensi"

  • Menindaklanjuti pekerjaan tahun lalu untuk mengaktifkan referensi paket NuGet di Windows Application Packaging Project (WAP), kami telah mengaktifkan UI baru dalam pengalaman Penjelajah Solusi WAP. Pengalaman lama tidak menunjukkan referensi paket ini atau memungkinkan Anda menambahkan paket NuGet melalui UI.

Windows Application Packaging Project Old User Interface.

  • Dalam pengalaman baru, dengan bantuan CPS dan Sistem Proyek .NET, kami telah mengaktifkan "Pohon Dependensi" yang terus menampilkan referensi proyek melalui subtree "Aplikasi", tetapi juga memiliki subtree "Paket" yang akan memungkinkan Anda untuk mengelola paket NuGet juga.

Windows Application Packaging Project New User Interface.

Peningkatan Alat XAML (WPF & Xamarin.Forms)

Xamarin.Forms

Dalam rilis ini kami telah melakukan dua peningkatan kecil untuk XAML IntelliSense dan XAML Hot Reload untuk pelanggan Xamarin.Forms. Hot Reload "ubah saja" tidak akan lagi melaporkan kesalahan palsu untuk:

  • Setter di properti referensi VisualStateManager tanpa menentukan jenis, misalnya <Setter Property="BackgroundColor" Value="Red">.
  • Gabungan ResourceDictionaries tidak dibungkus ke dalam <elemen ResourceDictionary.MergedDictionaries>

Contoh:

    <Application>
    <Application.Resources>
        <ResourceDictionary Source='Colors.xaml'/>
        <Style TargetType='Label'> ... <Style>
    </Application.Resources>
    </Application>

Data Sampel XAML

Dalam rilis ini kami telah lebih meningkatkan kemampuan data waktu desain XAML Designer dengan memperkenalkan cara baru untuk menambahkan data sampel generik ke ItemsControls Anda. Fitur ini hanya berfungsi untuk ListBox, ListView, dan DataGrid di WPF.

  • Data Sampel dapat diaktifkan dengan mengatur d:ItemSource='{d:SampleData}' di ListBox, ListView, atau DataGrid Anda
  • Ini akan mengisi kontrol Anda di perancang hanya dengan sekumpulan 5 item yang cocok dengan DataTemplates dan Jalur Pengikatan Anda
  • Anda dapat mengubah berapa banyak item yang dihasilkan menggunakan ItemCount properti , misalnya: d:ItemSource='{d:SampleData ItemCount=3}'

ListBox showing Sample Data.

Tindakan Cepat Desainer XAML

  • Bola lampu baru di dekat sudut kontrol yang dipilih di Perancang XAML dapat digunakan untuk akses cepat ke properti yang umum diedit untuk kontrol tersebut.

  • Kontrol yang didukung meliputi:

    • UWP: Batas, Tombol, Kanvas, Kotak Centang, Kotak Kombo, Kisi, HyperlinkButton, Gambar, ListBox, ListView, NavigationView, RadioButton, Slider, StackPanel, TextBlock, TextBox
    • WPF: Border, Button, Canvas, CheckBox, ComboBox, Grid, Image, Label, ListBox, ListView, StackPanel, TextBlock, TextBox
  • Fitur ini tersedia untuk UWP, WPF .NET Core, dan WPF .NET Framework (dengan fitur pratinjau "WPF XAML Designer baru untuk .NET Framework" yang diaktifkan dalam dialog opsi).

  • Tindakan Cepat Desainer XAML juga memiliki model ekstensibilitas. Untuk informasi selengkapnya tentang membuat tindakan Anda sendiri, lihat GitHub Ekstensibilitas Perancang XAML

XAML Designer Quick Actions on a Button

MVVM Tooling untuk XAML

Dalam rilis ini, kami telah memperkenalkan bola lampu di Editor XAML untuk membuat model tampilan. Bola lampu ini muncul pada elemen akar dokumen XAML ketika kami mendeteksi bahwa kerangka kerja MVVM sedang digunakan dalam proyek. Dialog ini memungkinkan penyesuaian namespace layanan model tampilan yang dihasilkan, folder, dan model tampilan dasar yang diwariskan.

Create view-model lightbulb experience

Bola lampu juga mengatur model tampilan yang dihasilkan sebagai x:DataType(Xamarin.Forms) atau d:DataContext(semua platform lain) untuk dokumen XAML, memungkinkan pengguna untuk lebih memanfaatkan bola lampu Editor XAML untuk menghasilkan properti dan perintah terikat dalam model tampilan.

Alat Service Fabric

Fitur ini memperkenalkan file StartupServices.xml dalam desain Aplikasi Service Fabric. File ini menghosting bagian DefaultServices ApplicationManifest.xml. Dengan penerapan ini, parameter terkait definisi DefaultServices dan Service dipindahkan dari ApplicationManifest.xml yang ada ke file baru ini yang disebut StartupServices.xml. File ini digunakan di setiap fungsi (Build/Rebuild/F5/Ctrl+F5/Publish) di Visual Studio.

Masalah Teratas Diperbaiki dalam Rilis ini

  • Memperbaiki masalah di mana pengembang C# yang memanggil perintah Edit.SmartBreakline akan menghapus semua konten di aksesor Properti.
  • Memperbaiki masalah di mana pengembang memperbarui pengaturan codestyle akan menerapkan perubahan di semua instans Visual Studio alih-alih hanya di dalam folder yang diinginkan.
  • Ikon "Terapkan Perubahan Kode" ditampilkan setiap kali proyek natvie atau gabungan dibuka. Ini hanya akan diaktifkan setelah pengembang mulai men-debug.
  • Memperbaiki perubahan yang melanggar dalam AudioUnitPropertyIDType
  • Memperbaiki masalah di mana pengembang yang menggunakan kerangka kerja pengujian unit UWP tidak dapat menjalankan pengujian pada perangkat jarak jauh.

Dari Komunitas Pengembang

Komunitas Pengembang memiliki daftar lengkap semua item yang dikirim dalam rilis ini.

Berikut adalah beberapa masalah terpilih teratas yang dirilis pada 16.10:


Masalah yang Diketahui

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

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