2

Я заметил что-то неожиданное в командной строке Windows 8.1 (и Windows 7). Я надеялся, что кто-то сможет уточнить это.

Я установил cmd-colors-solarized на свою машину, чтобы в моей командной строке использовалась цветовая схема Solarized. Сценарий работает путем добавления цветовых идентификаторов в реестр, а именно в [HKEY_CURRENT_USER\Console] .

  • Когда я открываю командную строку через меню «Пуск» (нажмите Ключ Windows и начать вводить cmd) я получаю командную строку с цветовой схемой Solarized. Это работает как для обычного пользователя в качестве администратора.
  • Когда я открываю командную строку через меню опытного пользователя (Ключ Windows + X) Я получаю размер и цветовую схему по умолчанию.
  • Когда я открываю командную строку Visual Studio (которая на самом деле вызывает следующее: %comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\VsDevCmd.bat""), я получаю значение по умолчанию размер и цветовая гамма.

Я предполагал, что одни и те же настройки будут использоваться при открытии командных строк по-разному, но, похоже, это не так. Я осмотрел реестр, но не смог найти других возможных мест, где последние две командные подсказки могли получить информацию.

Кто-нибудь знает, почему все командные строки выглядят и ведут себя по-разному?

редактировать: я так много возился с реестром, что больше не могу заставить работать тему Solarized. Но я добился определенного прогресса в том, почему это происходит. Я могу видеть цвета Solarized, когда выбираю редактирование параметров командной строки по умолчанию, а не когда пытаюсь редактировать свойства. Пост Временное изменение свойств консоли в Windows 7 содержит ответ на вопрос, почему, теперь я хотел бы знать, как я могу это исправить.

1 ответ1

3

Если вы запускаете консольное приложение через файл LNK, тогда настройки приходят из этого LNK (если он есть) и сохраняются в нем. Win+X LNK, расположенные здесь% LocalAppData%\Microsoft\Windows\WinX, и "Командная строка Visual Studio" также являются LNK, поэтому настройки поступают не из реестра. Если вы запускаете консольное приложение с помощью EXE-файла, настройки приходят и сохраняются в HKEY_CURRENT_USER\Console subkey на основе полного пути EXE.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .