Ngăn Visual Studio trộn phần cuối dòng trong tệp


124

Khi mở tệp dựa trên văn bản trong Visual Studio 2010, nó sẽ viết các chỉnh sửa của tôi bằng CRLF thay vì định dạng kết thúc dòng của tệp gốc. Làm thế nào tôi có thể ngăn VS làm điều này? Bất kỳ trình soạn thảo tử tế nào cũng phải có khả năng này

Điều tồi tệ hơn là vì VS đã viết tệp với các phần trong CRLF, sau đó (khi mở tệp lại) sẽ xuất hiện hộp thoại yêu cầu tôi chuyển đổi dòng tệp kết thúc.


Hãy thử bổ trợ này: Strip'em
phát hành vào

8
Bạn có thể muốn bỏ phiếu cho việc này: visualstudio.uservoice.com/forums/121579-visual-studio/...
Jon Watte

1
@JonWatte hiện đang được xem xét kể từ ngày 28 tháng 4 năm 2016
Chris Marisic

2
Tôi đã rời xa .NET những ngày này, đã quá chán với việc MS dường như thay đổi trọng tâm mỗi mùa và bỏ qua những vấn đề đơn giản như thế này. Rất vui khi thấy họ cuối cùng đã sửa nó.
Brett Ryan

Câu trả lời:


84

Trên menu Tệp , chọn Tùy chọn Lưu Nâng cao , bạn có thể kiểm soát nó ở đó.

Chỉnh sửa: Đây là tài liệu , trước tiên bạn nên mở một tệp.


5
Tôi không có mục menu này trong bản cài đặt cuối cùng VS2010 của mình.
Palantir

6
Tôi có cài đặt này trong VS2010 Ultimate, tuy nhiên tùy chọn này không phải là tùy chọn liên tục toàn cầu và chỉ hợp lệ cho phiên biên tập hiện tại. Tất cả những gì tôi muốn là VS tôn trọng phần cuối dòng của tệp hiện đang mở khi chỉnh sửa tệp.
Brett Ryan

2
File + Save As, nhấp vào mũi tên trên nút Save. Điều tương tự nhưng cụ thể cho tệp.
Hans Passant

13
Đối với những người không thấy lệnh trong Filetrình đơn, bạn có thể cần phải đi đến Tools, Customize, Commandstab, Menu Bar: File, Add Command..., File, Advanced Save Options..., Ok, Close. Bây giờ bạn sẽ có tùy chọn.
davidg

92
Điều này không thực sự giải quyết được vấn đề, bởi vì bạn phải chọn tùy chọn đó MỌI LÚC BẠN TIẾT KIỆM. Điều đó cũng có nghĩa là bạn phải CHỌN PHƯƠNG ÁN KẾT THÚC DÒNG mỗi khi tiết kiệm. Hành vi phù hợp, mà mọi trình soạn thảo văn bản khác hỗ trợ, là phát hiện định dạng khi tải và lưu ở định dạng đó khi lưu. Không có cách nào để VS2010 làm được điều đó AFAICT, và điều đó thật đáng tiếc.
Jon Watte

70

Trong Visual Studio 2015 (điều này vẫn được giữ vào năm 2019 với cùng giá trị), hãy kiểm tra cài đặt:

Công cụ> Tùy chọn> Môi trường> Tài liệu> Kiểm tra các kết thúc dòng nhất quán khi tải

VS2015 giờ sẽ nhắc bạn chuyển đổi các phần cuối dòng khi bạn mở một tệp mà chúng không nhất quán, vì vậy tất cả những gì bạn cần làm là mở tệp, chọn tùy chọn mong muốn từ lời nhắc và lưu lại.


4
Mặc dù điều này có thể hữu ích ngay bây giờ, hãy lưu ý rằng câu hỏi đã được gắn thẻ visual-studio-2010 .
dakab

4
Vấn đề với tùy chọn này là nó không cho bạn biết phần cuối dòng nào là phổ biến nhất trong tài liệu, vì vậy tôi phải mở tài liệu bằng Notepad ++ trước và sau đó chỉ chọn tùy chọn đúng. Bên cạnh đó, đây là vấn đề lưu chứ không phải vấn đề tải.
Nhà tư tưởng chiến lược

3
Vấn đề tôi gặp phải là tôi đang mở tệp, với phần cuối LF, và sau đó mọi dòng tôi chỉnh sửa hoặc thêm vào sẽ được lưu với phần cuối CR LF. Khi tôi mở lại tệp, nó sẽ hỏi tôi muốn thay đổi kết thúc dòng không nhất quán thành gì và tôi sẽ chọn LF và sau đó quá trình sẽ lặp lại. đây là cách tôi đã giải quyết nó: stackoverflow.com/a/47318778/2701911
FragmentalStew

Điều đó không giải quyết được sự cố khi sao chép và dán văn bản có kết thúc dòng hỗn hợp. Bạn phải mở lại tệp để kích hoạt kiểm tra.
Andry

22

Với VS2010 +, có một giải pháp plugin: Line Endings Unifier .

Với plugin được cài đặt, bạn có thể nhấp chuột phải vào các tệp và thư mục trong trình khám phá giải pháp và gọi mục menu Unify Line Endings in this file

Cấu hình cho điều này có sẵn qua

Công cụ -> Tùy chọn -> Bộ hợp nhất dòng kết thúc.

Danh sách phần mở rộng tệp mặc định được bao gồm khá hẹp:

 .cpp; .c; .h; .hpp; .cs; .js; .vb; .txt;

Có thể muốn sử dụng một cái gì đó như:

 .cpp; .c; .h; .hpp; .cs; .js; .vb; .txt; .scss; .coffee; .ts; .jsx; .markdown; .config

11
Đây thực sự là một plugin và không được cài đặt theo mặc định.
null

1
@null cảm ơn vì đã chỉ ra điều đó, đây thực sự là những gì tôi đang tìm kiếm. Tôi đã cập nhật câu trả lời để phản ánh tốt hơn tất cả những điều này
Chris Marisic

13

xem http://editorconfig.orghttps://docs.microsoft.com/en-us/visualstudio/ide/create-portable-custom-editor-options?view=vs-2017

  1. Nếu nó không tồn tại, hãy thêm một tệp mới có tên .editorconfig cho dự án của bạn

  2. thao tác cấu hình trình soạn thảo để sử dụng hành vi ưa thích của bạn.

Tôi thích khoảng trắng hơn các tab và CRLF cho tất cả các tệp mã.
Đây là .editorconfig của tôi

# http://editorconfig.org
root = true

[*]
indent_style = space
indent_size = 4
end_of_line = crlf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

[*.tmpl.html]
indent_size = 4

[*.scss]
indent_size = 2 
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.