ค้นหาและแทนที่ด้วยบรรทัดใหม่ในรหัส Visual Studio


397

ฉันลองใช้ตัวแก้ไขรหัส Microsoft Visual Studio ใหม่ในสภาพแวดล้อม Linux Fedora ฉันต้องการทราบวิธีแทนที่บรรทัดใหม่ (\ n) แทนที่ข้อความอื่น ๆ

ตัวอย่างเช่นฉันมีข้อความ html เช่นนี้

<tag><tag> 

ซึ่งฉันต้องการแทนที่เป็น

<tag>
<tag>

ในประเสริฐฉันจะใช้รูปแบบ regex และค้นหา"> <"และแทนที่ด้วย"> \ n <"ฉันจะทำสิ่งนี้ใน Visual Studio Code ได้อย่างไร


การทำสำเนาที่เป็นไปได้ของการใช้ carriage return ใน VS Code แทนที่สตริง
Robert MacLean

@RobertMacLean คำถามนี้ถูกถามก่อนคำถามที่ติดแท็กข้างต้น
Sriram

1
@RobertMacLean สร้างวงจรซ้ำ
Kishan Kumar

คุณเห็นสิ่งนี้หรือไม่ stackoverflow.com/a/50042582/6597375
Deepu Reghunath

จริง ๆ แล้วไม่ใช่เรื่องซ้ำซ้อน: คำถามอื่นถามเกี่ยวกับการคืนสินค้าด้วยตนเองการติดต่อนี้ขึ้นบรรทัดใหม่และไม่มีคำตอบใดที่ไม่สามารถใช้งานได้สำหรับการคืนสินค้าด้วยเหตุผลบางประการ
Jason Young

คำตอบ:


580

ในช่องค้นหาท้องถิ่น ( ctrl+ f) คุณสามารถแทรกการขึ้นบรรทัดใหม่โดยการกด+ctrlenter

รูปภาพของการค้นหาหลายบรรทัดในการค้นหาในท้องถิ่น

ถ้าคุณใช้ค้นหาทั่วโลก ( ctrl+ shift+ f) คุณสามารถแทรกการขึ้นบรรทัดใหม่โดยการกด+shiftenter

รูปภาพของการค้นหาหลายบรรทัดในการค้นหาทั่วโลก

หากคุณต้องการค้นหา multilines โดยตัวอักษรตัวละครอย่าลืมตรวจสอบไอคอน regex ขวาสุด

รูปภาพของโหมด regex ในการค้นหาแทนที่


ในรหัส Visual Studio รุ่นก่อนหน้านี้เป็นเรื่องยากหรือเป็นไปไม่ได้ เวอร์ชันเก่าต้องการให้คุณใช้โหมด regex เวอร์ชันเก่ากว่านี้ยังไม่รองรับการค้นหาบรรทัดใหม่ใด ๆ


6
หรือในเวอร์ชั่น 0.10.3 แต่มีเป็นส่วนขยายที่สามารถทำเช่นนี้: marketplace.visualstudio.com/items/jmallien.ReplaceWithNewline
rmac

14
โปรดทราบว่าในขณะที่แทนที่ด้วยอักขระขึ้นบรรทัดใหม่ได้รับการสนับสนุนการค้นหาอักขระขึ้นบรรทัดใหม่ยังคงไม่ทำงานจนกว่าgithub.com/Microsoft/vscode/issues/313จะได้รับการแก้ไข
C Snover

2
สิ่งนี้ใช้ไม่ได้บน mac - มันจะแทนที่ \ r หรือ \ n อย่างแท้จริง
Naveen Vijay

38
โปรดทราบว่าต้องเปิดโหมด regex มิเช่นนั้นจะไม่ใช้การขึ้นบรรทัดใหม่
neves

12
regex ค้นหา\\nและแทนที่ด้วย\nงานสำหรับฉันโดยใช้ 1.25.0
Gregor

130

ด้วย VS Code release 1.38คุณสามารถกดCTRL+ Enterในกล่องค้นหาตัวแก้ไขเพื่อเพิ่มอักขระบรรทัดใหม่

