2012-05-11 10 views
12

thể trùng lặp:
How to force indentation of C# conditional directives?Phòng thu trực quan có thể tự động thụt lề/định dạng tiền xử lý không?

Nói rằng tôi muốn gõ này trong Visual Studio:

class Program 
    { 
     private const Byte NUM_THREADS = 
     #if DEBUG 
      1; 
     #else 
      8; 
     #endif 
    } 

Nếu tôi chỉ cần gõ nó ra (tức là không tự sửa chữa bất kỳ thụt đầu dòng), Visual Studio sẽ định dạng nó như sau:

class Program 
    { 
     private const Byte NUM_THREADS = 
#if DEBUG 
1; 
#else 
     8; 
#endif 
    } 

Có điều gì tôi có thể làm để nó tự động thụt vào để trông giống như ví dụ đầu tiên?

+0

Ý anh là gì bởi "chỉ cần gõ nó ra" Bạn có một số loại auto Chế độ định dạng được bật? –

+0

@GregHewgill Ý tôi là nhập và chỉ thêm các dòng mới, nhưng không nhấn tab để thêm bất kỳ thụt lề thủ công nào. –

+1

Công cụ Visual Studio | Tùy chọn => Trình soạn thảo văn bản => C# => Định dạng có nhiều tùy chọn , nhưng có vẻ như các định nghĩa tiền xử lý luôn được treo ở bên trái (trừ #region) –

Trả lời

0

Đến Edit menu => Format Document HOẶC Nhấn cắt ngắn chính Ctrl + K, Ctrl + D (Nói tóm lại Ctrl + K + D) cắt ngắn này bạn có thể sử dụng .html, .aspx. .cs etc ...

+1

Bạn đã thử nó với các chỉ thị tiền xử lý chưa? –

+2

Tự động định dạng * không * hoạt động trên các lệnh tiền xử lý. khác. – RandomClown

1

Thật không may, không có cách nào để có các lệnh tiền xử lý theo mã thụt đầu dòng. Ước gì nó đã làm. :(

Dường như lý do là trình biên dịch trước barfed tại không gian đã xuất hiện trước khi các lệnh, theo: Indenting #defines