Jawaban:
Lipat telah diluncurkan dan sekarang dilaksanakan sejak Visual Studio Code versi 0.10.11 . Ada beberapa pintasan keyboard yang tersedia:
Lipat, lipat bagian paling tidak terbengkok di kursor:
Buka lipatan wilayah yang diciutkan di kursor:
Lipat Semua melipat semua wilayah di editor:
Buka Semua membuka semua wilayah di editor:
Referensi: https://code.visualstudio.com/docs/getstarted/keybindings
F1
dan ketik Lipat atau Buka
Pada Visual Studio Code versi 1.12.0, April 2017, lihat Pengeditan Dasar> Bagian lipat dalam dokumen.
Kunci default adalah:
Lipat Semua: CTRL+ K, CTRL+ 0(nol)
Tingkat Lipat [n]: CTRL+ K, CTRL+ [n]*
Buka Semua: CTRL+ K, CTRL+J
Lipat Wilayah: CTRL+ K, CTRL+[
Wilayah Tidak Terungkap: CTRL+ K, CTRL+]
* Tingkat Lipat: untuk melipat semua kecuali kelas paling luar, coba CTRL+ K, CTRL+1
Mac: gunakan ⌘sebagai ganti CTRL(terima kasih Prajeet)
ctrl+k,ctrl+num
hanya bekerja pada angka di atas qwerty bukan pada numpad
Kode lipat menurut wilayah telah tiba dengan v1.17. Dokumentasi dilipat menurut wilayah . Dan v1.19 dan 1.23 .
[Secara umum Anda dapat menambahkan spasi, misalnya // region and // endregion
ke //region and //endregion
dan itu juga akan berfungsi.]
TypeScript/JavaScript: //#region and //#endregion or // #region and // #endregion
C#: #region and #endregion
C/C++: #pragma region and #pragma endregion
F#: //#region and //#endregion
PowerShell: #region and #endregion
Python: #region and #endregion
VB: #Region and #End Region
PHP: #region and #endregion
Bat: ::#region and ::#endregion or REM #region and REM #endregion
Markdown: <!-- #region --> and <!-- #endregion -->
Golang //region and //endregion or //#region and //#endregion
Java //#region and //#endregion
CSS/SCSS/Less: /* #region */ and /* #endregion */ or /*#region*/ and /*#endregion*/
SCSS/Less: // #region and // #endregion
Go: // region, // endregion and // #region, // #endregion
shellscript: # region and # endregion
Perl5 #region and #endregion or =pod and =cut`
Penting: Jika Anda tidak melihat bahasa Anda dalam daftar ::
Setiap bahasa juga memiliki cuplikan yang tersedia untuk spidol. Ketik '#' dan minta penyelesaian kode untuk melihatnya. Untuk mengkonfigurasi penanda wilayah untuk bahasa Anda, hubungi penyedia ekstensi bahasa.
Jadi ketik #
dan kemudian Ctrl+ Spaceuntuk melihat penanda wilayah untuk bahasa apa pun.
// region
dan // endregion
tidak bekerja dengan VS Code versi 1.22 (belum menguji versi di bawah atau di atas itu). Tapi// #region
dan // #endregion
berhasil (perhatikan '#' dan ruang di keduanya). Dengan cara ini ESLint (jika Anda menggunakan) tidak akan menampilkan kesalahan jika spaced-comment
aturan aktif (yaitu tidak disetel ke 'off' atau 0).
/* #region Foo Bar */
dan/* #endregion */
//region
dan //endregion
untuk JavaScript.
<!-- #region --> elements <!-- #endregion -->
. Ini menampilkan teks mengikuti #region pada bagian yang dilipat. Itu benar dilipat dari #region saat ini ke #endregion yang sesuai, bahkan jika ada yang lain bersarang - seperti tanda kurung dalam persamaan apa pun. Itu mengingat pengaturan lipatan untuk wilayah bersarang. Ctrl + k + Ctrl + [dan Ctrl + k + Ctrl +] tutup / buka lipatan dengan benar di kursor. (yang tampaknya sedikit terbelakang bagi saya, tetapi whatevah) Hal hebat!
Fitur ini tersedia dalam versi standar sekarang. Untuk membuat kontrol runtuh / perluas muncul, Anda perlu mengarahkan mouse ke area tepat di sebelah kanan nomor baris seperti yang ditunjukkan dalam tangkapan layar ini:
Anda harus menambahkan pengaturan pengguna:
{
"editor.showFoldingControls": "always",
"editor.folding": true,
"editor.foldingStrategy": "indentation",
}
Pintasan default untuk collapse / extended adalah:
Ctrl+ Shift+ [: "Lipat"
Ctrl+ Shift+ Alt+ [: "Lipat semua"
Ctrl+ Shift+ ]: "Buka"
Ctrl+ Shift+ Alt+ ]: "Buka semua"
Atau buka keybindings.json dan ubah sesuai keinginan.
Sebagai contoh:
{
"key": "cmd+k cmd+m",
"command": "editor.foldAll",
"when": "editorFocus"
},
{
"key": "cmd+m cmd+k",
"command": "editor.unfoldAll",
"when": "editorFocus"
},
ctrl+shift+alt+[ "Unfold all"
Anda yang menulis [
bukan ]
. Koreksi saya jika saya salah.
Jika tidak ada pintasan yang berfungsi (seperti untuk saya), sebagai solusinya Anda juga dapat membuka palet perintah ( Ctrl+ 3atau Lihat -> Palet Perintah ...) dan ketik fold all
:
Runtuh sekarang didukung di rilis 1.0 :
Kode Sumber Lipat Shortcuts
Ada tindakan lipat baru untuk menutup wilayah kode sumber berdasarkan tingkat lipatannya.
Ada tindakan untuk melipat level 1 ( Ctrl+ K Ctrl+ 1) ke level 5 ( Ctrl+ K Ctrl+ 5). Untuk membuka, gunakan Buka Semua ( Ctrl+ Shift+ Alt+ ]).
Tindakan pelipatan tingkat tidak berlaku untuk wilayah yang mengandung kursor saat ini.
Saya punya masalah menemukan ]
tombol di keyboard saya (tata letak Norwegia), dan dalam kasus saya itu adalah Å
tombol. (Atau dua tombol ke kiri dan satu ke bawah mulai dari tombol backspace.)
Dengan JavaScript:
//#region REGION_NAME
...code here
//#endregion
Pada versi 1.3.1 (2016-07-17), Block Collapse jauh lebih nyaman.
Setiap garis yang diikuti oleh garis indentasi akan memiliki karakter '-' untuk memungkinkan keruntuhan. Jika blok diciutkan, maka akan digantikan oleh karakter '+' yang akan membuka blok diciutkan.
( Ctrl+ Shift+ Alt+ ]) Masih akan mempengaruhi semua blok, menutup satu level. Setiap penggunaan berulang menutup satu tingkat lagi. The ( Ctrl+ Shift+ Alt+[ ) Bekerja dengan cara yang berlawanan.
Hore, block collapse akhirnya berhasil.
Tidak ada kiat teknis di sini, hanya penyesuaian preferensi VsCode yang sederhana.
Saya berhasil menunjukkan kontrol kode lipat selalu dalam VsCode dengan pergi ke Preferensi dan mencari 'lipat'. Sekarang cukup pilih untuk selalu menampilkan kontrol ini. Ini berfungsi dengan kode naskah dan HTML templat dalam solusi Angular 8 yang saya uji dengannya.
Ini diuji dengan VsCode Insiders 1.37.0 yang berjalan pada OS Windows 10.
v1.42 menambahkan beberapa penyempurnaan yang bagus tentang bagaimana lipatan terlihat dan berfungsi. Lihat https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#folded-range-highlighting :
Sorotan Kisaran Lipat
Rentang yang dilipat sekarang lebih mudah ditemukan berkat warna latar belakang untuk semua rentang yang dilipat.
Lipat warna highlight Tema: Gelap +
Fitur ini dikendalikan oleh editor pengaturan. Lipat Sorotan dan warna dapat disesuaikan dengan editor warna. LipatBackground.
"workbench.colorCustomizations": { "editor.foldBackground": "#355000" }
Penyempurnaan Lipat
Shift + Click
pada indikator lipat pertama hanya melipat rentang bagian dalam.Shift + Click
lagi (ketika semua rentang dalam sudah dilipat) juga akan melipat induknya.Shift + Click
lagi membuka semua.
Saat menggunakan perintah Fold (kb (
editor.fold
))] pada rentang yang sudah terlipat, rentang induk yang tidak dilipat berikutnya akan dilipat.
Pada Mac, ini adalah kunci Perintah RHS, ⌘K ,, bukan di sebelah kiri untuk perintah pelipat kode.
Kalau tidak, tombol Command tangan kiri akan menghapus baris saat ini ⌘K,.
Fitur ini sekarang didukung, sejak Visual Studio Code 1.17 . Untuk melipat / menutup blok kode Anda, cukup tambahkan tag wilayah, seperti //#region my block name
dan//#endregion
jika pengkodean dalam TypeScript / JavaScript.
Contoh:
Ekstensi VSCode: Tingkat Lipat , satu tombol lipat ke tingkat yang Anda inginkan.
Saya berharap Visual Studio Code dapat menangani:
#region Function Write-Log
Function Write-Log {
...
}
#endregion Function Write-Log
Saat ini Visual Studio Code mengabaikannya dan tidak akan menutupnya. Sementara itu Notepad ++ dan PowerGUI menangani ini dengan baik.
Pembaruan: Saya baru saja melihat pembaruan untuk Visual Studio Code. Ini sekarang didukung!
Catatan: pintasan ini hanya berfungsi seperti yang diharapkan jika Anda mengedit keybindings.json Anda
Saya tidak senang dengan pintasan default, saya ingin mereka bekerja sebagai berikut:
Untuk mengaturnya:
Preferences: Open Keyboard Shortcuts (JSON)
( Ctrl+ ⇧ Shift+ p)Sudah punya gantungan kunci khusus untuk lipatan / buka? Maka Anda harus menggantinya.
{
"key": "ctrl+alt+]",
"command": "editor.fold",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+alt+[",
"command": "editor.unfold",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+shift+alt+]",
"command": "editor.foldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+shift+alt+[",
"command": "editor.unfoldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+[",
"command": "editor.unfoldAll",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+]",
"command": "editor.foldAll",
"when": "editorTextFocus && foldingEnabled"
},
Fold Level
jawaban Michael Fulton lebih masuk akal bagi saya.