Visual Studio Code: วิธีแสดงการสิ้นสุดบรรทัด


210

ฉันจะแสดง lineendings (CR, LF) ใน Visual Studio Code ได้อย่างไร (ไม่ใช่ใน Visual Studio)

ฉันใช้การตั้งค่าต่อไปนี้ แต่ไม่แสดงการจบบรรทัด

"editor.renderWhitespace": true,
"editor.renderControlCharacters": true,
"editor.renderIndentGuides": true

มีการตั้งค่าสำหรับ lineendings หรือไม่?

แก้ไข 1:ฉันได้เปิดปัญหาใน GitHub: https://github.com/Microsoft/vscode/issues/12223

แก้ไข 2: Soham Kamani สร้างส่วนขยายสำหรับสิ่งนี้: code-eol


16
ผมได้ทำส่วนขยายสำหรับการนี้ในกรณีที่คุณยังคงต้องมันmarketplace.visualstudio.com/...
Soham Kamani

@SohamKamani ความคิดเห็นของคุณควรเป็นคำตอบที่ได้รับการยอมรับสำหรับคำถาม
Nicolas Seiller

ส่วนขยายนั้นไม่มีประโยชน์: มันไม่ได้แสดงจริง ๆ ว่าตัวละครเป็น carriage return หรือ line feed มันแค่สร้าง glyphs ที่ท้ายบรรทัดซึ่งตรงกับที่ vscode บอกว่าไฟล์นั้นเป็นอะไร มันไม่ได้ช่วยระบุไฟล์ที่มีรูปแบบการผสมปลายทางแบบผสม (นั่นคือ vscode ทำการปรับ EOL ของไฟล์ให้เป็นปกติโดยอัตโนมัติซึ่งจะทำให้ส่วนขยายใด ๆ ของเอฟเฟกต์นี้ไม่มีประโยชน์)
Tustin2121

คำตอบ:


341

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

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


15
คุณสามารถเปลี่ยนค่าเริ่มต้นสำหรับสิ่งนี้ได้ไหม ตอนนี้ทุกครั้งที่ฉันเปิดไฟล์ฉันต้องคลิกด้วยตัวเอง
David Martinez

16
@DavidMartinez ใช่ ในการตั้งค่าผู้ใช้หรือเวิร์กสเปซ: // ค่าเริ่มต้นของอักขระบรรทัดสุดท้าย "files.eol": "\ r \ n",
Llewey

4
@Llewey แต่นี่เป็นการเปลี่ยนแปลงระดับโลกใช่มั้ย ฉันสามารถตั้งค่าได้เฉพาะ.shไฟล์เท่านั้นหรือไม่?
Kostas Demiris

@KostasDemiris ฉันไม่ได้ทดสอบนี้ "[sh]": { "files.eol": "\n" }แต่คุณอาจจะลองทำ การตั้งค่าบางอย่างอาจไม่สามารถตั้งค่าสำหรับภาษาที่เฉพาะเจาะจงและฉันไม่แน่ใจว่านี่เป็นสิ่งที่ทำได้ แต่คุ้มค่าที่จะลอง
Michael Dorst

90

หากคุณต้องการตั้งเป็น LF เป็นค่าเริ่มต้นคุณสามารถไปที่ไฟล์ -> การตั้งค่า -> การตั้งค่าและภายใต้การตั้งค่าผู้ใช้คุณสามารถวางบรรทัดนี้ในด้านล่างการตั้งค่าผู้ใช้อื่นของคุณ

"files.eol": "\ n"

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

"git.confirmSync": false,
"window.zoomLevel": -1,
"workbench.activityBar.visible": true,
"editor.wordWrap": true,
"workbench.iconTheme": "vscode-icons",
"window.menuBarVisibility": "default",
"vsicons.projectDetection.autoReload": true,
"files.eol": "\n"

