Visual studio 在VisualStudio中将所有*.cs文件转换为unicode

Visual studio 在VisualStudio中将所有*.cs文件转换为unicode,visual-studio,unicode,utf-8,resharper,visual-studio-2017,Visual Studio,Unicode,Utf 8,Resharper,Visual Studio 2017,我的团队并不关注文件编码(这是正确的,因为人类不应该被文件编码所困扰)。但是,有些文件以utf8格式保存,有些文件以区域编码(cp1250)保存 我需要一个可以做两件事的工具: 1.在将来创建的所有文件上强制使用utf8 2.将具有给定扩展名(或至少*.cs)的所有现有文件转换为utf-8 如何使用VisualStudio或Resharper插件和/或外部工具实现这些目标 我曾尝试使用PowerShell执行#2,但它很混乱(有时会删除/添加最后一行)。也许我可以用一些免费软件来做这件事,第1点

我的团队并不关注文件编码(这是正确的,因为人类不应该被文件编码所困扰)。但是,有些文件以utf8格式保存,有些文件以区域编码(cp1250)保存

我需要一个可以做两件事的工具:

1.在将来创建的所有文件上强制使用utf8 2.将具有给定扩展名(或至少*.cs)的所有现有文件转换为utf-8 如何使用VisualStudio或Resharper插件和/或外部工具实现这些目标

我曾尝试使用PowerShell执行#2,但它很混乱(有时会删除/添加最后一行)。也许我可以用一些免费软件来做这件事,第1点对我来说更重要。

Re#1:有选择

Environment | Documents | Save documents as Unicode when data cannot be saved in codepage 
但这并不总是如此。似乎没有办法强制这样做(也没有可能的扩展)。是否考虑过写一个扩展名:-)

Re#2:在PSH中应该是可行的(但没有最后一条线可能会弄乱最简单的方法)。然而见

编辑:这似乎是一个常见的请求(请参阅)。关于该用户语音的一条评论要求,在VS2017中,您可以使用
.editorconfig
设置文件的默认编码。

是的,这是可能的

在所有文件上强制使用UTF-8 使用前面提到的@Richard所使用的
.editorconfig
。从VisualStudioV15.3开始,
.editorconfig
支持得到了修复和改进。解决方案级别的这个简单的
.editorconfig
足以确保每个
*.cs
都保存在UTF-8中,而不包含BOM

root = true

[*.cs]
charset = utf-8
此外,它还转换由VisualStudio手动打开和保存的任何现有文件

将所有现有代码文件转换为UTF-8 我测试了线程中的一些答案,结果很糟糕:非拉丁字符(在我的例子中是西里尔文)被转换成了不可读的字形。相反,VisualStudio本身完美地完成了“打开保存”转换

要在解决方案中自动打开并重新保存所有代码文件,请使用简单的R#技巧:

  • 将适用于所有文件的任何R#代码样式规则设置为严格拒绝公司代码约定的值。例如,大括号布局是一个明显的选择
  • 使用
    代码清理
    (默认情况下
    Ctrl+E,C
    )将其应用于整个解决方案。选择最简单的内置“重新格式化代码”模板以最小化更改
  • 格式化并保存所有文件后,将R#规则恢复为原始规则,并再次运行
    代码清理

    此后,所有的
    *.cs
    文件都应保存在UTF-8中(与R#支持的其他文件类型的想法相同)。漂亮的格式是一个额外的奖励。

    有人通过
    editorconfig
    获得UTF-8吗?根据我的经验,VS 2017 15.2完全忽略了
    charset
    设置。