การเยื้องรหัสใน Sublime text 2?


500

ใน Visual Studio ฉันสามารถกดCtrl+ K+ Dเพื่อเยื้องทุกอย่างเพื่อให้รหัสมีโครงสร้างอย่างชัดเจนและสามารถอ่านได้ มีทางลัดใน Sublime 2 เพื่อทำสิ่งเดียวกันหรือไม่?


4
นี่คือการเยื้องอัตโนมัติไม่ใช่การจัดรูปแบบอัตโนมัติ
Muhammad Umer

คำตอบ:


843

คุณสามารถค้นหาได้ในEdit→การLine→การReindentแต่ก็ไม่ได้มีทางลัดโดยการเริ่มต้น คุณสามารถเพิ่มทางลัดโดยไปที่เมนูPreferences→การKeybindings→การUserแล้วเพิ่มที่นั่น

{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} }  

(ตัวอย่างของการใช้F12คีย์สำหรับฟังก์ชันการทำงานนั้น)

ไฟล์กำหนดค่าใช้ไวยากรณ์ JSON ดังนั้นเครื่องหมายปีกกาหยิกเหล่านี้จะต้องถูกวางด้วยเครื่องหมายจุลภาคคั่นในวงเล็บเหลี่ยมที่มีอยู่ตามค่าเริ่มต้น หากคุณไม่มีการผูกคีย์อื่น ๆ อยู่แล้วไฟล์Keybindings→→ ทั้งหมดของคุณUserจะมีลักษณะเช่นนี้แน่นอน:

[
    { "keys": ["f12"], "command": "reindent", "args": {"single_line": false}}
]

28
แท็บ + Alt? ใช้สำหรับสลับหน้าต่าง!
Bernd Elkemann

1
อ๊ะ! มันแสดงให้เห็นว่าฉันอยู่บน Mac อาจเป็นแท็บ windows_key + ใช่ไหม
gdelfino

3
@ NunoGonçalvesเมนูไม่แสดงทางลัดใหม่ แต่ควรใช้งานได้ ตรวจสอบว่าการตั้งค่าของคุณ - Keybindings-User มีบรรทัดเหล่านั้นอย่างแน่นอนและบันทึกไฟล์นั้น ตรวจสอบให้แน่ใจว่า ST ทราบชนิดของไฟล์ / ไวยากรณ์ที่ควรใช้ (ไวยากรณ์ของคุณเน้นถูกต้องหรือไม่) หากยังไม่สามารถใช้งานได้ให้ลองใช้คีย์อื่น (เช่น "f8" ดูเหมือนว่าไม่ได้ใช้) หากไม่สามารถใช้งานได้ให้ตรวจสอบว่าการโยงคีย์ที่ผู้ใช้กำหนดถูกปิดการใช้งานด้วยเหตุผลบางประการ
Bernd Elkemann

2
เมื่อไม่ได้ทำอะไรเลยมันก็เริ่มทำงาน :) ฉันคิดว่าปัญหาอยู่ระหว่างคีย์บอร์ดและเก้าอี้ตลอด :) ขอบคุณ :)
Nuno Gonçalves

1
{"keys": ["f12"], "command": "reindent", "args": {"single_line": false}} จะรวมเอกสารทั้งหมดโดยไม่จำเป็นต้องเลือกสิ่งที่คุณต้องการ
Alexis

277

คำสั่ง reindent ใช้ได้กับบรรทัดที่เลือกในปัจจุบันเท่านั้นยกเว้นอาร์กิวเมนต์ "single_line" จะถูกตั้งค่าเป็นเท็จ

{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} }

ตอนนี้การกดf12จะรวมเนื้อหาทั้งหมดอีกครั้ง


2
"บรรทัดปัจจุบัน" สามารถเลือกได้หลายบรรทัด
กาการีน

4
นี่ควรเป็นคำตอบที่ได้รับการยอมรับ (หรืออย่างน้อยก็ถูกรวมเข้ากับคำตอบที่ยอมรับ) เนื่องจากใน Visual Studio Ctrl + K + D จะทำการฟอร์แมตเอกสารทั้งหมดอีกครั้ง
Jedidja

14
สลับออก ["f12"] สำหรับ ["ctrl + k", "ctrl + d"] สำหรับคอร์ดแบบกดสองครั้ง
Fabian Tamp

25
[{"keys": ["ctrl + shift + f"], "command": "reindent", "args": {"single_line": false}}] นี่คือการปรับแต่งของฉันขอบคุณมาก !!!
duykhoa

1
ขอบคุณสำหรับ "plus" ("args": {"single_line": false}) มีประโยชน์มาก!
อาเธอร์

32

