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

Tho*_*aaf 78 encoding character-encoding visual-studio-2008 visual-studio

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

我只找到了设置这个项目的选项有没有办法将它设置为Visual Studio范围?

Sam*_*ham 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(带签名,字节顺序标记).

  • 问题是数据可以保存在默认系统代码页中。但是其他软件不能总是读取系统代码页中的源代码。因此,我寻求默认情况下强制VS将所有文本文件保存为UTF-8的方法。我不知道为什么有人要在UTF-8以外的代码页中保存文本数据。 (3认同)
  • 感谢您的设置提示。我的xaml文件有这个问题,导致编译时出错 (2认同)
  • 还是没有更好的解决方案?每次崩溃后,我的 VS2015 都会不断重置代码页,而且在我用电的情况下,这些情况经常发生,太伤心了,微软是如何做到这一点的,他们如何制作最好的 IDE 而忘记了默认的代码页设置,真可惜(( (2认同)
  • 设置Unicode时,它实际上使用的是UTF-8还是UTF-16? (2认同)

Imr*_*vel 12

什么

使用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文件,则您的驱动器根编辑器文件可以是后备.


Tsv*_*eva 9

这是一个老话题,但我将把对我有帮助的内容放在这里: 更改 Visual Studio 默认编码

Visual Studio默认的编码格式是UTF-8,但是它内置了各种语言的编码格式,可以根据自己的需要进行选择。一般保留UTF-8即可,因为程序通常都是用英文编写的,所以兼容性比较好。它在大多数语言系统中运行并且不会引起异常,因为它们可以被识别。

你在Visual Studio的“高级保存选项”对话框中设置默认的编码格式,可以通过“文件”菜单打开;但有时,它不会在“文件”菜单中显示“高级保存选项”,而是会显示。

  1. 单击“工具”,在弹出的菜单中选择“自定义”,打开“自定义”对话框;选择“命令”选项卡,单击“菜单栏”右侧的下拉列表框,在弹出的选项中选择“文件”;单击“添加命令”,在打开的对话框中,在左侧列表框中选择“文件”,在右侧列表框中选择“高级保存选项”;单击“确定”,将其添加到“文件”菜单中。

  2. 单击“文件”,在弹出的菜单中选择“高级保存选项”。打开“高级保存选项”对话框,当前设置的编码为“US-ASCII - Codepage 20127”。

  3. 单击“编码”下拉列表框,拖动滚动条至顶部,选择“ Unicode(带签名的UTF-8)-代码页65001 ”。

  4. 单击“确定”,然后 Visual Studio 将默认编码格式设置为 UTF-8。

  • 对我来说,这只会更新当前显示的文件的编码。如果我创建一个新文件,则不会使用所选的编码。 (3认同)

小智 5

我使用 Windows7。

控制面板 - 区域和语言 - 管理 - 非 Unicode 程序的语言。

在我将“更改系统区域设置”设置为英语(美国)之后。我的 vs2010 的默认编码更改为Windows-1252. 这是gb2312以前。

.cpp为 C++ 项目创建了一个新文件,在将新文件签入到 TFS 后,编码从文件的属性页面显示 Windows-1252。


Sha*_*men 1

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

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

  • 3.这可能是一个坏主意,因为一旦您签入文件,它就会确定您的文件与签入的文件不匹配。嗯,至少是颠覆。如果可以对支票和签入进行编码,那么这将不是问题。 (2认同)