2013-02-26 39 views
7

Tôi đang sử dụng Visual Studio 2012 và đã thụt lề thông minh bật cho các tệp C++. Tôi muốn tùy chỉnh hành vi của thụt đầu dòng thông minh để nó định dạng mã tôi nhập để tuân theo kiểu mã hóa của công ty tôi.Visual Studio 2012 Tùy chỉnh thụt lề "thông minh"

Tôi làm cách nào để tùy chỉnh tất cả các khía cạnh phút về cách hoạt động của tính năng thụt lề thông minh?

Ví dụ, khi tôi nhập mã này, định dạng thụt đầu dòng thông minh nó chính xác như thế này:

#include <cstdlib> 
#include <string> 
using namespace std; 

struct Foo 
{ 
    const string mA; 
    const int mB; 
    const string mC; 

    Foo(const string& a, 
     const int b, 
     const string& c) 
     : 
    mA(a), 
     mB(b), 
     mC(c) 
     { 
     } 
}; 

int main() 
{ 
} 

Hầu hết đây là những gì tôi muốn, trừ ruột giới thiệu danh sách initializer, mục đầu tiên trong danh sách khởi tạo và mức thụt lề của phần thân của hàm tạo. Tôi muốn những định dạng như thế này và tôi muốn Visual Studio tự động làm điều đó cho tôi:

Foo(const string& a, 
    const int b, 
    const string& c) 
: 
    mA(a), 
    mB(b), 
    mC(c) 
{ 
} 

Làm cách nào để tùy chỉnh hành vi của thụt đầu dòng thông minh? Tôi muốn không sử dụng bất kỳ công cụ bên ngoài như Visual Assist X.


: Via cụ>Tùy chọn>Text Editor>C/C++>Tabs>Thụt lề

: Tôi cũng có tabstops được đặt thành 4, có khoảng trắng được chèn vào.

Trả lời

4

Nhìn vào MS Visual Studio SDK, tìm thấy ở đây:

http://msdn.microsoft.com/en-us/library/bb139565.aspx

Đặc biệt bạn muốn ghi đè HandleSmartIndent trong lớp VewFilter:

http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.package.viewfilter.handlesmartindent.aspx

này được gọi bất cứ khi nào bạn nhấn phím Enter trong trình chỉnh sửa. Thật không may, nó không phải là dễ dàng như chỉ cần thay đổi một số quy tắc trong một hộp thoại cấu hình.

0

Một giải pháp xấu xí là thế này:

Foo(const string& a, 
    const int b, 
    const string& c) 

    : mA(a) 
    , mB(b) 
    , mC(c) 
{ 
} 

Trong đó, đối với một số lý do khả ố, là cách duy nhất mà tôi từng thấy để có được VS để thụt mớ hỗn độn đó đúng.

Các vấn đề liên quan