2014-03-26 56 views
3

我在Eclipse中的代碼樣式格式化程序中設置了自己的配置文件。我已將所有大括號位置設置爲「下一行」,加上換行 - 表達式 - 初始化程序列表「將所有元素,每個元素換行爲新行」並選中了「強制拆分...」。然而,出現這樣的代碼:Eclipse代碼風格的格式化程序:如何在初始化程序列表中單獨關閉大括號?

/* 
* Initializer list 
*/ 
int array[] = 
{ 
    1, 
    2, 
    3, 
    4, 
    5, 
    6, 
    7, 
    8, 
    9, 
    10, 
    11, 
    12, 
    13, 
    14, 
    15, 
    16, 
    17 }; 

我希望它看起來是這樣的:

/* 
* Initializer list 
*/ 
int array[] = 
{ 
    1, 
    2, 
    3, 
    4, 
    5, 
    6, 
    7, 
    8, 
    9, 
    10, 
    11, 
    12, 
    13, 
    14, 
    15, 
    16, 
    17 
}; 

檢查「永不相交已換行」有助於保持在單獨的線括號只有當我手動更改它將代碼樣式應用於我的代碼之後。這真的很煩人,花費很多時間(巨大的代碼)。

是否有任何方法可以在默認設置中將大括號分別放在單獨的行上?

回答

1

轉到Window > Preferences > Java > Code Style > Formatter

單擊編輯按鈕爲活動格式化程序。將出現一個對話框。

轉至新行選項卡。轉至陣列初始化器組。後

選擇插入新行收盤數組初始化的支柱選項保存配置文件之前打開數組初始化和插入新行的支柱。

+1

我有C代碼,所以它是C/C++ codestyle格式器。在**新行**下只有一個選項:**在構造函數初始值列表**中的冒號前插入新行。 – user3462914

0

我知道這是一個古老的問題,但我想我會在無論如何回答它,如果它幫助某人仍然試圖弄清楚這一點。

出於某種原因,很多可以更改的選項在C/C++的格式化程序對話框中都不可見,或者它們只是很難找到,就像在上面的結束括號之前插入新行一樣。

但是,如果將格式導出到xml文件,您會發現上述選項實際上存在並且可以進行手動修改。

要導出,請點擊「編輯」按鈕,選擇要添加到的任何配置文件,然後可以將其從該對話框中以任何名稱導出。

導出後,您可以使用任何您喜歡的編輯器來編輯xml。

要查找和更改的行是:

「org.eclipse.cdt.core.formatter.insert_space_after_opening_brace_in_array_initializer」 值= 「插入」

「org.eclipse.cdt。 core.formatter.insert_new_line_before_closing_brace_in_array_initializer「value =」insert「

後者是我無法在fmatter對話框中找到的爲C/C++保存我的生活。

然後保存更改並從相同的格式配置文件選擇對話框(Windows->首選項 - > C/C++ - >代碼樣式 - >格式化程序)導入到Eclipse。

另外需要注意的是,在一些基於Eclipse的IDE(例如TI的Code Composer Studio)中,您需要單擊首選項對話框左下角的「顯示高級設置」鏈接,才能看到C/C++首選項選項。

希望這可以幫助別人。

相關問題