ลบช่องว่างต่อท้ายเมื่อบันทึกใน IntelliJ IDEA 12


97

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


1
คุณควรยอมรับคำตอบโดยสมมติว่ามีการตั้งค่าอยู่ใน IntelliJ 12 ด้วย (และเนื่องจากเป็นวันที่ 11 และ 13 ฉันจึงถือว่าเป็นวันที่ 12)
Chris Arena

คำตอบ:


154

ไม่รู้เกี่ยวกับ 12 แต่มีการตั้งค่าต่อไปนี้ใน 13:

การตั้งค่า→ตัวแก้ไข→ตัดช่องว่างต่อท้ายในบันทึก

ของ IntelliJ 2017.2 อยู่ภายใต้

การตั้งค่า→ตัวแก้ไข→ทั่วไป→ตัดช่องว่างต่อท้ายในบันทึก

บทสนทนาการกำหนดค่า


13
มีปรากฏเป็นข้อผิดพลาดใน IDEA (รวมอย่างน้อย v13.1.4 ผมใช้ตอนนี้) ที่จะแม้จะมีสิ่งที่คุณเลือกในการตั้งค่าดังกล่าวข้างต้นยังคงบันทึกช่องว่างต่อท้ายในบรรทัดที่เคอร์เซอร์อยู่ในตำแหน่ง ตัวอย่างเช่นหากคุณคลิกที่ท้ายบรรทัดใด ๆ และกด<tab>สองสามครั้งแล้วบันทึก (หรือเปลี่ยนไปใช้แอพอื่นที่เปิดใช้งานการบันทึกอัตโนมัติ) บรรทัดนั้นจะถูกบันทึกโดยเว้นวรรคต่อท้ายเหมือนเดิม ทันทีที่คุณเลื่อนเคอร์เซอร์ออกจากบรรทัดและบันทึกใหม่ช่องว่างจะหายไป
Scott Dudley

4
มันเป็นปี 2016 และข้อบกพร่องนั้นยังคงมีอยู่
Cassio Pereira

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

4
ฉันไม่แน่ใจว่ามันถูกนำมาใช้เมื่อใด แต่ ณ วันนี้ตอนนี้มีตัวเลือกการตั้งค่าที่ช่วยให้คุณสามารถเปลี่ยนลักษณะการทำงานนี้ได้: ช่องทำเครื่องหมายที่ระบุว่า "เว้นช่องว่างต่อท้ายเสมอบนเส้นคาเร็ต" ซึ่งอยู่ใต้ "แถบต่อท้าย ช่องว่างในตัวเลือกบันทึก "
MaxML

4
ฉันเปลี่ยนการตั้งค่าใน Intellij แต่ก็ยังใช้ไม่ได้
Ian S

4

ในปี 2020.1 เวอร์ชัน IntelliJ:

ไฟล์ -> การตั้งค่า -> ตัวแก้ไข -> ทั่วไป -> จากนั้นเลื่อนลงไปที่ "บันทึกไฟล์"

ตัดช่องว่างต่อท้ายในตัวเลือกบันทึก


1

ไปที่ ==> ค่ากำหนด | ทั่วไป | อื่น ๆ |

ตามที่แสดงในภาพ:

  1. Srip trailings space on Save: ALL
  2. ยกเลิกการเลือก Allways keep ....

มันจะลบช่องว่างต่อท้ายเมื่อบันทึกไม่ใช่ก่อนหน้านี้

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


0

เพิ่มเครื่องมือภายนอก เมื่อโปรแกรมผ่าน/usr/bin/sed(อาจแตกต่างกันในกล่องของคุณให้เรียกใช้which sedเพื่อค้นหา) และใส่-i 's/[[:space:]]\+$//' $FilePath$พารามิเตอร์ในพารามิเตอร์ โดยรวมแล้วคำสั่งที่คุณต้องการให้ IntelliJ เรียกใช้คือ

/usr/bin/sed -i 's/[[:space:]]\+$//' <your current file>

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

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