如何在Visual Studio中设置标准编码

时间:2009-03-30 09:55:27

标签: visual-studio visual-studio-2008 encoding character-encoding

我正在寻找一种设置Visual Studio的方法,因此它总是以UTF-8保存我的文件。

我只找到了设置此项目的选项。有没有办法将它设置为Visual Studio?

5 个答案:

答案 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)

我不知道全局设置,但你可以试试这个:

  1. 以UTF-8
  2. 保存所有Visual Studio模板
  3. 编写一个Visual Studio Macro / Addin,它将监听DocumentSaved事件并将文件保存为UTF-8格式(如果还没有)。
  4. 在您的源代码管理上放置一个代理,以确保新文件始终为UTF-8。

答案 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,文件开头没有字节顺序标记。