轉自:http://my.oschina.net/angerbaby/blog/471351
當我們使用IDE寫代碼時,為了保證代碼的可閱讀性和優雅性,通常會借助IDE的代碼風格設置功能,令IDE智能完成的代碼部分或者格式化輸入的代碼,可以按照預期的格式輸出。其中有一項設置就是限制一行代碼的寬度,以IDEA舉例,默認限制為120,如下圖所示,圖中所標注的垂直線即使代碼行寬度的限制提示。
那么如何在IDEA中修改這個限制數值呢?在File->settings->Code Style->General中,修改“Right margin (columns)”的值即可改變代碼行寬度的限制。
有人會問,如果輸入的代碼超出寬度界線時,如何讓IDE自動將代碼換行?有兩種方式!第一種,在上述的“Right margin (columns)”的下方,有“Wrap when typing reaches right margin”選項,選中它,是什么效果呢?如下圖所示,隨着輸入的字符的增加,當代碼寬度到達界線時,IDEA會自動將代碼換行。
第一種方式是在輸入代碼時觸發,還有第二種方式,在File->settings->Code Style->Java中,選中“Wrapping and Braces”選項卡,在“Keep when reformatting”中有一個“Ensure rigth margin is not exceeded”,選中它,是什么效果呢?從配置項的字面意思很容易理解,在格式化Java代碼時,確保代碼沒有超過寬度界線。
即輸入的代碼超出界線后,
不要緊,按下“Ctrl+Alt+L”格式化代碼。
IDE能幫我們在超出代碼寬度界線時自動換行自然是好,可上述兩種方式依舊有不妥之處,就是IDE只會幫我們主動換行一次!當IDE自動換行后,代碼長度依舊超出界線時,就需要手動處理了。而且不難看出IDE所做的換行處理簡單粗暴,未必是我們想要的結果(有時我們期望可以字符串換行拼接可能更優雅些)。
所以我個人建議,IDE所給出的寬度界線是好的,但真正控制、優化代碼寬度的格式需要我們編碼時養成良好的習慣,避免單行代碼過長,避免不了時自己手動找到合適的截點,進行換行處理,且更符合各自實際的編碼格式需求。