VS Code 1.51 dirilis dengan peningkatan tab yang disematkan dan banyak lagi
Visual Studio Code adalah aplikasi populer untuk pengembang. Ini adalah editor kode yang didefinisikan ulang dan dioptimalkan untuk membangun dan men-debug aplikasi web dan cloud modern. VS Code hadir dengan berbagai ekstensi dan pembantu yang sangat menghemat waktu. Ini tersedia untuk semua platform utama, termasuk Windows, MacOS, dan Linux. Microsoft hari ini merilis versi baru aplikasi yang membawa peningkatan pada berbagai fitur aplikasi, termasuk tab yang disematkan, integrasi GitHub, dan banyak lagi.
Kode VS 1.51 terkenal karena perubahan berikut.
Catatan: Anda dapat mengunduh aplikasi dari situs web resminya.
meja kerja
Tab yang disematkan lebih menonjol
Tab yang disematkan sekarang akan selalu menampilkan ikon pinnya, bahkan saat tidak aktif, agar lebih mudah dikenali. Jika editor disematkan dan berisi perubahan yang belum disimpan, ikon mencerminkan kedua status tersebut.
Pohon ekstensi menggunakan hover khusus
Alih-alih menggunakan tooltip asli dalam tampilan hierarki ekstensi, kami sekarang menggunakan hover khusus yang konsisten lintas platform dan lebih cocok dengan UX keseluruhan.
Instal ekstensi tanpa menyinkronkan
Anda sekarang dapat memasang ekstensi tanpa menyinkronkannya saat sinkronisasi pengaturan diaktifkan.
Tema: Cahaya GitHub
Instal ekstensi dari Explorer
Kode VS sekarang mendukung penginstalan file VSIX ekstensi dari Explorer dengan mengklik kanan pada file VSIX dan memilih Instal Ekstensi VSIX item menu konteks.
Masukkan perintah blur
internal baru meja kerja.action.blur
perintah sekarang tersedia, yang menghilangkan fokus dari input apa pun yang dapat difokuskan. Anda dapat menetapkan pintasan keyboard untuk perintah ini di Preferensi Pintasan Keyboard.
Terminal Terintegrasi
Gema Lokal
Membuat modifikasi di terminal secara tradisional memerlukan informasi untuk dikirim ke proses terminal, diproses, dan dikembalikan ke VS Code agar terpengaruh. Ini bisa lambat saat bekerja pada koneksi yang buruk atau jauh ke server SSH atau Ruang kode.
Rilis ini menambahkan mode "local echo" ke terminal, yang mencoba memprediksi modifikasi dan pergerakan kursor yang dibuat secara lokal dan menampilkannya di UI tanpa memerlukan perjalanan pulang pergi ke server. Secara default, karakter yang diprediksi ditampilkan sebagai "redup":
Ada dua pengaturan yang dapat Anda gunakan untuk mengonfigurasi ini:
-
terminal.integrated.localEchoLatencyThreshold
mengonfigurasi ambang penundaan yang terdeteksi, dalam milidetik, di mana gema lokal akan diaktifkan. Ini dapat diatur ke0
untuk mengaktifkan fitur sepanjang waktu, atau-1
untuk menonaktifkannya. Default untuk30
. -
terminal.integrated.localEchoStyle
mengonfigurasi gaya atau warna karakter lokal, default keredup
.
IntelliSense
Saran yang dapat diubah ukurannya
Pencapaian ini, kami telah membuat beberapa peningkatan pada UI saran. Pertama dan terpenting, sekarang dapat diubah ukurannya. Seret sisi atau sudut untuk mengubah ukuran kontrol.
Tema: Cahaya GitHub, Font: FiraCode
Ukuran daftar saran akan disimpan dan dipulihkan di seluruh sesi. Ukuran panel detail hanya disimpan per sesi, karena ukuran tersebut cenderung lebih bervariasi. Juga editor.suggest.maxVisibleSaran
pengaturan telah menjadi usang.
Bilah status untuk saran
Kontrol saran sekarang juga dapat menampilkan bilah statusnya sendiri di bagian bawah jendela. Aktifkan menggunakan editor.suggest.showStatusBar
pengaturan. Itu membuat detail toggling lebih sederhana, dan menunjukkan apakah penyelesaian mendukung penyisipan, penggantian, atau keduanya.
Tema: Cahaya GitHub, Font: FiraCode
Dalam contoh di atas, memilih "Sisipkan" menghasilkan Math.floorceil
dan memilih "Ganti" menghasilkan Math.floor
.
Yang baru editor.suggest.insertMode
pengaturan memungkinkan Anda untuk mengonfigurasi apakah Anda lebih suka memasukkan atau mengganti. Jika saran mendukung keduanya, preferensi Anda akan menjadi default.
Pindahkan kursor untuk memilih saran
Last but not least, Anda sekarang dapat memindahkan kursor saat saran ditampilkan. Misalnya, Anda dapat memicu saran di akhir kata, bergerak ke kiri untuk melihat saran lainnya, lalu menggunakan ganti untuk menimpa kata.
Tema: Cahaya GitHub
Semut
Cuplikan khusus di Emmet telah kembali. Selain itu, snippet sekarang secara otomatis disegarkan setelah menyimpan file snippet atau memperbarui emmet.extensionsPath
pengaturan.
Kontrol Sumber
Kotak input Kontrol Sumber menyimpan riwayat pesan komit
Ini membahas permintaan fitur untuk menavigasi riwayat komit SCM. tekan ↑ (Windows, Linux Ke atas) dan ↓ (Windows, Linux Turun) untuk menampilkan komitmen sebelumnya dan berikutnya, masing-masing. Untuk berpindah langsung ke posisi pertama dan terakhir dari kotak input, tekan Alt dalam hubungannya dengan tombol panah yang sesuai.
Git: Perintah tag di submenu
Perintah Git terkait tag telah ditambahkan ke ... Git menu.
Git: Perintah rebase
baru Git: Rebase cabang... perintah telah ditambahkan yang memungkinkan Anda rebase cabang menggunakan UI.
Git: Perintah klon rekursif
Dengan Git: Klon (Rekursif) perintah, Anda sekarang dapat mengkloning repositori Git secara rekursif, termasuk submodul Git bersarangnya.
Garis waktu: Render kode pendek Emoji
Kami sekarang membuat kode pendek emoji, seperti :senyum:
, di Tampilan Linimasa.
Bahasa
Pilihan cerdas penurunan harga
Perluas dan kecilkan pilihan dalam dokumen Markdown menggunakan perintah baru berikut:
- Mengembangkan: ⌃⇧⌘→ (Windows, Linux Shift+Alt+Kanan)
- Menyusut: ⌃⇧⌘← (Windows, Linux Shift+Alt+Kiri)
Seleksi berlaku untuk hal berikut, dan mengikuti pola hierarki tradisional:
- Header
- Daftar
- Blok kutipan
- Blok kode berpagar
- Blok kode HTML
- Paragraf
Opsi pemformatan kurung kurawal kosong untuk JavaScript dan TypeScript
Yang baru javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
dan typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
opsi konfigurasi pemformatan mengontrol jika spasi disisipkan di antara kurung kurawal kosong. Nilai default untuk pengaturan ini adalah true. Misalnya, untuk JavaScript:
kelas Foo { doFoo() { } }
Pengaturan "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false
dan memformat kode menghasilkan:
class Foo { doFoo() {} // Perhatikan bahwa spasi telah dihapus. }
Dukungan peramban
Unduh folder (Edge, Chrome)
Memanfaatkan yang baru Akses Sistem File API, Kode VS yang berjalan di browser sekarang dapat menawarkan tindakan unduhan untuk folder dari File Explorer untuk mengunduh semua file dan folder ke disk.
Catatan: Ini memerlukan versi terbaru Microsoft Edge atau Google Chrome.
Buka notifikasi Ruang Kerja
Jika Anda membuka folder yang berisi .code-ruang kerja
file di tingkat atas, sekarang Anda akan melihat pemberitahuan yang meminta Anda untuk membukanya. Ini selalu terjadi di VS Code untuk desktop, dan sekarang akan berfungsi di browser juga.
Cegah penutupan yang tidak disengaja
Pengaturan baru window.confirmBeforeClose
telah ditambahkan untuk menampilkan dialog konfirmasi sebelum menutup atau meninggalkan meja kerja.
Nilai yang mungkin adalah:
-
hanya keyboard
Konfirmasi hanya akan ditampilkan bila Anda menggunakan keybinding untuk menutup (misalnya, W (Windows, Linux Ctrl+W)). (bawaan) -
selalu
: Dialog konfirmasi akan selalu ditampilkan, bahkan jika Anda menutup dari gerakan mouse. -
tidak pernah
: Konfirmasi tidak akan pernah ditampilkan.
Catatan: Pengaturan ini mungkin tidak mencakup semua kasus. Browser mungkin masih memutuskan untuk menutup tab atau jendela tanpa konfirmasi.
Kontribusi ke ekstensi
Permintaan dan Masalah Tarik GitHub
Pekerjaan berlanjut di Permintaan dan Masalah Tarik GitHub ekstensi, yang memungkinkan Anda untuk mengerjakan, membuat, dan mengelola permintaan dan masalah tarikan.
Untuk mempelajari semua fitur dan pembaruan baru, Anda dapat melihat selengkapnya changelog untuk 0.22.0 pelepasan ekstensi.
Pengembangan Jarak Jauh
Pekerjaan berlanjut di Ekstensi Pengembangan Jarak Jauh, yang memungkinkan Anda menggunakan wadah, mesin jarak jauh, atau Subsistem Windows untuk Linux (WSL) sebagai lingkungan pengembangan berfitur lengkap.
Sorotan fitur di 1.51 meliputi:
- Kemampuan untuk bertahan/menghubungkan kembali ke sesi terminal.
- Pengalaman penerusan port yang ditingkatkan.
Anda dapat mempelajari tentang fitur ekstensi baru dan perbaikan bug di Catatan rilis Pengembangan Jarak Jauh.
Fitur pratinjau
Fitur pratinjau belum siap untuk dirilis tetapi cukup fungsional untuk digunakan. Kami menyambut umpan balik awal Anda saat mereka sedang dalam pengembangan.
Sinkronisasi pengaturan
Sinkronisasi setelan sekarang menyinkronkan status global ekstensi. Ekstensi harus menyediakan status untuk disinkronkan menggunakan yang baru diperkenalkan setKeysForSync API.
Ingat kredensial proxy
Kami sedang merombak dialog login yang menunjukkan saat koneksi jaringan memerlukan otentikasi dengan proxy. Pengaturan baru, window.enableExperimentalProxyLoginDialog: true
, akan mengaktifkan pengalaman baru yang kami rencanakan untuk dijadikan default di rilis mendatang.
Tema: Cahaya GitHub
Dialog akan muncul di dalam jendela Kode VS dan menawarkan cara untuk mengingat kredensial sehingga Anda tidak perlu memberikannya setiap kali Anda memulai Kode VS. Kredensial akan disimpan di penyimpanan kredensial standar OS (gantungan kunci di macOS, Pengelola Kredensial Windows di Windows, dan gantungan kunci gnome di Linux).
Kami masih hanya menampilkan dialog ini sekali per sesi, tetapi mungkin akan meninjau kembali keputusan ini di masa mendatang. Anda akan melihat dialog muncul lagi jika kredensial yang Anda pilih untuk diingat tidak valid. Memberikannya lagi memungkinkan Anda untuk mengubahnya.
Harap aktifkan opsi ini dan beri tahu kami jika ada yang tidak berfungsi seperti yang diharapkan melalui kami pelacak masalah.
Dukungan beta TypeScript 4.1
Kode VS mendukung TypeScript 4.1 beta dan bangunan malam. Pembaruan 4.1 menghadirkan beberapa fitur bahasa TypeScript baru, seperti dukungan untuk tipe kondisional rekursif, serta peningkatan perkakas. Satu area fokus telah menambahkan dukungan awal untuk @Lihat
tag di komentar JSdoc.
Untuk mulai menggunakan build malam TypeScript 4.1, cukup instal Ekstensi TypeScript Nightly. Silakan bagikan umpan balik dan beri tahu kami jika Anda mengalami bug dengan TypeScript 4.1.
Penulisan ekstensi
Contoh ekstensi yang diperbarui
Kami telah memperbarui beberapa dari kami sampel ekstensi untuk menyertakan gaya default Kode VS yang terhubung ke token tema warna kami. Ini berarti bahwa elemen umum (teks, tombol, input) akan dapat diberi tema dan cocok dengan gaya default dalam produk. Di bawah ini adalah ekstensi yang menyertakan ini:
- contoh-editor-kustom
- contoh tampilan web
- webview-view-contoh
Warna Codicon di pohon
Dengan finalisasi TemaIkon
API warna, penulis ekstensi dapat menggunakan warna tema pada kodekon dalam tampilan hierarki khusus.
Sinkronkan Status Global
Ekstensi sekarang dapat menyinkronkan status globalnya dengan menyediakan kunci, yang nilainya harus disinkronkan saat Sinkronisasi Pengaturan diaktifkan, menggunakan yang baru diperkenalkan setKeysForSync
API di negara global
kenang-kenangan.
/** * Menyetel kunci yang nilainya harus disinkronkan di seluruh perangkat saat menyinkronkan data pengguna * seperti konfigurasi, ekstensi, dan kenang-kenangan. * * Perhatikan bahwa fungsi ini mendefinisikan seluruh rangkaian kunci yang nilainya disinkronkan: * - memanggilnya dengan array kosong menghentikan sinkronisasi untuk kenang-kenangan ini * - memanggilnya dengan a array non-kosong menggantikan semua kunci yang nilainya disinkronkan * * Untuk set kunci tertentu, fungsi ini hanya perlu dipanggil sekali tetapi tidak ada salahnya * memanggilnya berulang kali. * * @param keys Kumpulan kunci yang nilainya disinkronkan. */ setKeysForSync (kunci: string[]): batal;
Komentar ekstensi sekarang dapat mengontrol visibilitas tombol balas di utas komentar dengan properti baru, Utas Komentar#dapatMembalas
. Saat disetel ke Salah
, pengguna tidak akan melihat tombol balas atau kotak komentar di utas komentar.
API ekstensi yang diusulkan
Setiap pencapaian datang dengan API baru yang diusulkan dan penulis ekstensi dapat mencobanya. Seperti biasa, kami ingin tanggapan Anda. Inilah yang harus Anda lakukan untuk mencoba API yang diusulkan:
- Anda harus menggunakan Orang Dalam karena API yang diusulkan sering berubah.
- Anda harus memiliki baris ini di
package.json
file ekstensi Anda:"enableProposedApi": benar
. - Salin versi terbaru dari
vscode.proposed.d.ts
file ke lokasi sumber proyek Anda.
Anda tidak dapat memublikasikan ekstensi yang menggunakan API yang diusulkan. Mungkin ada perubahan yang mengganggu pada rilis berikutnya dan kami tidak pernah ingin merusak ekstensi yang ada.
Penyedia rentang lipat mengubah acara
Penyedia rentang lipat dapat memberi sinyal kepada editor bahwa rentang lipat perlu diperbarui menggunakan diDidChangeFoldingRanges
peristiwa.
Untuk detail lebih lanjut dan untuk memberikan umpan balik, silakan gunakan edisi #108929.
API Kata Sandi
Sebagai bagian dari pekerjaan lanjutan pada Penyedia Otentikasi, kami telah memperkenalkan API untuk menyimpan dan mengambil informasi sensitif. Secara internal, ini bertindak sebagai pembungkus dari keytar library yang digunakan VS Code untuk menyimpan rahasia.
/** * Mengambil kata sandi yang disimpan dengan kunci. Mengembalikan tidak terdefinisi jika * tidak ada kata sandi yang cocok dengan kunci itu. * @param key Kunci kata sandi disimpan di bawah. */ fungsi ekspor getPassword (kunci: string): Dapat digunakan; /** * Menyimpan kata sandi di bawah kunci yang diberikan. * @param key Kunci untuk menyimpan kata sandi di bawah * nilai @param Kata sandi */ fungsi ekspor setPassword (kunci: string, nilai: string): Dapat digunakan; /** * Hapus kata sandi dari penyimpanan. * @param key Kunci kata sandi disimpan di bawah. */ fungsi ekspor deletePassword (kunci: string): Dapat digunakan; /** * Diaktifkan saat kata sandi ditetapkan atau dihapus. */ ekspor const onDidChangePassword: Acara;
Rekayasa
Membuat Kode VS Jenis Tepercaya sesuai
Kami telah melanjutkan upaya untuk membuat Kode VS "Jenis Tepercaya" sesuai. Tujuannya adalah untuk mencegah kerentanan skrip lintas situs berbasis DOM. Anda dapat mempelajari lebih lanjut tentang jenis tepercaya di web.dev Situs Jenis Tepercaya dan ikuti kemajuan kami di edisi #103699.