Visual Studio 2017源文件默认编码及自定义配置相关技术咨询
VS2017 文件编码相关问题解答
嘿,我来帮你梳理VS2017编码相关的疑问,正好对这块比较熟悉:
1. VS2017中所有文件类型均以UTF8-BOM编码保存吗?
并不是所有文件类型都默认采用UTF8-BOM编码。VS2017针对不同类型的文件有差异化的默认策略:
- 像C/C++源文件(
.cpp/.h)、C#文件(.cs)这类主流代码文件,默认确实会以UTF8-BOM编码保存新文件; - 但对于文本文件(
.txt)、部分配置文件或者特定脚本文件,默认编码可能会参考系统区域设置,或者沿用对应模板的编码配置,不一定是UTF8-BOM。
2. 是否可以在VS2017中配置新文件的编码?
当然可以!虽然原来的「Advanced Save Options」直接入口藏起来了,但有几种可行的方法:
- 临时修改当前文件编码:打开「File」菜单时按住
Alt键,原来的「Advanced Save Options」就会显示出来,点击后就能选择目标编码保存当前文件; - 全局设置默认编码:找到VS2017安装目录下的
devenv.exe.config(路径一般是C:\Program Files (x86)\Microsoft Visual Studio\2017\[你的版本,比如Community]\Common7\IDE),在<configuration>节点内添加以下配置:
<system.web> <globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" /> </system.web>
注意这里可以替换成你想要的编码(比如gb2312),但这是全局生效的设置;
- 借助扩展工具:在VS Marketplace里搜索「Encoding」扩展,安装后能更直观地管理编码,还能方便地设置不同文件类型的默认编码。
3. VS2017是否会更改现有文件的编码?
(推测你想问的是现有文件的编码是否会被自动修改)VS2017默认不会主动更改现有文件的编码。当你打开一个非UTF8-BOM的文件时,VS会自动检测并识别原编码,正常显示内容;如果不手动在保存时选择新编码,文件会保持原有的编码格式。
内容的提问来源于stack exchange,提问作者Manuel




