我正在寻找一种设置Visual Studio的方法,以便它始终将我的文件保存在UTF-8中。
我只找到了将项目设置为广泛的选项。有没有办法将它设置为Visual Studio范围?
Answers:
您是否因为使用的特殊字符会以ASCII编码丢失而将文件另存为UTF-8?如果是这样,则在中存在一个VS2008全局设置Tools > Options > Environment > Documents
,名为Save documents as Unicode when data cannot be saved in codepage
。启用此功能后,如果某些字符无法在其他默认代码页中表示,则VS2008将另存为Unicode。
另外,哪些文件没有保存为UTF-8?默认情况下,我的所有.cs,.csproj,.sln,.config,.as * x等都保存为UTF-8(带有签名,字节顺序标记)。
使用EditorConfig可以实现。
EditorConfig帮助开发人员在不同的编辑器和IDE之间定义和维护一致的编码样式。
这也包括文件编码。
默认情况下,EditorConfig是内置的Visual Studio 2017,并且我有适用于VS2012的版本的插件。从EditorConfig Visual Studio插件页中阅读更多内容。
您可以在文件夹结构中设置一个足够高的EditorConfig配置文件,以覆盖所有预期的存储库(如果文件确实分散在各处,则可以达到驱动器根目录)并配置设置charset
:
charset:设置为latin1,utf-8,utf-8-bom,utf-16be或utf-16le来控制字符集。
如果希望更好地控制,可以在每个文件夹级别或按文件名/类型添加过滤器和例外等。
配置完成后,兼容的IDE应自动执行操作,以使匹配文件符合设置规则。请注意,在IDE中使用文件(打开并保存)时,Visual Studio不会自动转换所有文件,但是会自动转换位。
虽然您可以在Visual Studio范围内进行设置,但我强烈建议您仍在解决方案版本控件中包含一个EditorConfig根目录,以便将明确的设置也自动同步到所有团队成员。如果某些项目尚未设置自己的editorconfig文件,则驱动器根目录editorconfig文件可以作为后备。
我使用Windows7。
控制面板-区域和语言-管理-非Unicode程序的语言。
在将“更改系统区域设置”设置为英语(美国)之后。我将vs2010的默认编码更改为Windows-1252
。是gb2312
以前
在将新.cpp
文件签入TFS后,我为C ++项目创建了一个新文件,该文件的属性页中的编码显示为Windows-1252。
我不知道全局设置,但是您可以尝试以下方法: