Visual Studio 2017中源文件的默认编码是什么

Man*_*uel 14 c# visual-studio-2017

视觉工作室2017似乎总是将新文件保存为UTF8-BOM.它似乎与早期版本的visual studio不同,但我找不到任何文档.

还有一个选项"高级保存选项\编码",它允许更改VS2017中缺少的新保存文件的编码.

问题:

  • 是否在VS2017中使用UTF8-BOM编码保存所有文件类型
  • 是否可以在VS2017中配置新文件的编码
  • VS2017会改变没有UTF8-BOM的"旧"文件的编码
  • 是否有关于此主题的任何文档

Ami*_*rzi 9

还有一个选项“高级保存选项\编码”,它允许更改 VS2017 中缺少的新保存文件的编码。

此功能已经存在!您可以使用特定字符编码保存文件以支持双向语言。您还可以在打开文件时指定编码,以便 Visual Studio 正确显示文件。

用编码保存文件

使用编码保存文件

  1. 从“文件”菜单中,选择“将文件另存为”,然后单击“保存”按钮 旁边的下拉按钮。显示高级保存选项对话框。
  2. 在编码下,选择要用于文件的编码。
  3. 或者,在行尾下,选择行尾字符的格式。

VS2017 中是否所有文件类型都以 UTF8-BOM 编码保存

就我而言,VS 使用CodePage 1252编码存储所有文件。

是否可以在 VS2017 中配置新文件的编码

但是,我的 Visual Studio 版本是 15.6.1,有些人在 2017 年以前的版本中遇到了与您相同的问题,但他们说我们已经解决了这个问题,它在 Visual Studio 2017 15.3 中可用

如果不起作用,对于 C++ 项目,请查看/utf-8 (Set Source and Executable character sets to UTF-8)

VS2017 是否会更改没有 UTF8-BOM 的“旧”文件的编码

默认情况下,Visual Studio 检测字节顺序标记以确定源文件是否采用编码的 Unicode 格式,例如 UTF-16 或 UTF-8。如果未找到字节顺序标记,则假定源文件使用当前用户代码页进行编码,除非您已使用 /utf-8 或 /source-charset 选项指定代码页。 有些人遇到了一个来自.editorconfig文件的问题,如下:

root = true

[*]
indent_style = tab
indent_size = 4
tab_width = 4
trim_trailing_whitespace = true
insert_final_newline = true
charset = utf-8 
Run Code Online (Sandbox Code Playgroud)

最后的字符集行可能会这样做......但我不是要求'utf-8-with-bom'!


Ser*_*sov 7

您可以将EditorConfigcharset属性一起使用,以在VS 2017中定义源文件的编码.