Visual Studio 默认保存为UTF8编码

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

posted @   findumars  Views(5924)  Comments(0Edit  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2016-01-05 utf8格式源代码中的字符串,默认都会当作char来处理,除非用L""符号来修饰
2016-01-05 Qt Installer Framework的学习
2016-01-05 发布Qt Quick桌面应用程序的方法
2015-01-05 MFC、WTL、WPF、wxWidgets、Qt、GTK、Cocoa、VCL 各有什么特点?
2015-01-05 C++Builder和VC的比较
2015-01-05 Apollo,Python,Delphi与Oracle之间的神话关系
2015-01-05 Delphi语言获得生命的原因和过程
点击右上角即可分享
微信分享提示