我们注意到,对于某些用户,拉取请求中的 Azure DevOps 显示编码更改为“utf-8 -> Windows-1252”(工具提示
File encoding changed from utf-8 to Windows-1252
)。仅少数用户和某些文件会发生这种情况。
在.editorconfig中我们有:
[*.cs]
charset = utf-8
所以很奇怪它没有被应用。
您知道如何阻止这种不正确的编码更改(或检测)吗? 是 Visual Studio 还是 Azure DevOps bug?
这不是 Azure DevOps 的问题,因为并非所有用户/文件都会发生这种情况。
尝试要求用户使用“另存为”选项来覆盖每个文件的编码进行检查,请参阅doc。
编码格式可能会因多种原因而改变。例如:
当您将 EditorConfig 文件添加到 Visual Studio 中的项目时,代码的
only new lines
将根据 EditorConfig 设置进行格式化。除非您运行像 Code Cleanup这样的命令,否则现有代码
isn't
的格式会发生变化。
或者您的文件夹中还有另一个 .editorconfig 文件
file hierarchy
,新的 EditorConfig 文件设置适用于同级文件以及任何子目录中的文件。
或者用户使用其他工具修改了文件,从而改变了编码。
请查看官方文档使用EditorConfig定义一致的编码风格了解更多详情。