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?



@RobertMacLean pertanyaan ini ditanyakan sebelum pertanyaan yang ditandai di atas
Sriram

1
@RobertMacLean membuat siklus duplikat
Kishan Kumar


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.


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


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<

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.


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.


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.


1

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


1

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

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.