Visual Studio 2015 — дополнительные параметры сохранения Отсутствуют типы кодирования

Я наблюдаю очень странное поведение моих установок Visual Studio 2013 и 2015 на моем компьютере с Windows 10 x64: они больше не отображают полные "Дополнительные параметры сохранения..."< /strong> Список типов кодирования, который был сокращен до 3 возможных вариантов (см. скриншот №1).

Снимок экрана 1: VS2015/VS2013 в Windows 10 — доступно только 3 типа кодировки

Ожидается, что список будет содержать гораздо более широкий выбор типов кодирования, включая UTF-8 без BOM, который я часто использую: все они доступны в VS, установленном на моем ноутбуке (Windows 8.1 x64, Visual Studio 2013). , см. скриншот №2).

Снимок экрана 2: VS2013 в Windows 8.1 — доступны все типы кодирования

Кто-нибудь знает, почему это происходит и как это исправить? Заранее спасибо.

EDIT: все эти сборки VS относятся к Community Edition, в том числе и на ноутбуке (это не должно быть связано со сборкой — в CE всегда были эти enctypes). Путь к первому скриншоту был поцарапан мной, он отлично отображается в графическом интерфейсе.


person Darkseal    schedule 02.11.2015    source источник
comment
Вы зачеркнули путь к файлу на первом скриншоте? Это вам не поможет, но Enterprise 2015 в Win 7 x64 Enterprise работает корректно. У меня нет версии сообщества для тестирования.   -  person ThisClark    schedule 02.11.2015
comment
Не могли бы вы предоставить нам содержимое файла? Это только с одним конкретным файлом или вы сталкиваетесь с проблемой с несколькими файлами?   -  person Thomas Ayoub    schedule 12.11.2015


Ответы (1)


Visual Studio, похоже, использует метод IMultiLanguage2::EnumCodePages для заполнения этого поля со списком. Его второй параметр — это идентификатор языка, на котором вызывающая сторона хочет, чтобы были описания, и VS передает 0x409 (английский язык США), что, как я полагаю, является его языковой версией (это может быть другим, когда вы используете локализованную версию VS, но вы не вроде так делают). Проблема проявляется в Windows 10, когда у вас не установлен языковой пакет для английского языка (США). Предыдущие версии Windows, кажется, содержат описания кодовых страниц на всех языках (я пробовал британский английский и польский), но я думаю, что Windows 10 более экономна в этом отношении и возвращает пустое перечисление, когда вы вызываете этот метод, запрашивая описания на этом языке. не имеет установленного языкового пакета для.

TL;DR Добавьте язык «Английский (США)» и установите соответствующий языковой пакет либо через «Настройки», либо через панель управления. Вы также можете получить DVD-диск с языковым пакетом для автономной установки с помощью инструмента lpksetup по подписке MSDN, если она у вас есть.

person cynic    schedule 13.11.2015
comment
Установил языковой пакет, запустил VS2015 и... теперь все отлично работает. Вы мужчина, сэр: большое спасибо за ваше прекрасное объяснение и предложение, вот почему я так люблю это место. - person Darkseal; 14.11.2015
comment
Мы попробовали то же решение, но похоже, что на задействованных машинах языковой пакет недоступен. Мы думаем, что установки Windows сломаны, и заменим их. В любом случае, похоже, что ваше решение работает для некоторых, поэтому я предоставил награду. - person Dave Van den Eynde; 19.11.2015
comment
@DaveVandenEynde Я также не смог получить языковой пакет через потребительский маршрут (то есть просто загрузить его в настройках или панели управления), так как моя машина с Windows находится в домене с WSUS, и я не хотел иметь дело с моим admin - вы должны попробовать метод автономной установки - каким-то образом получите языковой пакет CAB (я получил его из загрузок для подписчиков MSDN) и установите его с помощью lpksetup. - person cynic; 19.11.2015
comment
Спасибо, я передам это. - person Dave Van den Eynde; 19.11.2015