如何在 Visual Studio 2010 中设置默认编码

Posted

技术标签:

【中文标题】如何在 Visual Studio 2010 中设置默认编码【英文标题】:How to set up default encoding in Visual Studio 2010 【发布时间】:2011-05-27 01:03:45 【问题描述】:

我们正在使用 Visual Studio 2010 专业版开发和维护我们公司的 ASP(经典 ASP,而不是 ASP.NET)电子商务网站,每次创建新页面时都会遇到文件编码问题。

我们网站中的每个页面都保存为 Windows-1252,当我创建一个新页面(或在我修改现有页面时随机)时,Visual Studio 使用 UTF-8 编码保存页面,搞砸了扩展字符或#includes(因为包含的文件保存为 Windows-1252 并且包含它的页面是 UTF-8,所以在显示时包含的内容会变得混乱)。

我尝试过到处搜索,但我找到的唯一解决方案是“使用“文件”→“另存为”→“使用编码保存”手动保存每个文件,这每次都很麻烦(而且我'我总有一天会忘记这样做)。

我已经尝试在“环境”→“文档”设置中取消选择“当数据无法保存在代码页中时将文档另存为 Unicode”选项,但无济于事。

我真的坚持手动操作吗?

【问题讨论】:

我冒昧地从中删除了“ANSI”。 Windows-1252 没有 ANSI 标准。 【参考方案1】:

Lars-Erik's answer 可以解决问题。

只需添加一些信息:

对于那些想要更改 MFC 文件的默认编码的人,这里是模板:

...\Microsoft Visual Studio 10.0\VC\VCWizards\CodeWiz\MFC\Simple\Templates\LANG_CODE

LANG_CODE 是你的 VS 2010 的语言(1033: en-us, 2052: zh-cn, etc.)

就我而言,VS的语言是en-us,MFC模板文件 都是用英文(只有 ASCII 字符)写的,没有 UTF8 BOM,它 意味着它们可以被解释为 UTF8 文件或我的操作系统代码中的文件 页(cp932)。这些模板创建的文件在 cp932 中处理,而不是 默认情况下为 Unicode,所以我必须将 BOM 添加到这些模板中才能制作 VS 2010 以 UTF8 显式保存文件(也使用 BOM)。

【讨论】:

【参考方案2】:

我回答这个问题已经很晚了,但我自己也遇到了这个问题,这是谷歌上的第一次点击,所以如果其他人想知道,我会在这里记录下来。 :)

Visual Studio 中新文件的默认编码取决于该类型文件的模板。

例如,javascript 文件模板位于 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Web\WebNewFileItems\JScript.js(在我的盒子上)。 如果您编辑该文件并使用您选择的编码保存它,则使用 VS 创建的所有新 javascript 文件都将采用该编码。

因此您可以独立设置每种文件类型的编码。

【讨论】:

有趣的解决方案。现在我只需要找到它保存纯文本文件模板的位置... C:\Program Files (x86)\Microsoft Visual Studio 10.0\VSTSDB\Items :) 奇怪的是它没有像vs2003一样将模板存储在一个地方。 c++ 模板在哪里,我想知道【参考方案3】:

找不到,但内置的解决方法是,文件>另存为>然后保存按钮所在的位置,有一个向下箭头,为您提供“使用编码保存”选项

我选择 US ASCII 因为一旦发布,我就会获得所有文档的 BOM。

【讨论】:

如果您阅读了整个问题,您会发现 OP 已经按照您的建议进行操作。提示:通常/对于您自己的开发,花一点时间正确阅读可以节省您更多的时间,因为您无需修复本可以避免的错误。 ;)【参考方案4】:

我不知道VS中是否有更改默认编码的设置(尽管我非常怀疑)。但是,您可以很容易地编写一个小插件,为您提供“另存为 1252”命令,然后可以将其映射到您喜欢的任何菜单中。

【讨论】:

嗯,这可能是一种解决方法,但不是最好的解决方法(而且我对创建 Visual Studio 加载项一无所知)。如果没有其他选择是可行的,我会尝试这个。是时候进行一些搜索引擎查找了... 我会一直关注这里是否有人找到更好的解决方案。 这是一个阻止 VS 将 BOM 添加到 UTF-8 编码文件的加载项示例:vlasovstudio.com/fix-file-encoding

以上是关于如何在 Visual Studio 2010 中设置默认编码的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 2010 中设置环境变量?

如何在 Visual Studio 2010 中设置 Qt 路径?

如何在 Visual Studio 2010 中设置单独的 Boost 测试项目

如何在 Visual Studio 2010 安装项目中设置“以管理员身份运行”权限? [复制]

如何在 Visual Studio 2010 的 C++ googletest 项目中设置代码覆盖率

opencv:如何在 Visual Studio 2005 中设置项目依赖项?