我正在寻找一种方法来设置Visual Studio,使其始终将我的文件保存为UTF-8编码。
我只发现了可以在整个项目中进行设置的选项。是否有一种可以在整个Visual Studio中设置的方式呢?
我正在寻找一种方法来设置Visual Studio,使其始终将我的文件保存为UTF-8编码。
我只发现了可以在整个项目中进行设置的选项。是否有一种可以在整个Visual Studio中设置的方式呢?
你是否需要将文件保存为UTF-8编码,因为你使用了ASCII编码无法表示的特殊字符?如果是这种情况,那么在VS2008的全局设置中有一个选项,可以在工具 > 选项 > 环境 > 文档
里找到,名为当数据不能保存在代码页中时使用Unicode保存文档
。启用此选项后,如果某些字符不能在默认的代码页中表示,VS2008会将其保存为Unicode格式。
此外,哪些文件没有以UTF-8编码保存呢?默认情况下,我的所有.cs、.csproj、.sln、.config、.as*x等文件都已经以UTF-8(带签名,也就是字节顺序标记)格式保存。
使用EditorConfig可以实现。
EditorConfig帮助开发者在不同的编辑器和IDE之间定义和维护一致的编码风格。
这也包括文件编码。
默认情况下,Visual Studio 2017内置了EditorConfig,而对于旧版本的VS2012,也有可用的插件。更多信息请查看EditorConfig Visual Studio Plugin页面。
您可以设置一个高级别的EditorConfig配置文件,在整个文件夹结构中覆盖所有您想要的repos(如果您的文件真的分散在各处,则可以覆盖到驱动器根目录),并配置setting charset
:
charset: 设置为latin1、utf-8、utf-8-bom、utf-16be或utf-16le以控制字符集。
如果您希望进行更精细的控制,可以在每个文件夹层次结构上添加过滤器和异常等。
配置完成后,兼容的IDE应自动实现匹配文件符合设置的规则。请注意,Visual Studio不会自动转换所有文件,但在IDE中操作文件(打开和保存)时会进行部分操作。
虽然您可以拥有一个 Visual Studio 范围的设置,但我强烈建议仍要将 EditorConfig 根目录包含在您的解决方案版本控制中,以便将显式设置自动同步到所有团队成员。如果某些项目尚未设置自己的 editorconfig 文件,则您的驱动器根目录的 editorconfig 文件可作为后备。
我使用的是Windows7操作系统。
控制面板 - 地区和语言 - 管理员 - 用于非Unicode程序的语言。
将“更改系统区域设置”设置为英语(美国)后,我的vs2010默认编码更改为Windows-1252
。它之前是gb2312
。
我创建了一个新的C++项目的.cpp
文件,在将新文件检入TFS后,文件属性页面显示编码为Windows-1252。
这是一个老话题,但我会在这里分享一下帮助了我的方法: 更改Visual Studio默认编码格式
Visual Studio的默认编码格式是UTF-8,但它内置了各种语言的编码格式,可以根据您的需要进行选择。通常情况下,可以保留UTF-8,因为程序通常是用英语编写的,所以兼容性更好。它可以在大多数语言系统中运行,并且不会引起异常,因为它们可以被识别。
您可以在Visual Studio的“高级保存选项”对话框中设置默认编码格式,它可以通过“文件”菜单打开;但有时它不会在“文件”菜单中显示“高级保存选项”而被隐藏。
点击"工具",在弹出菜单中选择"自定义"以打开"自定义"对话框;选择"命令"选项卡,点击"菜单栏"右侧的下拉列表框,并从弹出选项中选择"文件";点击"添加命令",在打开的对话框中,在左侧列表框中选择"文件",在右侧列表框中选择"高级保存选项";点击"确定",它将被添加到"文件"菜单中。
点击"文件",在弹出菜单中选择"高级保存选项"。 打开"高级保存选项"对话框,当前设置的编码为"US-ASCII - Codepage 20127"。
点击"编码"下拉列表框,拖动滚动条到顶部,并选择"Unicode (UTF-8 with signature) - Codepage 65001"。
点击"确定",然后Visual Studio将默认编码格式设置为UTF-8。
我不知道有全局设置,但你可以尝试以下方法:
std::setlocale(LC_ALL, "de_DE")
或std::setlocale(LC_ALL, "Russian")
)。