我正在寻找一种设置Visual Studio的方法,因此它总是以UTF-8保存我的文件。
我只找到了设置此项目的选项。有没有办法将它设置为Visual Studio?
答案 0 :(得分:58)
您是否希望将文件另存为UTF-8,因为您使用的是在ASCII编码中丢失的特殊字符?如果是这种情况,那么Tools > Options > Environment > Documents
中的VS2008全局设置名为Save documents as Unicode when data cannot be saved in codepage
。启用此选项后,如果某些字符无法在默认代码页中表示,VS2008将另存为Unicode。
此外,哪些文件不保存为UTF-8?我的所有.cs,.csproj,.sln,.config,.as * x等都默认保存为UTF-8(带签名,字节顺序标记)。
答案 1 :(得分:8)
EditorConfig是可能的。
EditorConfig帮助开发人员定义和维护一致的编码 编辑器和IDE之间的样式。
这还包括文件编码。
EditorConfig默认情况下是内置的Visual Studio 2017,我有一些插件可用于VS2012之前的版本。从EditorConfig Visual Studio Plugin page中了解更多信息。
您可以在文件夹结构中设置一个足够高的EditorConfig配置文件,以覆盖所有预期的存储库(如果文件确实分散在各处,则可以达到驱动器根目录)并配置setting charset
:
字符集:设置为latin1,utf-8,utf-8-bom,utf-16be或utf-16le 控制字符集。
如果希望更好地控制,可以在每个文件夹级别或按文件名/类型添加过滤器和例外等。
配置完成后,兼容的IDE应自动执行使匹配文件符合设置规则的任务。请注意,当您在IDE中使用文件(打开并保存)时,Visual Studio不会自动转换所有文件,但是会自动转换位。
虽然您可以在Visual Studio范围内进行设置,但我强烈建议您仍将EditorConfig根目录包含在解决方案版本控件中,以便将明确的设置也自动同步到所有团队成员。如果某些项目尚未设置自己的editorconfig文件,则驱动器根目录editorconfig文件可以作为后备。
答案 2 :(得分:1)
我不知道全局设置,但你可以试试这个:
答案 3 :(得分:0)
我使用Windows7。
控制面板-区域和语言-管理-非Unicode程序的语言。
将“更改系统区域设置”设置为英语(美国)后。我的vs2010的默认编码更改为Windows-1252
。之前是gb2312
。
在将新文件签入TFS后,我为C ++项目创建了一个新的.cpp
文件,该文件的属性页中的编码显示为Windows-1252。
答案 4 :(得分:0)
问题在于 Windows 和 Microsoft 应用程序将字节顺序标记放在所有文件的开头,因此其他应用程序经常会破坏或不读取这些 UTF-8 编码标记。我就是一个完美的例子问题是在以 UTF-8 编码时在旧的 IE Web 浏览器中触发 quirsksmode,因为浏览器通常根据页面开头的编码显示网页。当其他应用程序查看那些 UTF-8 Visual Studio 页面时,会造成混乱。
我通常不推荐 Visual Studio 扩展,但我这样做是为了解决这个问题:
修复文件编码:https://vlasovstudio.com/fix-file-encoding/
上面的 FixFileEncoding 安装删除字节顺序标记并强制 VS 以 UTF-8 保存所有没有签名的文件。安装后转到工具>选项,然后选择“FixFileEncoding”。它应该允许您将所有保存设置为 UTF-8 。将“cshtml 添加到始终以 UTF-8 保存的文件列表中,没有字节顺序标记,如下所示:“.(htm|html|cshtml)$)”。
现在在 Visual Studio 中打开您的文件之一。要验证其保存为 UTF-8,请转到“文件”>“另存为”,然后在“保存”按钮下选择“使用编码保存”。默认情况下,它应该从编码列表中选择“UNICODE(不带签名保存)”。现在,当您保存该页面时,在 Visual Studio 中保存时,它应始终保存为 UTF-8,文件开头没有字节顺序标记。