Visual Studio Code: Cách hiển thị kết thúc dòng


209

Làm cách nào tôi có thể hiển thị các dòng (CR, LF) trong Visual Studio Code (không phải trong Visual Studio).

Tôi sử dụng các cài đặt sau, nhưng không phải trong số chúng hiển thị các kết thúc dòng.

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

Có một thiết lập cho lineendings?

Chỉnh sửa 1: Tôi đã mở một sự cố trên GitHub: https://github.com/Microsoft/vscode/issues/12223

Chỉnh sửa 2: Soham Kamani đã thực hiện một tiện ích mở rộng cho việc này: code-eol


16
Tôi đã thực hiện một tiện ích mở rộng cho việc này trong trường hợp bạn vẫn cần nó: marketplace.visualstudio.com/ Từ
Soham Kamani

@SohamKamani Nhận xét của bạn phải là câu trả lời được chấp nhận cho câu hỏi.
Nicolas Seiller

Phần mở rộng đó là vô dụng: nó không thực sự hiển thị cho dù các ký tự là dòng trả về vận chuyển hay nguồn cấp dữ liệu, nó chỉ tạo ra glyphs ở cuối dòng phù hợp với những gì vscode nói tệp. Nó không giúp xác định chính xác các tệp với các kiểu kết thúc dòng hỗn hợp. (Đó hoặc vscode đang tự động bình thường hóa EOL của các tệp, do đó làm cho bất kỳ tiện ích mở rộng nào cho hiệu ứng này đều vô dụng.)
Tustin2121

Câu trả lời:


338

AFAIK không có cách nào để nhìn thấy kết thúc dòng trong không gian trình soạn thảo một cách trực quan, nhưng ở góc dưới bên phải của cửa sổ có một chỉ báo cho biết "CLRF" hoặc "LF" sẽ cho phép bạn đặt kết thúc dòng cho một tệp cụ thể . Nhấp vào văn bản cũng sẽ cho phép bạn thay đổi kết thúc dòng.

nhập mô tả hình ảnh ở đây


14
Bạn có thể thay đổi giá trị mặc định cho điều này? Ngay bây giờ mỗi khi tôi mở một tập tin, tôi phải bấm vào đây.
David Martinez

16
@DavidMartinez Có. Trong cài đặt người dùng hoặc không gian làm việc: // Kết thúc mặc định của ký tự dòng. "files.eol": "\ r \ n",
Llewey

4
@Llewey Nhưng đây là một sự thay đổi toàn cầu phải không? Tôi có thể thiết lập nó bằng cách nào đó chỉ cho .shcác tập tin?
Kostas Demiris

@KostasDemiris Tôi chưa thử nghiệm điều này nhưng bạn có thể thử làm "[sh]": { "files.eol": "\n" }. Không phải tất cả các cài đặt có thể được đặt cho một ngôn ngữ cụ thể và tôi không chắc đây có phải là ngôn ngữ có thể không nhưng nó đáng để thử.
Michael Dorst

90

Nếu bạn muốn đặt nó thành LF làm mặc định, bạn có thể đi đến Tệp-> Tùy chọn-> Cài đặt và trong cài đặt người dùng, bạn có thể dán dòng này vào bên dưới cài đặt người dùng khác của mình.

"files.eol": "\ n"

Ví dụ.

"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
Tôi đã làm điều này, nhưng mỗi khi tôi mở một tệp, nó vẫn mở bằng CRLF và tôi phải thay đổi thủ công.
pixelwiz

1
@pixelwiz nếu bạn lưu tập tin thì nó có thay đổi thành LF không? github.com/Microsoft/vscode/issues/26626 github.com/Microsoft/vscode/issues/2957 Tôi đã thay đổi thành mac, vì vậy tôi không gặp vấn đề này nữa khi phát triển các dự án của riêng mình. Vì vậy, tôi không thể xác minh, xin lỗi.
Isak La Fleur

5
Tương tự đối với tôi trên Windows - cài đặt files.eol cài đặt người dùng thành "\ n" nhưng các tệp vẫn được báo cáo là CLRF
Marko

Làm việc cho tôi trên Windows 7 với Mã VS 1.18.0
darkwing

1
Tôi vừa thử nghiệm thành công với Win 10 và VS Code 1.20.1. Tập tin mới đã được tạo với ngắt dòng LF!
iaforek

18

Có một phần mở rộng cho thấy kết thúc dòng. Bạn có thể định cấu hình màu được sử dụng, các ký tự đại diện cho CRLF và LF và boolean bật và tắt.

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

Liên kết thị trường VS


3
Hiện tại, phần mở rộng này không làm những gì nó có ý định. Trong một tệp kết thúc dòng hỗn hợp, nó hiển thị các kết thúc dòng như thể tất cả đều nhất quán, dựa trên những gì Mã VS tuyên bố tệp đang theo dõi.
Andrew Arnott

@AndrewArnott cảm ơn về bản cập nhật, chúng tôi sẽ xem vấn đề bạn đã gửi ... github.com/jhartell/vscode-line-endings/issues/1
Shanimal

@AndrewArnott bạn có thể cho biết lý do tại sao nó không hoạt động với bạn không?, Đối với tôi nó hoạt động hoàn hảo, chỉ là các biểu tượng nhỏ
John Balvin Arias

@JohnBalvinArias Vấn đề tôi đã gửi mà Shanimal liên kết để mô tả vấn đề: Nó không thực sự tiết lộ kết thúc dòng hỗn hợp. Nó luôn hiển thị chúng như thể chúng nhất quán với bất kỳ ưu tiên nào của Mã VS được đặt thành.
Andrew Arnott

1
@AndrewArnott Điều này là do bản thân VSCode không hỗ trợ các kết thúc dòng hỗn hợp. github.com/Microsoft/vscode/issues/127
Chev

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.