2012-12-13 22 views
1

我喜歡我的C++成員變量和方法聲明都相同的量縮進,讓他們排隊這樣的:我怎麼能輕易的縮進頭聲明與Visual Studio

class SnipformationScheduler : public ParagraphformationFinishedResponder 
{ 
    int           mCurrentSnipIndex; 
    vector<ParagraphFormationAnimation>   mParagraphAnimations; 
public: 
    vector<string>        mSnippetIDs; 
    MovementController*       mMovementController; 

    SnipformationScheduler(); 
    virtual ~SnipformationScheduler(void); 
    void          tick(); 
    void          paragraphAnimationFinished(); 
}; 

目前,我通過按Tab鍵來做到這一點,直到我得到正確數目的縮進。當然有一個更簡單的方法。任何人都知道它是什麼?

+11

只是一個評論:當人們這樣做時,我總是非常生氣。它使代碼對我來說完全不可讀,我需要從右到左掃描這個浪費的空白空間,以找出例如「mCurrentSnipIndex」的類型。 – 2012-12-13 15:28:46

+0

我知道編輯會這樣做,但VS不是其中之一。坦率地說,這是一個可怕的編輯。它的自動格式化功能比幫助更麻煩。 –

+0

@aleguna:有時你別無選擇。我們的編碼公約要求成員變量必須一致。與我們的差異相比,問題是: - 函數名稱不對齊; - 只有同一塊內的成員必須對齊; - 對齊由最長類型(即最長名稱和變量之間沒有隨機數的空格)指定 - 指針與變量的名稱一起對齊。如果你在一家有一套規則的公司,你必須遵守這些規則。您可以查看一些代碼[https://github.com/bloomberg/bsl] –

回答

5

我不相信有一個更簡單的方法。但是,請使用空格進行對齊。標籤,如果你使用它們(有些人的編輯器設置爲當他們點擊Tab鍵時輸入幾個空格),應該只用於縮進。

這背後的理由是,不同的人有選項卡設置爲顯示爲不同數量的空格。如果我使用...

  • 所有空間,每個人在他們的編輯器中總是看到相同的東西。但是,它們無法控制縮進的寬度(這令我感到惱火)。

  • 所有標籤,人們可以設置縮進的寬度,但如果其他人使用與您不同的標籤寬度,事情可能不會排隊。

  • 縮進和空白對齊的選項卡,每個人都很高興。一切總是排成一列,人們可以設置縮進的寬度。

+4

只需準確地說,slavik262意味着只有當它們是一行中的第一個字符時才應該使用TAB。在第一個非TAB字符之後的任何空格都應該用空格字符而不是TAB來表示。 – Tergiver