2010-03-01 64 views
8

Sau namespace, class, struct, enum, for, foreach, while, switch, do, using, unchecked và vào lúc bắt đầu của phương pháp, không nên Visual Studio tự động bao gồm dấu ngoặc nhọn? Cách kích hoạt tính năng này?Làm cách nào để Visual Studio tự động bao gồm dấu ngoặc nhọn trong mã C#?

+2

Làm thế nào nó sẽ biết khi nào bắt đầu nẹp xoăn? 'public class MyClass'? 'public class MyClass: MyBase'? 'public class MyClass: MyBase, Interface, Interface 2'? Bạn có thể thấy khi biết khi nào bắt đầu sẽ là một cơn đau trong hầu hết các trường hợp ... tự động khớp với cú đúp mở của bạn với một dấu đóng, đó là doable. –

+3

Tại sao nó sẽ đặt trong một dấu ngoặc nhọn sau một tuyên bố trong khi nếu tôi sẽ chỉ đặt một tuyên bố trong vòng lặp? –

+2

Để tuân thủ các nguyên tắc về kiểu mã hóa của Microsoft cho người mới bắt đầu ... – Joe

Trả lời

3

Một tùy chọn là sử dụng Đoạn mã. Visual Studio đã đi kèm với các đoạn mã cho không gian tên, enum, for, foreach, trong khi, chuyển đổi, làm, sử dụng, và bỏ chọn. Để biết hướng dẫn về cách sử dụng đoạn mã, hãy truy cập here.

Nếu bạn có thể nghĩ về đoạn mã phù hợp với lớp học và cấu trúc của mình, bạn có thể create your own snippet.

5

Với Resharper giá đóng ngoặc nhọn tự thêm (ngay lập tức hoặc sau khi nhấn enter). Tôi nghĩ rằng nó cũng là trường hợp cho không chia sẻ lại Visual Studio nhưng không chắc chắn 100% về điều đó. Chỉ mở ngoặc bạn phải tự viết.

Hiện tại Resharper 5.0 là miễn phí (miễn là trong trạng thái phiên bản beta/đêm), bạn chỉ phải cài đặt lại sau mỗi 20-30 ngày (nhưng bạn vẫn muốn thực hiện việc này vì chúng có xu hướng sửa/thêm mọi thứ). Tôi không thể mã mà không Resharper nữa :-) Nó tiết kiệm rất nhiều thời gian! Bạn không chắc chắn những gì tôi sẽ làm gì khi đó là beta không còn;/

Edit:

Với Resharper bạn thậm chí có thể nhận được IDE sử dụng niềng răng hay không sử dụng chúng trong một số trường hợp (trong đó nó có thể). Kiểm tra điều này link về định dạng mã trong Resharper.

+0

Định dạng mã ReSharper cũng có thể thêm dấu ngoặc ôm trong suốt toàn bộ dự án chỉ với vài cú nhấp chuột. http://www.jetbrains.com/resharper/features/code_formatting.html – jrummell

+0

Hoặc xóa chúng, tùy thuộc vào cài đặt :-) – MadBoy

+0

Tôi là một fan hâm mộ Resharper rất lớn. –

0

Đối với không gian tên, lớp, cấu trúc, enum và chuyển đổi, bạn nói đúng. Cú pháp buộc bạn phải có một cú đúp mở, nhưng tôi không nghĩ rằng bạn có thể buộc VS làm điều này (mà không cần sử dụng một bổ trợ).

Trong các trường hợp khác, một cú đúp mở là tùy chọn và một số người muốn KHÔNG có cú đúp nếu họ chỉ có một câu lệnh sau đó. Vì vậy, VS không thể thêm một cú đúp tự động ngay cả khi nó có thể.

1

IDE không thể chắc chắn nếu bạn không muốn tạo một lớp lót.

Tính năng chia sẻ lại thực hiện mọi việc dễ dàng hơn. Nếu bạn nhập "{" và nhấn enter "}" sẽ tự động được tạo.

2

DevExpress có các công cụ cho visual studio

CodeRush

1

Nếu bạn nhấn tổ hợp phím CTRL + K, Ctrl + S này sẽ cung cấp cho bạn một đoạn tùy chọn, trong đó nó sẽ tự động tạo ra bất cứ tùy chọn mà bạn chọn.

+0

là Edit.SurroundVới nó có thể có một số ràng buộc khóa khác. Nếu sombody không có nó trong CTRL + K, CTRL + S họ vẫn có thể nhận được nó từ menu ngữ cảnh hoặc xem TOOLS -> Options ... -> Environment -> Keyboard -> "Edit.SurroundWith" để xem những gì họ có ràng buộc. – Theraot

0

Rất dễ dàng và bạn không phải sử dụng R #.

Chỉ viết "if, else, for, foreach ..." và sau đó nhấn TAB. Các dấu ngoặc xoắn sẽ được tạo tự động và con trỏ của bạn nhảy tới các dấu ngoặc tròn. Nếu trong dấu ngoặc tròn có nhiều điều khiển hơn (ví dụ: đối với (control1; control2; control3)), thì bạn có thể chuyển đổi giữa các điều khiển này bằng nhấn TAB. Nếu bạn đã hoàn thành việc thay đổi điều khiển, thì bạn có thể nhấn enter và con trỏ sẽ nhảy tới phần thân của dấu ngoặc nhọn.

Nhưng nếu bạn muốn viết "phương pháp, lớp học, ..." mới, tôi thường sử dụng phím tắt chung "ctrl +.".

ví dụ: Viết thư cho một số phương pháp (ví dụ MyMethod) gọi phương thức mới (ví dụ MyNewMethod) mà không phải được tạo ra được nêu ra: "ctrl +"

private void MyMethod() 
{ 
    string[] a = this.MyNewMethod(5, "something"); 
} 

Sau đó thiết lập con trỏ đến "MyNewMethod", báo chí và nhấn enter.

phương pháp mới sẽ được tạo ra tự động ở đầu của lớp này:

private void MyMethod() 
{ 
    string[] a = this.MyNewMethod(5, "something"); 
} 

private string[] MyNewMethod(int v1, string v2) 
{ 
    throw new NotImplementedException(); 
} 
Các vấn đề liên quan