ฉันจะแปลงแท็บเป็นช่องว่างและในทางกลับกันในไฟล์ที่มีอยู่ได้อย่างไร


107

ฉันคิดไม่ออกว่าจะทำสิ่งนี้เพื่อชีวิตของฉันได้อย่างไรนอกเหนือจากการค้นหาแทนที่ในช่องว่าง 4 ช่องและการแปลงเป็นแท็บ ( เวอร์ชัน 0.10.2 ) ฉันไม่สามารถนึกถึงตัวแก้ไข / IDE ที่ไม่มีคุณสมบัติเฉพาะสำหรับทำสิ่งนี้ได้ VSCode หรือไม่

คำตอบ:


185

ตั้งแต่แก้ไข: https://github.com/Microsoft/vscode/issues/1228ตัวแก้ไขสนับสนุนมันนอกกรอบ เพียงไปที่:

  1. F1,
  2. indentationToSpacesหรือindentationToTabs(ขึ้นอยู่กับความต้องการของคุณ)
  3. Enter.

22
ซึ่งจะแปลงเฉพาะช่องว่าง / แท็บชั้นนำเท่านั้น
Nigel Scott

13
สำหรับขั้นตอนที่ 1 คุณสามารถทำได้เช่นกันctrl+shift+p
AlexG

ดูคำตอบของฉันด้านล่างสำหรับการแปลงช่องว่าง / แท็บที่ไม่นำหน้า stackoverflow.com/a/51735845/263139
jrupe

7
ไม่มีคำตอบใดที่แปลงแต่ละแท็บเป็นจำนวนช่องว่างที่ถูกต้องและแตกต่างกันไป ตัวอย่างเช่นป้อนข้อความนี้แล้วแปลง: บรรทัดที่ 1: "A \ tB" บรรทัดที่ 2: "ABC \ tD"
typpo

ขอบคุณที่ฉันหลงทางในกระทู้เป็นเวลา 2 ชั่วโมงและนี่คือสิ่งที่ฉันต้องการ
Brian White

52

อีกวิธีในการทำคือคลิกการเยื้องปัจจุบัน (Tab / Spaces: n) ที่ส่วนท้ายซึ่งจะเปิดตัวเลือกการเยื้องขึ้นมาซึ่งคุณสามารถเลือกสิ่งที่คุณต้องการทำ ใส่คำอธิบายภาพที่นี่


9
สิ่งนี้จะแปลงเฉพาะแท็บในการเยื้องไม่ใช่ทุกแท็บ
David Given

38

หากคุณกำลังพยายามแปลงแท็บที่ไม่นำหน้าเป็นช่องว่าง (หรือในทางกลับกัน) คุณสามารถใช้การค้นหา regex และแทนที่ได้

  1. กด CTRL + H
  2. คลิก.*ปุ่มเพื่อค้นหาโดยใช้นิพจน์ทั่วไป
  3. ในการค้นหาแท็บให้ป้อน[\t]ในกล่องค้นหา
  4. ใส่ช่องว่างในกล่องแทนที่และทำการแทนที่

ช่องค้นหาในโหมด regex: ภาพหน้าจอของช่องค้นหา VSCode regex


21
สิ่งนี้จะแปลงแต่ละแท็บให้มีช่องว่างจำนวนเท่ากันซึ่งไม่ถูกต้อง
David Given

ใช้งานไม่ได้เพิ่มช่องว่างและทุกอย่างยุ่งเหยิง
Emmanual

สิ่งนี้มีประโยชน์มากหากคุณต้องการแปลงรูปแบบข้อมูลที่คั่นด้วยแท็บเป็นแบบคั่นด้วยจุลภาค :)
พันธุ์

6
  1. เลือกแทนที่: CTRL-H
  2. ป้อนแท็บแนวนอนในกล่องค้นหา: กด ATL และพิมพ์ 009 บนปุ่มกด
  3. ป้อนช่องว่าง (หรือช่องว่างเพิ่มเติม) ในกล่องแทนที่: กดแป้นเว้นวรรค
  4. กด Enter เพื่อเริ่มแทนที่แท็บด้วยช่องว่าง

1
สิ่งนี้ไม่ได้ผลสำหรับฉัน แต่ฉันโพสต์คำตอบไว้ด้านล่างเกี่ยวกับการทำเช่นนี้สำหรับช่องว่าง / แท็บที่ไม่ใช่ชั้นนำโดยใช้นิพจน์ทั่วไป
jrupe

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