ดูเหมือนจะไม่มีใครรักการเยื้องแมคดังนั้นที่นี่ฉันจะทำอย่างไร:

[
   { "keys": ["command+shift+i"], "command": "reindent"}
]

ในค่ากำหนด> การโยงคีย์ - ผู้ใช้

อีกหนึ่งเคล็ดลับพิเศษ: เพิ่ม

{ "keys": ["command+0"], "command": "focus_side_bar" }

ที่จะมีการนำทางมุมมองต้นไม้ไฟล์แถบด้านข้างโดยใช้แป้นพิมพ์

หมายเหตุ: เพิ่มในตอนท้ายของแต่ละ {} หากคุณมีชุดของวัตถุมากกว่าหนึ่งชุด {}


โปรดอย่าใช้เครื่องหมายจุลภาค (,) ท้ายคำสั่ง มันทำให้ฉันมีข้อผิดพลาด พิมพ์โดยไม่มีเครื่องหมายจุลภาค (,)
Gihanmu

1
หากคุณไม่ใช่ผู้ใช้ Mac ให้ใช้ ctrl แทนคำสั่ง {"keys": ["ctrl + shift + i"], "command": "reindent"}
Juraj Petrik

29

ไม่มีทางลัดเริ่มต้นสำหรับการรวมไฟล์อีกครั้ง อย่างไรก็ตามคุณสามารถสร้างได้โดยทำตามคำตอบของeznmeด้านบน

คุณยังสามารถใช้Command Paletteโดยกด:

  1. Control+ Shift+ P(หรือ+ Shift + Pบน Mac)
  2. พิมพ์อักขระสองสามตัวแรกของReindentเช่น:rein
  3. กดEnterเพื่อเรียกใช้คำสั่ง
    ( คำสั่งแรกที่ด้านบนในขณะนี้ควรแสดงการเยื้อง: เส้นเรนเดอร์ )

19

สำหรับผู้ที่สนใจสามารถเปลี่ยนแปลงได้ง่าย แต่สำหรับคนรัก Netbeans และรูปแบบอัตโนมัติคุณสามารถเปลี่ยนการเชื่อมโยงคีย์จากF12เป็นctrl+ shift+ Fเพื่อใช้การเชื่อมโยงคีย์ที่คุณรัก ส่วนที่น่าเศร้าคือคุณต้องเลือกทั้งหมดเพื่อจัดรูปแบบไฟล์ทั้งหมด Netbeans ยังคงมีส่วนบน หากใครรู้วิธีที่จะเอาชนะข้อ จำกัด ที่ฉันหูทั้งหมด มิฉะนั้นก็มีความสุขในการกลับมาค้นหาคำใหม่


4
ไม่แน่ใจว่าใครยังคงมองหาสิ่งนี้ แต่เพื่อตอบสนองต่อ @jeff ใช้ "args": {"single_line": false} หลังจากเพิ่มคำสั่งแล้วคุณไม่จำเป็นต้องเลือกบรรทัดเพื่อจัดรูปแบบ มันจัดรูปแบบเอกสารทั้งหมดสำหรับคุณ (นิคใส่คำสั่งคนโง่)
นาย H

ทางลัด NetBeans คือ Alt + Shift + F (โดยค่าเริ่มต้น Ctrl + Shift + F เปิดการค้นหาโครงการ) และมีข้อ จำกัด และไม่จำเป็นต้องสมเหตุสมผล (CSS ไม่ทำงานและอาจเก็บบรรทัดรหัสใหม่ในบรรทัดเดียวกัน) ทางลัดของ Eclipse คือ Ctrl + Shift + F และดีกว่าในบางวิธีและใช้งานได้กับ CSS แต่ยังคงมีปัญหากับบรรทัดโค้ดใหม่ ทั้งคู่มีปัญหาเกี่ยวกับบรรทัดใหม่สำหรับแอตทริบิวต์ภายใน (เช่นใน HTML) แม้ว่าคุณจะสามารถกำหนดค่าได้บ้าง (เพิ่มเติมใน Eclipse)
Davicus

cmd + a บน mac หรือ ctrl + a บน windows จะเลือกข้อความทั้งหมดให้คุณโดยอัตโนมัติในหน้าต่างปัจจุบัน ดังนั้นทำเช่นนั้นแล้วสิ่งที่มีผลผูกพันที่สำคัญที่คุณเลือกสำหรับการเยื้องอัตโนมัติเพื่อจัดรูปแบบไฟล์ทั้งหมด
137717

16

เมื่อต้องการเยื้องด้วยคีย์เดียวกันเช่น Visual Studio Ctrl+ K+ D(ฉันเป็นผู้ใช้ Visual Studio ดังนั้นฉันจึงคุ้นเคยกับการรวมกันนี้) ฉันแนะนำ:

