Visual Studio 2015 - 缺少高级保存选项编码类型

11

我在我的Windows 10 x64机器上遇到了一个非常奇怪的问题:我的Visual Studio 2013和2015安装不再显示完整的"高级保存选项..."编码类型列表,只剩下三种可能的选择(见截图#1)。

截图1: VS2015 / VS2013在Windows 10上 - 只有3种编码类型可用

该列表预计包含大量更广泛的编码类型选择,包括我经常使用的无BOM UTF-8:它们都可以在我笔记本电脑上安装的VS中使用(Windows 8.1 x64,Visual Studio 2013,见截图#2)。

截图2: VS2013在Windows 8.1上 - 所有编码类型均可用

有人知道这是为什么,以及如何解决吗? 谢谢。

编辑: 所有这些VS生成都是社区版,包括笔记本电脑上的那个(它不应该与生成相关 - CE始终具有这些编码方式)。第一张截图的路径已被我删除,它在GUI中显示正常。

你在第一张截图中抹掉了文件路径吗?这对你没有帮助,但是在Win 7 x64企业版中,Enterprise 2015正常工作。我没有社区版进行测试。 - ThisClark
你能提供文件的内容吗?这只是一个特定的文件还是你在多个文件中都遇到了这个问题? - Thomas Ayoub
1个回答

4
Visual Studio似乎使用IMultiLanguage2 :: EnumCodePages方法来填充此组合框。它的第二个参数是调用方希望描述所在的语言ID,而VS正在传递0x409(美式英语),我猜这是它的语言版本(当您使用本地化版本的VS时可能会不同,但您似乎没有这样做)。当您未安装美式英语语言包时,该问题在Windows 10中表现出来。以前的Windows版本似乎包含每种语言的代码页描述(我尝试了英国英语和波兰语),但我猜Windows 10对此更加节俭,并在您调用要求以其没有安装语言包的语言获取描述的方法时返回一个空枚举。

TL;DR 添加“英语(美国)”语言并安装其相关语言包,可以通过设置或控制面板实现。如果您有MSDN订阅,则还可以使用lpksetup工具获取语言包DVD进行离线安装。


安装了语言包,启动了VS2015,现在完美运行。您真是太棒了,非常感谢您的完美解释和建议,这就是我如此喜爱这个地方的原因。 - Darkseal
我们尝试了相同的解决方案,但似乎涉及的机器上没有可用的语言包。我们认为Windows安装已损坏并将其替换。无论如何,看起来你的解决方案对一些人有效,所以我授予了悬赏。 - Dave Van den Eynde
@DaveVandenEynde 我也无法通过“消费者途径”(即在设置或控制面板中下载)获取语言包,因为我的Windows机器在WSUS域上,我不想处理管理员的问题 - 你应该尝试离线安装方法 - 以某种方式获取语言包CAB文件(我从MSDN订阅下载中获取),然后使用lpksetup进行安装。 - cynic
谢谢,我会转达的。 - Dave Van den Eynde

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接