วิธีการเยื้อง / จัดรูปแบบโค้ดที่เลือกใน Visual Studio Code ด้วย Ctrl + Shift + F


119

ฉันต้องการเยื้องส่วนเฉพาะของโค้ดใน Visual Studio Code

ฉันอ่านคุณจัดรูปแบบโค้ดใน Visual Studio Code ได้อย่างไรที่ให้ทางลัดในการเยื้องรหัสทั้งหมด แต่จะไม่ทำงานเมื่อเลือกส่วนเฉพาะของโค้ด

ฉันลองCtrl+ Shift+ Fหลังจากเลือกบางบรรทัดในโค้ดของฉัน แต่ไฟล์ทั้งหมดเยื้อง ฉันใช้ Windows ด้วย Visual Studio Code Insider 1.8.0 ฉันจะทำมันได้อย่างไร?

คำตอบ:


187

ฉันต้องการเยื้องส่วนเฉพาะของโค้ดใน Visual Studio Code:

  • เลือกเส้นที่คุณต้องการเยื้องและ
  • ใช้Ctrl+ ]เพื่อเยื้อง

หากคุณต้องการจัดรูปแบบส่วน (แทนที่จะเยื้อง):

  • เลือกเส้นที่คุณต้องการจัดรูปแบบ
  • ใช้Ctrl+ K, Ctrl+ Fเพื่อจัดรูปแบบ

9
Shift + Alt + F สามารถใช้สำหรับการจัดรูปแบบ (แพลตฟอร์ม Windows)
SridharKritha

2
แล้ว OSX ล่ะ?
GreenAsJade