ป้อนคำอธิบายรูปภาพที่นี่

ด้วย VS Code release 1.30คุณสามารถพิมพ์Shift+ Enterในช่องค้นหาเพื่อเพิ่มอักขระบรรทัดใหม่โดยไม่จำเป็นต้องใช้โหมด regex

ป้อนคำอธิบายรูปภาพที่นี่

ตั้งแต่ VS Code รีลีส 1.3การค้นหา regex ได้รับการสนับสนุนอักขระบรรทัดใหม่ หากต้องการใช้คุณสมบัตินี้ให้ตั้งหน้าต่างค้นหาเป็นโหมด regex และใช้\nเป็นอักขระขึ้นบรรทัดใหม่

ค้นหาหลายรายการใน VS Code gif


นี่ทำให้ฉันผลักไปในทิศทางที่ถูกต้อง ฉันต้องการบรรทัดว่างเพื่อแทนที่ความคิดเห็น HTML: <!--[\s\S\n]*?-->และฉันก็หาย \ n :)
Guntram

ฉันชอบคุณสมบัตินี้ทำงานในการค้นหาและแทนที่ฟิลด์ด้วย!
SimplyInk

5
ยังคงไม่ทำงานใน ctrl + shift + f ค้นหาแถบด้านข้าง ... -_-
Xunnamius

61

ในเวอร์ชั่น 1.1.1:

  • Ctrl+H
  • ตรวจสอบไอคอน exp ปกติ .*
  • ค้นหา: ><
  • แทนที่: >\n<

15
ขอบคุณที่พูดถึงว่าคุณต้องกดไอคอน regexp!
Paul Chernoch

24

นอกจากนี้โปรดทราบว่าหลังจากกดปุ่มไอคอน regex เพื่อแทนที่\nข้อความด้วยบรรทัดใหม่จริง ๆฉันต้องใช้\\nเป็นการค้นหาและ\nแทนที่


1
สวัสดี @ เคล็ดลับที่ยอดเยี่ยม แต่นี่ควรจะเป็นความคิดเห็นเพราะมันไม่ตอบคำถาม
Chic

อาจไม่ได้ดูในความคิดเห็น ... นี่คือคำตอบที่ฉันต้องการ ขอบคุณ @stiv!
Jack Ryan

16

วิธีแก้ปัญหาที่เป็นไปได้คือใช้มัลติเคอร์เซอร์ เลือกส่วน <> ของตัวอย่างของคุณใช้Ctrl+ Shift+ Lหรือเลือกเหตุการณ์ทั้งหมด จากนั้นใช้ปุ่มลูกศรเพื่อย้ายเคอร์เซอร์ทั้งหมดระหว่างแท็กและกด Enter เพื่อแทรกขึ้นบรรทัดใหม่ทุกที่

สิ่งนี้จะไม่ทำงานในทุกสถานการณ์

นอกจากนี้คุณยังสามารถใช้Ctrl+ Dเพื่อเลือกการจับคู่ถัดไปซึ่งจะเพิ่มการจับคู่ถัดไปในการเลือกและเพิ่มเคอร์เซอร์ และใช้Ctrl+ K Ctrl+ Dเพื่อข้ามการเลือก


Ctrl+Dดีมาก! คุณอาจต้องกดCtrl+Fก่อนและหลังจากผ่านไปสองสามCtrl+Dวินาทีหรือข้ามไปCtrl+K Ctrl+DคุณอาจกดEscเพื่อวางเคอร์เซอร์ในตัวเลือกทั้งหมด!
CPHPython

4

ใน VS mac version ของฉันฉันเลือกส่วนแล้วทางลัดคือCtrl+ jเพื่อลบตัวแบ่งบรรทัด


1

ด้วย v1.31.1 ในโหมด RegEx ฟังก์ชันแทนที่ทั้งหมดจะใช้งานไม่ได้ การคลิกปุ่มนั้นจะแทนที่เพียงหนึ่งอินสแตนซ์


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.