โปรแกรมแก้ไขข้อความ Atom ลบช่องว่างต่อท้ายเมื่อบันทึก


116

ฉันใช้Sublime text. Atomตอนนี้ผมกำลังพยายาม เมื่อฉันบันทึกไฟล์ใด ๆ ในข้อความประเสริฐจะไม่มีบรรทัดว่างต่อท้าย แต่การบันทึกไฟล์ใด ๆ ในAtomบรรทัดว่างต่อท้าย ฉันจะบังคับAtomไม่ให้เว้นช่องว่างสีขาวต่อท้ายได้อย่างไร


3
Atom ยึดติดกับคำจำกัดความ POSIX ของบรรทัดโดยค่าเริ่มต้น: "A sequence of zero or more non- <newline> characters plus a terminating <newline> character." - stackoverflow.com/questions/729692
sepehr

คำตอบ:


191

ภายใต้ Atom ของคุณPreferencesไปที่แท็บและค้นหาPackages whitespaceคลิกที่whitespaceแพ็คเกจและยกเลิกการEnsure Single Trailing Newlineเลือกตัวเลือก

ใส่คำอธิบายภาพที่นี่


30
ฉันคิดว่ามันจะดีกว่านี้ถ้าเราเปิด "ละเว้นช่องว่างในบรรทัดปัจจุบัน" การดำเนินการนี้จะลบช่องว่างต่อท้ายของบรรทัดปัจจุบันในเวลาที่บันทึกไฟล์
Gagan

ข้อความนี้จะคลุมเครืออีกไหม ฮ่า ๆ - ฉันดีใจมากที่มี Atom มายุ่งกับความแตกต่างของไฟล์ที่ยาวเพราะนักพัฒนาคนอื่นปล่อยให้ช่องว่างต่อท้ายบางส่วนเท่านั้นที่จะพบว่าไม่สามารถค้นหาการตั้งค่านี้ตามชื่อได้ ฟิ้ว .. ใครสังเกตว่าชื่อเปลี่ยนจาก Package เป็น Settings?
jcalfee314

5
อาจจะเป็นการตั้งค่าใหม่ แต่มีRemove Trailing Whitespaceช่องทำเครื่องหมายที่ด้านล่างของsettingsส่วนนี้ การยกเลิกการเลือกจะรักษาช่องว่างต่อท้ายทั้งหมด
bluecollarcoder

19

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

'.text.html.php': # php overrides
  whitespace:
    ensureSingleTrailingNewline: false
    removeTrailingWhitespace: false

'.source.ruby': # ruby overrides
  whitespace:
    ensureSingleTrailingNewline: false
    removeTrailingWhitespace: false

หากต้องการดูขอบเขตของภาษาให้ไปที่Packagesแท็บและค้นหาภาษาของคุณ

คลิกที่การตั้งค่าของแพ็คเกจภาษาและคุณจะเห็นขอบเขต:


1
คำตอบของคุณมีรายละเอียดมากกว่าเอกสารอย่างเป็นทางการที่github.com/atom/whitespaceขอบคุณที่สละเวลาเขียนสิ่งนี้! :-) ฉันชอบที่จะกำหนดค่าอะตอมด้วยวิธีนี้ แต่ฉันไม่สามารถใช้งานได้อะตอมยังคงเปลี่ยนบรรทัดใหม่สองบรรทัดต่อท้ายให้เป็นหนึ่งเดียวในไฟล์ jinja2 ของฉัน ขอบเขตคือ.text.html.jinjaconfig ตรงกับของคุณ แต่ใช้ไม่ได้ ทั่วโลกแล้ว :-(
ssc

ภาพแสดงวิธีค้นหาขอบเขตมีประโยชน์อย่างยิ่ง ตั้งแต่นั้นมาฉันก็พบขอบเขตที่แสดงรายการในตัวเลือกไวยากรณ์ (โดยค่าเริ่มต้นทางด้านขวาของส่วนท้ายบรรทัดหมายเลขบรรทัดและการเข้ารหัสที่ด้านล่างของหน้าต่างหรือด้วยทางลัดเริ่มต้นctrl+shift+L)
Steve

9

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

การตั้งค่า ภาพหน้าจอการตั้งค่า

ช่องทำเครื่องหมาย ภาพหน้าจอช่องทำเครื่องหมาย


0

เพื่อเพิ่มการตอบแดน Moldavan ของ

ฉันประสบปัญหานี้เมื่อทำงานกับแอปพลิเคชัน Rails

ฉันเพิ่ม.editorconfigไฟล์ที่มีคุณสมบัติดังต่อไปนี้:

# editorconfig.org

root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

และฉันเพิ่ม.gitattributesไฟล์ที่มีคุณสมบัติต่อไปนี้:

# Enforce Unix newlines
* text=auto eol=lf

จากนั้น Atom Editor ของฉันก็เกิดปัญหา:

1 ปัญหาที่ส่งผลต่อ. gitattributes

ช่องว่าง: เป็นไปได้ว่า "ช่องว่าง" - แพคเกจป้องกันไม่ให้คุณสมบัติต่อไปนี้ทำงานได้อย่างน่าเชื่อถือ: insert_final_newline, trim_trailing_whitespace คุณอาจลองกำหนดค่าใหม่หรือปิดใช้งาน "ช่องว่าง" - แพ็กเกจเพื่อแก้ไขปัญหา

นี่คือวิธีที่ฉันแก้ไข :

  • เปิด Atom Editor ของคุณ
  • ไปที่แก้ไข> การตั้งค่า> แพ็คเกจ
  • พิมพ์ช่องว่าง
  • คลิกที่แพ็คเกจที่ปรากฏขึ้น
  • ยกเลิกการเลือกสิ่งต่อไปนี้:
    • ตรวจสอบบรรทัดเดียวต่อท้าย
    • ละเว้นช่องว่างบนบรรทัดปัจจุบัน
  • ออกจากละเว้นช่องว่างเพียงเส้น unticked

ภาพหน้าจอของการแก้ไข

บันทึกและปิดการตั้งค่า

นั่นคือทั้งหมด

ฉันหวังว่านี่จะช่วยได้

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