Làm thế nào để Visual Studio không đặt {trên một dòng mới?


96

Nếu tôi có mã như thế này

if(true){

và tôi thêm

}

nó được chuyển thành

if (true)
{
}

nhưng tôi muốn nó ở định dạng

if (true) {
}

Ngay cả khi tôi sao chép mã có ifnhư thế này, nó được chuyển đổi thành phiên bản dài hơn.

Tái bút Tôi hiểu rằng đó là tiêu chuẩn C ++ và C # để sử dụng phiên bản dài hơn, tuy nhiên tôi đến từ một tiêu chuẩn khác và tôi dễ dàng sử dụng phiên bản ngắn hơn.

Tôi cá là có một số tùy chọn định dạng có thể được tắt hoặc thay đổi.

Câu trả lời:


141

Đi tới Công cụ -> Tùy chọn -> Trình soạn thảo Văn bản -> C # -> Kiểu mã -> Định dạng-> Dòng mới

Ở đây có rất nhiều lựa chọn. Bỏ dấu kiểm trên tất cả các tùy chọn ở đây để không bao giờ đặt dấu ngoặc mở trên một dòng mới.

BIÊN TẬP

Phần New Line Options for expressionsnày không liên quan đến vị trí của mã kết hợp với dấu ngoặc, vì vậy bạn không cần phải chạm vào.


9
+1 cảm ơn bạn. Tuy nhiên, khi tôi tắt chúng đi, và sau đó cố tình đặt dấu ngoặc nhọn trên dòng mới, nó sẽ di chuyển nó trở lại dòng cũ :( Có cách nào để ngăn nó can thiệp vào những thứ tôi không yêu cầu nó không?
Reversed Engineer

28
Con quái vật nào sẽ kích hoạt các dòng mới theo mặc định?
Được hỗ trợ bởi máy pha cà phê

Tôi đang sử dụng bản xem trước VS2019 và tôi đã phải thực hiện thay đổi, sau đó thoát khỏi Visual Studio hoàn toàn và mở lại để thay đổi tiếp tục. Nếu tôi chỉ thay đổi nó sau đó cố định dạng lại tài liệu, nó sẽ chỉ đặt lại về cài đặt trước đó.
Bernard

Đối với Visual Studio Code, hãy truy cập Tệp -> Tùy chọn -> Cài đặt và bên dưới Tiện ích mở rộng, chọn ngôn ngữ bạn muốn thay đổi thuộc tính. Tìm kiếm Clang_format_fallback Style(ví dụ: đối với C ++ C_Cpp: Clang_format_fallback Style) và thay đổi giá trị từ Visual StudiođếnGoogle
Riccardo Bonesi

Cảm ơn bạn! Đây là một trong những tính năng gây phẫn nộ nhất của Visual Studio for Unity.
SacWebDeveloper

28

Hãy nhớ rằng nếu bạn đang sử dụng Resharper, quy trình trên sẽ không hữu ích, vì Resharper ghi đè hành vi VS gốc. Nếu đó là trường hợp của bạn, hãy chuyển đến Trình phục hồi> Tùy chọn, Chỉnh sửa mã> C #> Kiểu định dạng> Bố cục dấu ngoặc nhọn, đặt tất cả các tùy chọn "Bố cục dấu ngoặc" hàng đầu thành "Ở cuối dòng (kiểu K&R)".

Tôi đã mất một thời gian để tìm ra điều này, vì vậy tôi hy vọng nó sẽ giúp ích cho ai đó.


10

Đối với tất cả Người dùng Mac ngoài kia, đây là cách tôi giải quyết nó:

Tùy chọn -> Mã nguồn -> Định dạng mã -> Mã nguồn C # -> Định dạng C # -> Chỉnh sửa

Ở đó bạn có thể thay đổi nó trong Danh mục: Dòng mới

ví dụ hình ảnh


9

Hãy xem Tools -> Optionssau đóText Editor -> C# -> Formatting -> New Lines


8

Bạn có thể thay đổi điều đó trong các tùy chọn của Visual Studio. Đi tới Công cụ -> Tùy chọn -> Trình chỉnh sửa văn bản -> C # -> định dạng -> dòng mới (hoặc thứ gì đó tương tự, tôi chỉ có phiên bản tiếng Đức của visual studio). Sau đó, bạn có thể thay đổi nơi bạn muốn đặt dấu ngoặc vào dòng tiếp theo và nơi bạn không muốn. Cá nhân tôi đã loại bỏ tất cả các tùy chọn, nhưng nếu bạn muốn có một dòng mới, ví dụ như trong vòng lặp, có nhiều tùy chọn để tùy chỉnh điều này.


0

Đối với C ++, cách duy nhất tôi có thể tránh VC ++ đặt '{' trên dòng mới cho không gian tên là bỏ chọn tùy chọn "Tự động định dạng khối khi tôi nhập a}":

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


-1

Để làm điều tương tự cho CSS, bạn phải truy cập: Tools > Options > Text Editor > CSS > Advanced > Formatting > Automatic Formatting > Off

Định dạng tự động CSS Tắt

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.