จะมีรหัสห่อฟอร์แมตเตอร์ด้วย IntelliJ ได้อย่างไร?


137

ฉันไม่สามารถจัดรูปแบบรหัสของฉันใน IntelliJ

ฉันเห็นเส้นขอบ (โดยค่าเริ่มต้นที่ 120 คอลัมน์) แต่ดูเหมือนว่าการเปิดใช้งานจากเมนู:

รหัส -> รหัสการจัดรูปแบบใหม่

เป็นเพียงการละเว้นระยะขอบนี้

คำตอบ:


92

คุณหมายความว่าฟอร์แมตเตอร์ไม่แบ่งสายยาวใช่หรือไม่? ตรวจสอบการตั้งค่า / การตั้งค่าโครงการ / รูปแบบรหัส / การห่อ

อัปเดต: ใน IntelliJ เวอร์ชันที่ใหม่กว่าตัวเลือกจะอยู่ภายใต้การตั้งค่า / แก้ไข / สไตล์รหัส แล้วเลือกWrap when typing reaches right margin.


1
ไม่มีตัวเลือกนี้อีกต่อไปโดยใช้เวอร์ชัน 13.0.2 และปัญหายังคงอยู่ ..
ipolevoy

34
@ipolevoy ชื่อตัวเลือกคือ "ตรวจสอบให้แน่ใจว่าขอบด้านขวาไม่เกิน"
madhead

13
ตัวเลือก "ตรวจสอบให้แน่ใจว่าไม่เกินขอบด้านขวา" อยู่ใน File / Settings / Editor / Code Style / Java / Wrapping and Braces / Keep เมื่อทำการฟอร์แมตใหม่
Aaron

1
พวกนี้เปลี่ยนชื่อคีย์การตั้งค่าตลอดเวลา
ACV

สิ่งนี้ถูกต้อง แต่ในเวอร์ชันใหม่มีการเพิ่มตัวเลือกเพิ่มเติมเพื่อให้สามารถควบคุมสิ่งที่ห่อหุ้มได้ละเอียดขึ้น โปรดดูstackoverflow.com/a/52157389/1104581สำหรับคำตอบปัจจุบันที่ถูกต้อง
ipetrik

163

IntelliJ IDEA 14, 15, 2559 และ 2560

จัดรูปแบบรหัสที่มีอยู่

  1. ตรวจสอบให้แน่ใจว่าขอบด้านขวาไม่เกิน

    ไฟล์> การตั้งค่า> ตัวแก้ไข> รูปแบบโค้ด> Java> การห่อและวงเล็บปีกกา> ตรวจสอบให้แน่ใจว่าระยะขอบด้านขวาไม่เกิน

    การตั้งค่าไฟล์ ตรวจสอบระยะขอบที่ถูกต้อง

  2. ฟอร์แมตรหัส

    รหัส> จัดรูปแบบรหัส ...

    ฟอร์แมตรหัส

    หรือกดCtrl+ Alt+L

    คำเตือน หากคุณมีสิ่งนี้:

    thisLineIsVeryLongAndWillBeChanged();   // comment
    

    มันจะถูกแปลงเป็น

    thisLineIsVeryLongAndWillBeChanged();   
    // comment  
    

    แทน

    // comment  
    thisLineIsVeryLongAndWillBeChanged();   
    

    นี่คือเหตุผลที่ฉันเลือกชิ้นส่วนของโค้ดก่อนที่จะฟอร์แมตใหม่หากโค้ดดูเหมือนในตัวอย่างก่อนหน้านี้

ตัดเมื่อพิมพ์ถึงขอบขวา

  • IntelliJ IDEA 14 : ไฟล์> การตั้งค่า> ตัวแก้ไข> สไตล์โค้ด> ตัดเมื่อพิมพ์ถึงขอบขวา

    ตัดเมื่อพิมพ์

  • IntelliJ IDEA 15, 2016 & 2017 : ไฟล์> การตั้งค่า> ตัวแก้ไข> รูปแบบโค้ด> ตัดการพิมพ์

    ตัดการพิมพ์


5
ใช่ นี่คือคำตอบที่แท้จริงขอบคุณมาก! ประเด็นก็คือWrap when typing reaches right marginจะมีปัญหาอย่างมากเมื่อคุณเปลี่ยนบางสิ่งในบรรทัดที่ถูกพันไว้แล้ว คำตอบของคุณเพียงแค่ทำความสะอาดเมื่อมีการร้องขอ เมื่อรวมกับมาโคร "บันทึกและจัดรูปแบบ" นี่คือทองคำแท้!
avalancha

1
ฉันต้องการเพิ่มคำหลักหนึ่งคำที่นี่ซึ่งเป็นสิ่งที่ใคร ๆ อาจมองหา: นี่คือสิ่งที่เรียกว่าการห่อแบบแข็ง (ซึ่งต่างจากการห่อแบบนุ่ม - ดูความแตกต่างที่นี่ )
ฟ้อง

