我正在使用 Microsoft Visual Studio Express 2012 for Web。似乎我用它打开的每个文件都被编码为 UTF-8。对于将要面向 Web 的大多数文件,这很好。但是,我的项目中有专门用于构建目的的文件(例如,.bat文件),这些文件必须以 ANSI 编码。
VS 中是否有任何配置设置可以指定每个文件或每个扩展名的编码?或者,如果不指定编码,至少禁用自动转换为 UTF-8?
我正在使用 Microsoft Visual Studio Express 2012 for Web。似乎我用它打开的每个文件都被编码为 UTF-8。对于将要面向 Web 的大多数文件,这很好。但是,我的项目中有专门用于构建目的的文件(例如,.bat文件),这些文件必须以 ANSI 编码。
VS 中是否有任何配置设置可以指定每个文件或每个扩展名的编码?或者,如果不指定编码,至少禁用自动转换为 UTF-8?
可以在“选项”对话框中配置在每次打开的基础上处理给定扩展名的所有文件编码的选项。请参阅有关选项、文本编辑器、文件扩展名的 MSDN 页面。
导航到工具 > 选项 > 文本编辑器 > 文件扩展名。
对于bat扩展,我选择了Source Code (Text) Editor with Encoding。with Encoding部分意味着用户将获得关于在打开文件时使用何种编码的选项。此模式下的默认值为Auto-detect,它保留 ANSI 编码(如果文件已使用该编码)。否则,可以为单个文件明确指定它。
不幸的是,它似乎不记得上次打开文件时使用的设置,因此每次打开文件时都会提示输入编码设置。
我也遇到了宽度 VS studio 2012 的代码转换问题。即,我的 .js 文件中的字符串中有不符合 ansi 的字符,并且不可读的字符被输出到浏览器的 html 页面。 我发现接受脚本文件(如 .js)VS 2012 会在 UTF-8 中创建所有文件。 *问题在于以下建议更改选项对话框中的默认值导致语法突出显示和 intelisense 停止在所有 .js 文件中工作。* 所以我的解决方法是我将我的 .js 文件与 notepad++ 转换为没有 BOM 的 utf-8。 通过这种方式,我的“不寻常”字符在浏览器中显示得很好,并且 intelisense 也可以正常工作。