3
@GreenAsJade บน MacOS Cmd+ ](เยื้อง) และCmd+ [(ยกเลิกการเยื้อง) ใช้ได้กับฉัน
Alex Johnson

2
@AlexJohnson ขอโทษฉันถามเกี่ยวกับสิ่งที่เกี่ยวกับเส้นที่เลือกรูปแบบ OSX
GreenAsJade

1
@GreenAsJade บน MacOS รูปแบบเส้นที่เลือกคือCmd+ K Cmd+ F
Bogatyr

134
  • คุณยังสามารถเยื้องส่วนทั้งหมดได้โดยการเลือกและคลิก TAB
  • และเยื้องไปข้างหลังโดยใช้Shift+TAB

และแน่นอนสำหรับการเยื้องและการจัดรูปแบบอัตโนมัติตามภาษาที่คุณใช้คุณสามารถดูได้ว่าส่วนขยายใดที่ทำงานได้ดีและรูปแบบใดที่จะติดตั้งหรือการตั้งค่าพารามิเตอร์ใดที่จะเปิดใช้งานหรือตั้งค่าสำหรับแต่ละภาษาและเครื่องมือที่มีอยู่ เพียงตรวจสอบให้แน่ใจว่าได้อ่านเอกสารของส่วนขยายอย่างละเอียดเพื่อติดตั้งและตั้งค่าสิ่งที่ต้องการทั้งหมด

ถึงตอนนี้ปัญหาการเยื้องทำให้ฉันรำคาญกับ Python เมื่อคัดลอกวางบล็อกโค้ด หากเป็นเช่นนั้นต่อไปนี้คือวิธีแก้ปัญหา: Visual Studio Code เยื้องสำหรับ Python


4
สิ่งนี้ใช้ไม่ได้ใน VS Code สำหรับฉันการกดแท็บในขณะที่เลือกข้อความเพียงแค่เพิ่มแท็บที่เคอร์เซอร์ของฉันอยู่
Abe Fehr

1
ฉันคิดว่าคุณเลือกเพียงบางส่วนของข้อความบรรทัดเดียว เพื่อให้ได้ผลคุณก็มีกรณีเช่นกัน: คุณได้เลือกหลายบรรทัดและในกรณีนี้มันไม่สำคัญว่าคุณจะเลือกมากแค่ไหนก็จะใช้ได้ อีกกรณีหนึ่งคือการเลือกทั้งบรรทัดที่จะทำงานด้วย หากคุณเลือกเพียงบางส่วนจากหนึ่งบรรทัดพฤติกรรมคือแท็บจะถูกแทรกเข้าไปแทนที่ข้อความที่เลือก ฉันทดสอบทั้งในระบบ windows และ linux ตรวจสอบว่ามันเหมือนกันกับคุณหรือมีบางอย่างผิดปกติกับ config ของคุณ
Mohamed Allal

9

ใน OS X ให้เลือก "รูปแบบเอกสาร" และเลือกทุกบรรทัดที่คุณต้องการจัดรูปแบบ

แล้วOption+ +ShiftF


นี่คือคำตอบที่ถูกต้อง ฉันไม่เข้าใจว่าเหตุใดจึงมีการโหวตมากกว่า 50 รายการสำหรับบางสิ่งที่ไม่ตอบคำถาม เป็นไปได้บอท ????
Wildhammer

3
ดูเหมือนว่าจะทำทั้งไฟล์ไม่ใช่การเลือก :(
GreenAsJade

มันทำงานได้อย่างถูกต้อง ฉันมี macbook air 2019 แป้นพิมพ์แตกต่างจากรุ่นเก่าของฉัน (ฉันเคยเป็น CMD + [หรือ]) ฉันมองหาทางลัดนี้สำหรับแป้นพิมพ์ใหม่ และมันคือสิ่งที่ฉันกำลังมองหา นอกจากนี้ยังใช้งานได้สำหรับการเลือก ขอบคุณ.
LuizEduardoMPF

4

สิ่งนี้ควรจะสามารถตั้งค่าการเชื่อมโยงคีย์ใดก็ได้ที่คุณต้องการสำหรับการเยื้อง / ออกที่นี่:

ไฟล์เมนู→ ค่ากำหนดแป้นพิมพ์ลัด

editor.action.indentLines

editor.action.outdentLines


ขอบคุณ! ฉันถูกค้นหาแป้นพิมพ์ลัดสำหรับdedent(ซึ่งเราใช้ใน codebase ของเรา) outdentแต่มัน ขอบคุณ.
sming

3

(ใช้งานได้อย่างน้อยจนถึงเวอร์ชัน 1.45.0, 7 พฤษภาคม 2020)


บน macOS Visual Studio Code เวอร์ชัน 1.36.1 (2019)

Visual Studio Code เวอร์ชัน 1.36.1 (2019)

ในการจัดรูปแบบการเลือกโดยอัตโนมัติให้ใช้⌘K⌘F (เคล็ดลับคือต้องทำตามลำดับ⌘Kก่อนตามด้วย⌘F)

การเลือกรูปแบบอัตโนมัติหรือเอกสาร

ในการเยื้อง (เลื่อนไปทางขวา) โดยไม่ต้องจัดรูปแบบอัตโนมัติให้ใช้⌘]

ตัวเลือกการเยื้อง

เช่นเดียวกับในแป้นพิมพ์ลัด (⌘K⌘Sหรือจากเมนูดังที่แสดงด้านล่าง)

แป้นพิมพ์ลัด


1
ขอบคุณสำหรับ "เคล็ดลับ" ใจแทบขาดเพราะalt/option + fใช้ทางลัดได้ผล !!! และทันใดนั้นมันก็ถูกแทนที่ด้วยอักขระ "̰" น่ารำคาญมาก!
Glenn Posadas

ดีใจที่ช่วยคุณ Glenn
มงคล 99

1

F1 →เปิดแป้นพิมพ์ลัด→ค้นหา 'เยื้องบรรทัด' และเปลี่ยนการผูกแป้นเป็น Tabและการเปลี่ยนแปลงปุ่มลัดเพื่อ

คลิกขวา> "เปลี่ยนเมื่อนิพจน์" เป็น editorHasSelection && editorTextFocus && !editorReadonly

จะช่วยให้คุณสามารถเยื้องบรรทัดเมื่อมีการเลือกบางสิ่งในบรรทัดนั้น (หลายบรรทัดยังคงใช้งานได้)


"F1"? คุณหมายถึงเมนูFilePreferences ?
Peter Mortensen

ฉันหมายถึงการเปิดพาเลทคำสั่ง ลืมชื่อและฉันจำทางลัดเริ่มต้นได้ขอโทษ!
nevrast

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