1
มีวิธีการที่จะมีจำนวนบรรทัดที่ถูกต้องแทนที่จะเป็นเพียงเพื่อให้แน่ใจว่าไม่เกินจำนวนสูงสุดหรือไม่? เช่นฉันพิมพ์บรรทัดยาว ๆ มันแบ่งออกเป็นสองบรรทัดจากนั้นฉันก็ลบบางอย่างในบรรทัดแรกและรวมสองบรรทัดกลับเป็นบรรทัดเดียว
user2259659

1
นอกจากนี้: ไม่มีคำแนะนำสำหรับ 2018.1
8bitjunkie

1
2017 "ปิดท้ายการพิมพ์" ไม่ทำงาน ข้อความยังคงข้ามเส้นและไม่มีอะไรเกิดขึ้นในการฟอร์แมตใหม่
tylik

17

การเปิดใช้ "ตรวจสอบให้แน่ใจว่าไม่เกินขอบด้านขวา" ไม่ได้ผลสำหรับฉันใน Intellij IDEA 2018.2 ฉันพบวิธีแก้ปัญหาแล้วเราจำเป็นต้องเปลี่ยนทุกองค์ประกอบด้านล่างจาก "อย่าห่อ" เป็น "ตัดถ้ายาว"

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

หลังจากนั้นเราสามารถดูได้ว่าจะเปลี่ยนประเภทการห่อแบบใดโดยดูในแผงด้านขวา หากพอใจแล้วให้คลิก "ตกลง" หรือ "นำไปใช้" เพื่อใช้การเปลี่ยนแปลง ในที่สุดเราก็ต้องการรูปแบบแมนนวลโดยใช้ CTRL+ ALT+ Lใน Windows และCommand+ Shift+ Lใน MacOS


นี่เป็นปัญหาสำหรับฉันเช่นกัน หากช่องทำเครื่องหมายนั้นถูกตั้งค่าไว้ แต่ส่วนที่เหลือจะถูกปล่อยให้เป็นค่าเริ่มต้น IntelliJ จะพยายามตัดบรรทัด แต่ทำไม่ได้เนื่องจากทุกอย่างถูกตั้งค่าเป็น "ห้ามตัด"
โจร

12

หรือคุณสามารถใช้ทางลัด:

Ctrl + Alt + L


4
คุณช่วยโพสต์ชื่อการกระทำนี้ (การตั้งค่า -> คีย์แมป) ได้ไหม ใน Linux ส่วนใหญ่จะใช้ชุดค่าผสม CTRL + ALT + L เพื่อบล็อกคอมพิวเตอร์ ฉันใช้ "ค้นหาการดำเนินการโดยทางลัด" ไม่ได้ด้วยซ้ำ
tomrozb

2
@tomrozb ทางลัดนี้มีไว้สำหรับรหัส -> รหัสฟอร์แมต
AtomHeartFather

1
ที่ล็อกหน้าจอของฉัน
8bitjunkie

4

ในการตัดข้อความในโปรแกรมแก้ไขโค้ดในชุมชน IntelliJ IDEA 2020.1 ให้ทำตามขั้นตอนเหล่านี้:

Ctrl + Shift + "A" OR Help -> Find Action
Enter: "wrap" into the text box
Toggle: View | Active Editor Soft-Wrap "ON"

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


3

คุณสามารถสร้างมาโครสำหรับCtrl + Shift + S (เช่น) ที่ทำสิ่งเหล่านี้:

แก้ไข> มาโคร> เริ่มการบันทึกมาโคร (การบันทึกจะเริ่มขึ้น) คลิกที่ที่คุณต้องการ

ตัวอย่างเช่น:

Code > Reformat Code
Code > Auto-Indent Lines
Code > Optimize Imports
Code > Rearrange Code
File > Save All
... (all that you want)

จากนั้นคลิกที่ปุ่มสีแดงที่ด้านล่างขวาของ IDE เพื่อหยุดการบันทึกมาโคร

ตั้งชื่อมาโคร

ไปที่ไฟล์> การตั้งค่า> แมโคร> ชื่อแมโครของคุณ

คลิกขวา> เพิ่มแป้นพิมพ์ลัดแล้วพิมพ์ Ctrl + Shift + S


นี่เป็นคุณสมบัติพื้นฐานของ IDE มาโครเป็น OTT และซับซ้อนเกินไปสำหรับบางสิ่งที่เรียบง่าย
8bitjunkie

2

ใน Intellij เวอร์ชั่นล่าสุดปี 2020 เรามีตัวเลือกที่เรียกว่า soft-wrap ไฟล์เหล่านี้ Settings -> Editor -> General -> soft-wrap ไฟล์เหล่านี้ เลือกตัวเลือกนี้และเพิ่มประเภทของไฟล์ที่คุณต้องการห่อ

ตัวเลือก intellij ห่อนุ่ม

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