Visual Studio (中文版)默認保存的文本文件是GB2312
編碼(代碼頁936)的,默認的行尾(End of line)是CRLF的。
如果僅僅是在windows下開發問題也不大,但是涉及到跨平台開發的時候,就不是很滿意了。
VS本身的 文件 -> 高級保存選項 中是可以選擇保存的編碼和行尾的,但是不支持為默認的。
還有一個問題是cl
編譯的時候,對utf-8
格式支持不好(需要添加/source-charset:utf-8
選項,默認是當作本地字符集的),對於帶BOM
標記的文件則沒有問題。
所以我們在項目中統一規定使用UTF-8 with BOM
編碼,行尾為LF
(\n)。
這里介紹兩個插件
ForceUTF8 (with BOM)
這個插件還有兩個版本,一個是帶BOM
的,一個是不帶的。
插件是開源的,代碼很簡單。就是在文檔保存的時候,判斷是否是文本文件。如果是的話,那就先轉編碼為UTF-8 with BOM
,再寫入文件。
下載地址 https://marketplace.visualstudio.com/items?itemName=jz5.ForceUTF8withBOM
其實可以直接在這個項目上改,在保存文件前把\r\n
、\r
、\n
都替換為\n
即可(要注意替換次序)。
Line Endings Unifier
這個插件用來統一行尾。
可以設置針對的文件和目標行尾。它也是開源的。
下載地址 https://marketplace.visualstudio.com/items?itemName=JakubBielawa.LineEndingsUnifier
http://www.cnblogs.com/oloroso/p/6245772.html