[
{ "keys": ["ctrl+k", "ctrl+d"], "command": "reindent", "args": {"single_line": false} }
]

เขียนสิ่งนี้ในค่ากำหนด> การโยงคีย์ - ผู้ใช้



6

Netbeans เช่นคีย์ลัด

ไปPreferences> Key Bindings> Userและเพิ่มรหัสด้านล่าง:

[
    { "keys": ["ctrl+shift+f"], "command": "reindent", "args": {"single_line": false} }
]

การใช้

Ctrl+ Shift+F


6

เลือกรหัสทั้งหมดที่คุณตั้งใจจะเยื้องจากนั้นกดCtrl+ ]ในข้อความ Sublime เพื่อเยื้อง

สำหรับผู้ใช้ macOS ใช้command+ ]เพื่อเยื้องและcommand+ [เพื่อไม่เยื้อง


4

รหัสการจัดรูปแบบ

ใช้งานง่าย


1.Install


2. กดctrl+ alt+ f(ค่าเริ่มต้น)


แค่นั้นแหละ.


ไม่ได้ผลสำหรับฉันมันแค่ปิดการใช้งานการเยื้องในทุกบรรทัด

ฉันใช้มันมานานพอสมควร แต่มันก็ดีขึ้น คือการติดตั้งที่ประสบความสำเร็จ
HIRA THAKUR

1
แน่นอนใช่ฉันใช้มันกับตัวอย่าง HTML ... ทุกบรรทัดมีการเยื้องของพวกเขาออก กำลังมองบทกวี ... :(

2

ข้างของ inbuilt 'reindent' ฟังก์ชั่นนี้คุณยังสามารถติดตั้งปลั๊กอินอื่น ๆ เช่นSublimeAStyleFormatterและCodeFormatter ปลั๊กอินเหล่านี้ดีกว่าสำหรับภาษาที่ระบุ


2

ในกรณีที่การหยุดทำงานสำหรับทุกคนอย่างฉันใน OS X นั้นคีย์คำสั่งถูกระบุว่าเป็น superดังนั้นจึงควรทำสิ่งนี้:

[
    {
    "keys": ["super+i"], 
    "command": "reindent", 
    "args": {
        "single_line": 
        false}
    } 
]

ในกรณีนี้การใช้command+ iจะเป็นการเยื้องรหัสทั้งหมดของคุณ (eclipse like :))


1

ฉันเคยใช้Alt+ Shift+ Fใน NetBeans ฉันได้ตรวจสอบแล้วและไม่มีการชนกันของแถวลำดับหลักของ sublime ดังนั้นฉันจึงเพิ่มลงในประเสริฐของฉันและฉันใช้มันโดยไม่มีปัญหา


1

สำหรับผู้ที่ชอบการผูกคีย์เริ่มต้นสำหรับIntelJ IDEAให้เลือกการตั้งค่า > การตั้งค่า - ผู้ใช้ :

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

และวางในรายการต่อไปนี้เพื่อให้มีcommand+ shift+ lทางลัดสำหรับย่อหน้าอัตโนมัติ:

[
   { "keys": ["command+shift+l"], "command": "reindent"}
]

1

คุณสามารถเพิ่มทางลัดได้โดยไปที่เมนูการตั้งค่าปุ่มลัดผู้ใช้จากนั้นเพิ่ม:

{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} }  

0

สำหรับการจัดรูปแบบอัตโนมัติในข้อความ Sublime 2: ติดตั้งแพคเกจ: แท็กจาก Command Palette จากนั้นไปที่ Edit -> Tag -> แท็กรูปแบบอัตโนมัติบนเอกสาร


0

เลือกทุกอย่างหรือสิ่งที่คุณต้องการอีกเยื้องและทำAlt+ E+ +L Rมันเร็วและไม่เจ็บปวดจริงๆ


0

นี่คือการกำหนดค่าของฉันสำหรับ sublime-keymap:

[
  {
    "keys": [",+=+="],
    "command": "reindent",
    "args": {
      "single_line": false
    }
  }
]

สำหรับคนที่เป็นกลุ่มเพียงใช้,==reindent ไฟล์ทั้งหมด


0
{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} } 

คุณสามารถรับตัวเลือก reindent ได้โดยใช้รหัสด้านบน


0

ก่อนเปิดข้อความประเสริฐ
กว่าเปิดการตั้งค่า
กว่าเปิดกุญแจผูกของผู้ใช้
กว่าใส่รหัสด้านล่าง

[{"keys": ["ctrl + shift + c"], "คำสั่ง": "reindent"},]

ฉันใช้CtrlShiftCและคุณยังใช้ปุ่มลัดอื่น ๆ

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