12
ฉันทำสิ่งนี้แล้ว แต่ทุกครั้งที่ฉันเปิดไฟล์มันจะยังคงเปิดด้วย CRLF และฉันต้องเปลี่ยนมันด้วยตนเอง
pixelwiz

1
@pixelwiz หากคุณบันทึกไฟล์จะเปลี่ยนเป็น LF หรือไม่ github.com/Microsoft/vscode/issues/26626 github.com/Microsoft/vscode/issues/2957 ฉันเปลี่ยนเป็น mac ดังนั้นฉันไม่มีปัญหานี้อีกต่อไปเมื่อพัฒนาโครงการของตัวเอง ดังนั้นฉันไม่สามารถตรวจสอบขอโทษ
Isak La Fleur

5
เหมือนกันสำหรับฉันบน Windows - การตั้งค่า files.eol การตั้งค่าผู้ใช้เป็น "\ n" แต่ไฟล์ยังคงรายงานว่าเป็น CLRF
Marko

ทำงานกับฉันใน Windows 7 ด้วยรหัส VS 1.18.0
darkwing

1
ฉันเพิ่งทดสอบสิ่งนี้สำเร็จด้วย Win 10 และ VS Code 1.20.1 สร้างไฟล์ใหม่ด้วยตัวแบ่งบรรทัด LF!
iaforek

18

มีส่วนขยายที่แสดงการสิ้นสุดบรรทัด คุณสามารถกำหนดค่าสีที่ใช้อักขระที่เป็นตัวแทนของ CRLF และ LF และบูลีนที่เปิดและปิด

Name: Line endings 
Id: jhartell.vscode-line-endings 
Description: Display line ending characters in vscode 
Version: 0.1.0 
Publisher: Johnny Härtell 

ลิงก์ Marketplace VS


3
ในปัจจุบันส่วนขยายนี้ไม่ได้ทำตามที่ตั้งใจไว้ ในไฟล์ที่ลงท้ายด้วยเส้นผสมมันจะแสดงการสิ้นสุดบรรทัดราวกับว่ามันสอดคล้องกันทั้งหมดโดยอิงตามรหัส VS ที่อ้างว่าไฟล์กำลังติดตาม
Andrew Arnott

@AndrewArnott ขอบคุณสำหรับการอัปเดตเราจะต้องดูปัญหาที่คุณส่งมา ... github.com/jhartell/vscode-line-endings/issues/1
Shanimal

@AndrewArnott คุณบอกได้ไหมว่าทำไมมันถึงไม่เหมาะกับคุณ? สำหรับฉันมันใช้งานได้สมบูรณ์แบบเพียงแค่ไอคอนเล็ก ๆ
John Balvin Arias

@JohnBalvinArias ปัญหาที่ฉันยื่นไว้ที่ Shanimal เชื่อมโยงเพื่ออธิบายปัญหา: มันไม่ได้เปิดเผยตอนจบของไลน์ผสม มันมักจะแสดงให้พวกเขาราวกับว่าพวกเขาเป็นอย่างสม่ำเสมอไม่ว่าการตั้งค่า VS Code จะถูกตั้งไว้ที่ใด
Andrew Arnott

1
@AndrewArnott นี้เป็นเพราะ VSCode ไม่สนับสนุนการสิ้นสุดของบรรทัดแบบผสม github.com/Microsoft/vscode/issues/127
Chev

3

Render Line Endingsเป็นส่วนขยายของรหัส VS ที่ยังคงได้รับการบำรุงรักษาอย่างแข็งขัน (ณ เดือนเมษายน 2020):

https://marketplace.visualstudio.com/items?itemName=medo64.render-crlf

https://github.com/medo64/render-crlf/

มันสามารถกำหนดค่าเช่นนี้:

{
    "editor.renderWhitespace": "all",
    "code-eol.newlineCharacter": "¬",
    "code-eol.returnCharacter" : "¤",
    "code-eol.crlfCharacter"   : "¤¬",
}

และมีลักษณะเช่นนี้:

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

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