【发布时间】:2010-12-22 18:33:13
【问题描述】:
有什么方法可以强制 Visual Studio (2010) 始终以 UTF-8 格式保存所有文件?
【问题讨论】:
-
这可以通过EditorConfig 和
charset = utf-8实现,参见stackoverflow.com/a/51716830/371
有什么方法可以强制 Visual Studio (2010) 始终以 UTF-8 格式保存所有文件?
【问题讨论】:
charset = utf-8 实现,参见stackoverflow.com/a/51716830/371
我不知道如何强制它以 UTF-8 格式保存所有内容,但您可以根据具体情况进行操作。当您第一次保存文档并出现“另存为...”对话框时,“保存”按钮实际上是一个带有两个选项的下拉按钮。您想要“使用编码保存...”,然后它将显示已安装 Windows 编码的完整列表。
您真正想要的编码在底部:
Unicode(不带签名的 UTF-8)- 代码页 65001
虽然如果你想为自己省去很多痛苦,你可能会想要选择靠近顶部的选项:
Unicode(带签名的 UTF-8) - 代码页 65001
不同之处在于后一个选项粘贴 UTF-8 签名(它只是以 UTF-8 编码的 UTF-16 字节顺序标记)。这是我最讨厌的问题之一,因为 UTF-8 没有有多个字节顺序,所以 BOM 充其量是多余的,最坏的情况是破坏各种文本处理工具。 MS 使用它自动“检测” UTF-8,因为对于单字节字符,UTF-8、ISO-8859-1 和 CP-1252 是相同的,除了 MS 基本上的 32 个字符序列 (0x80 - 0x9f)编造的。
如果您只使用 Visual Studio 或 .NET 工具编辑或处理文件,那么使用签名保存可能会正常工作。如果您需要保存文件以供其他工具使用(批处理文件、SQL 查询、PHP 脚本等),签名会导致问题,您应该在没有它的情况下保存它们。如果这样做,您可能需要启用选项(在工具 -> 选项 -> 文本编辑器下)“自动检测不带签名的 UTF-8 编码”,或者,右键单击文件并选择“打开方式” ...”并选择“带编码的编辑器”的编辑器选项。
【讨论】:
我认为它将文件保存在当前代码页中。 Tools->Options->Environment->Documents 下有一个选项,当它无法保存在当前代码页中时,它可以保存在 unicode 中。但我不知道这是否有帮助......
【讨论】:
我想你想试试 ForceUtf8(with BOM)/ForceUtf8(without BOM) 扩展。
只需在 VS 扩展库中搜索 UTF8(工具 -> 扩展和更新)
【讨论】: