Như yellowblood chỉ ra trong câu trả lời Aaron F., nếu bạn thay thế \n
(LF) với \r\n
(CRLF), bạn sẽ có một thời gian xấu vì nó sẽ thêm một CR trước mỗi LF, ngay cả những người đã có một. Tuy nhiên, những gì bạn muốn có thể đạt được với các biểu thức chính quy sử dụng bất kỳ trình soạn thảo văn bản nào hỗ trợ thay thế hàng loạt trong các tệp (như Notepad ++ hoặc "Thay thế tệp trong Visual Studio" của Visual Studio).
Ví dụ, để thay thế LF với CRLF, hãy chắc chắn để kích hoạt tùy chọn regex sau đó thay thế tất cả lần xuất hiện của
(?<!\r)\n
với
\r\n
\r
là một trở về vận chuyển (CR), \n
là nguồn cấp dữ liệu dòng (LF). Mẫu (?<!\r)\n
sẽ khớp với bất kỳ nguồn cấp dữ liệu dòng nào có ký tự trước đó không phải là dấu xuống dòng, mà không cần chụp (tức là thay thế) ký tự trước đó.
Cách khác xung quanh đơn giản hơn nhiều: chỉ cần thay thế \r\n
bằng \n
.
Như mọi khi, hãy sao lưu các tệp của bạn và đảm bảo kiểm tra hoạt động trên một tệp trước khi xử lý toàn bộ giải pháp.
Tôi đã thêm điều này làm nhận xét cho câu trả lời của Aaron F. nhưng danh tiếng của tôi không đủ cao :)
Điều đó thật tuyệt! Tôi đã không bao giờ viết một plugin/script cho VS, tôi có thể chỉ cần mở một giao diện điều khiển PowerShell và viết một số vòng lặp trên tất cả các tập tin giải pháp? – Borek
@Borek tiếc là nó thực sự không phải là rất dễ dàng. Vấn đề chính mà bạn gặp phải là không có định nghĩa tuyệt vời về những gì người dùng kiểm soát tập tin. Ví dụ bạn có thể không muốn làm điều này chống lại nói rằng một tập tin được tạo ra nhưng nó không giống nhiều hơn một tập tin bình thường từ một quan điểm API. Ngoài ra không phải tất cả các tập tin trong IDE có một tập tin vật lý thực sự ủng hộ chúng trên đĩa (cũng khó để nói từ một API). Nói chung liệt kê các tập tin sẽ làm việc nhưng bạn kết thúc với tất cả các góc/trường hợp đặc biệt. Trong tất cả các khả năng đó là lý do tại sao hành vi VS là ngày hôm nay – JaredPar
Thật đáng tiếc, tôi nghĩ sẽ có một cách dễ dàng để có được danh sách mọi thứ tôi thấy trong trình khám phá giải pháp (và là một tệp). – Borek