Temukan dan ganti dengan baris baru dalam Visual Studio Code

397

Saya mencoba editor Microsoft Visual Studio Code baru di lingkungan Linux Fedora. Saya ingin tahu cara mengganti baris baru (\ n) sebagai pengganti beberapa teks lainnya.

Sebagai contoh, saya punya teks html seperti ini

<tag><tag> 

yang ingin saya ganti sebagai

<tag>
<tag>

Dalam luhur saya akan menggunakan pola regex dan menemukan "> <" dan ganti dengan "> \ n <" Bagaimana cara melakukannya dalam Visual Studio Code?

Sriram
sumber
Kemungkinan duplikat Gunakan string carriage return dalam VS Code replace
Robert MacLean
@RobertMacLean pertanyaan ini ditanyakan sebelum pertanyaan yang ditandai di atas
Sriram
1
@RobertMacLean membuat siklus duplikat
Kishan Kumar
Apakah kamu melihat ini? stackoverflow.com/a/50042582/6597375
Deepu Reghunath
Sebenarnya bukan duplikat: Pertanyaan lain menanyakan tentang carriage return, ini tentang newline, dan tidak ada jawaban yang tidak berfungsi untuk carriage return karena beberapa alasan.
Jason Young

Jawaban:

581

Di kotak pencarian lokal ( ctrl+ f) Anda dapat memasukkan baris baru dengan menekan ctrl+ enter.

Gambar pencarian multiline dalam pencarian lokal

Jika Anda menggunakan pencarian global ( ctrl+ shift+ f) Anda dapat memasukkan baris baru dengan menekan shift+ enter.

Gambar pencarian multiline dalam pencarian global

Jika Anda ingin mencari multiline berdasarkan karakter literal, ingatlah untuk memeriksa ikon regex paling kanan .

Gambar mode regex dalam pencarian diganti


Dalam versi sebelumnya dari kode Visual Studio ini sulit atau tidak mungkin. Versi yang lebih lama mengharuskan Anda untuk menggunakan mode regex, versi yang lebih lama namun tidak mendukung pencarian baris baru apa pun.

Halo Egset Harnes
sumber
6
Atau dalam versi 0.10.3. Tetapi ada ekstensi yang dapat melakukan ini: marketplace.visualstudio.com/items/jmallien.ReplaceWithNewline
rmac
14
Perhatikan bahwa saat mengganti dengan karakter baris baru didukung, menemukan karakter baris baru masih tidak berfungsi sampai github.com/Microsoft/vscode/issues/313 diperbaiki.
C Snover
2
Ini tidak berfungsi di mac - ini benar-benar menggantikan \ r atau \ n
Naveen Vijay
38
Perhatikan bahwa mode regex harus diaktifkan. Jika tidak, itu tidak akan menggunakan baris baru.
neves
12
regex mencari \\ndan mengganti dengan \nworks for me, menggunakan 1.25.0
Gregor
130

Dengan rilis VS Code 1.38 Anda dapat menekan CTRL+ Enterdi kotak cari editor untuk menambahkan karakter baris baru.

masukkan deskripsi gambar di sini

Dengan rilis VS Code 1.30 Anda dapat mengetik Shift+ Enterdi kotak pencarian untuk menambahkan karakter baris baru tanpa harus menggunakan mode regex.

masukkan deskripsi gambar di sini

Sejak VS Code merilis 1.3 , regex find telah mendukung karakter baris baru. Untuk menggunakan fitur ini, atur jendela cari ke mode regex dan gunakan \nsebagai karakter baris baru.

Multiline find di VS Code gif

Cantik
sumber
Ini memberi saya sedikit dorongan ke arah yang benar. Saya membutuhkan baris kosong untuk mengganti komentar HTML: <!--[\s\S\n]*?-->Dan saya kehilangan \ n :)
Guntram
Saya menyukai fitur ini, bekerja di bidang pencarian dan penggantian juga!
SimplyInk
5
Masih tidak berfungsi di sidebar ctrl + shift + f ... -_-
Xunnamius
61

Dalam versi 1.1.1:

  • Ctrl+H
  • Periksa ikon exp reguler .*
  • Cari: ><
  • Menggantikan: >\n<
Eric Bole-Feysot
sumber
15
Terima kasih telah menyebutkan bahwa Anda harus menekan ikon regexp!
Paul Chernoch
24

Juga perhatikan, setelah menekan ikon regex, untuk benar-benar mengganti \nteks dengan baris baru, saya harus menggunakan \\nsebagai pencarian dan \nsebagai ganti.

Stiv Ostenberg
sumber
1
Hai @ Saran bagus tapi ini seharusnya komentar karena tidak menjawab pertanyaan.
Chic
Mungkin tidak melihat di komentar ... ini adalah jawaban yang saya butuhkan. Terima kasih @stiv!
Jack Ryan
16

Solusi yang mungkin dilakukan adalah menggunakan multi-kursor. pilih> <bagian dari contoh Anda gunakan Ctrl+ Shift+ Latau pilih semua kejadian. Kemudian gunakan tombol panah untuk memindahkan semua kursor di antara tag dan tekan enter untuk menyisipkan baris baru ke mana-mana.

Ini tidak akan berfungsi dalam semua situasi.

Anda juga dapat menggunakan Ctrl+ Duntuk memilih pasangan berikutnya, yang menambahkan pasangan berikutnya ke pilihan dan menambahkan kursor. Dan gunakan Ctrl+ K Ctrl+ Duntuk melewati satu pilihan.

Bastiaan Deknudt
sumber
Ctrl+Dbagus! Anda mungkin perlu menekan Ctrl+Fterlebih dahulu dan setelah beberapa Ctrl+Ddetik atau melewatkan Ctrl+K Ctrl+D, Anda dapat menekan Escuntuk meletakkan kursor di semua pilihan!
CPHPython
4

Pada versi mac Kode VS saya, saya memilih bagian, maka pintasannya adalah Ctrl+ juntuk menghapus jeda baris.

tripleonard
sumber
1

dengan v1.31.1 dalam mode RegEx, fungsi Replace All rusak. mengklik tombol itu hanya menggantikan satu contoh

ekki
sumber
1

CTRL+ H, lalu pilih regex (*) dan tulis \ n

Versi lebih pendek: CTRL+ H ALT+ R\ n

TomoMiha
sumber