Рады вернуться с последним крупным обновлением перед релизом версии 1.0! Выпуски с настоящего времени и до выхода v1.0 будут ревизиями этой версии. Как и всегда вы можете загрузить Терминал из Microsoft Store, либо со страницы выпусков на GitHub. Под катом подробнее рассмотрим детали обновления!
![image](https://habrastorage.org/webt/e7/r0/_t/e7r0_tznviogx4tw7axbr6wlvz4.gif)
Это первая версия Windows Terminal, пользовательский интерфейс которого поддерживает не только английский язык. Мы все еще работаем над ошибками, так что просим отнестись к этому с пониманием. Если вы обнаружите какие-либо проблемы с переводом, пожалуйста, сообщите о них нам на GitHub.
Мы хотели бы обратить ваше внимание на то, что внесли некоторые изменения в настройки. Рекомендуем вам переместить файл settings.json из папки приложения, чтобы Терминал автоматически сгенерировал новый. После этого вы можете скопировать свои настройки обратно.
Файл profiles.json был переименован в settings.json. Если у вас уже установлен Терминал, имя файла будет автоматически обновлено.
Шрифт Cascadia Code был установлен по умолчанию для всех профилей, автоматически генерируемых Терминалом. Если вы хотите изменить шрифт, то добавьте свойство fontFace в любой профиль или в раздел defaults.
Теперь терминал поставляется с цветовыми схемами Tango Dark и Tango Light.
![image](https://habrastorage.org/r/w1560/webt/a4/ja/_t/a4ja_txvfzkedlcdaaig5bkhkfy.png)
![image](https://habrastorage.org/r/w1560/webt/ff/ai/pj/ffaipj1h9xdkhjpcnaz3fl1z4ky.png)
Во вновь сгенерированном файле settings.json операции копирования и вставки привязаны к ctrl+c и ctrl+v, соответственно. Новые привязки клавиш работают вместе с ctrl+shift+c и ctrl+shift+v, и, при необходимости, вы можете легко удалить их. Более того, если вы все же решите отказаться от ctrl+c и ctrl+v, у вас все еще будет работать старая комбинация клавиш, включенная в файл defaults.json.
Примечание: если вы хотите «освободить» старую комбинацию клавиш, то можете установить ее значение в unbound или null в файле settings.json.
Мы изменили стандартное поведение копирования на копирование без форматирования. Для этого во вновь сгенерированный файл settings.json был добавлен новый глобальный параметр copyFormatting. По умолчанию, его значение установлено на false.
Примечание: в defaults.json для copyFormatting установлено значение true.
При подготовке к выпуску версии 1.0 были удалены некоторые устаревшие настройки. Мы понимаем, что это, вероятно, повлияло на ваши рабочие процессы, но надеемся, что в дальнейшем к этому не придется прибегать.
Пространство имен “Globals”
Отныне Терминал не поддерживает свойство globals в файле JSON. Если у вас есть настройки внутри объекта globals, они будут игнорироваться. Чтобы решить эту проблему удалите объект globals и переместите свои глобальные параметры в корень файла JSON.
theme
Глобальный параметр requestedTheme был переименован в theme. Это поможет обеспечить гибкость для установки тем в будущем.
Копирование одной строкой
Команда copyTextWithoutNewlines и аргумент trimWhitespace для действия copy были удалены и заменены аргументом singleLine. Это изменение помогает лучше объяснить, как работает эта функция. Если вы установите значение данного аргумента на true, для действия copy, содержимое, скопированное из Терминала, будет вставлено одной строкой.
Создание вкладки с определенным профилем
Первая итерация создания новой вкладки c определенным профилем имела команды привязки клавиш от newTabProfile0 до newTabProfile8. Мы удалили эти команды в пользу более гибкой альтернативы.
Примечание: индексирование в Терминале начинается с 0.
Переход к определенной вкладке
Навигация по вкладкам теперь имеет ту же структуру, что и создание новой вкладки. switchToTab0 — switchToTab8 были удалены в пользу свойства index.
Примечание: индексирование в Терминале начинается с 0.
Разбиение панели
Чтобы обеспечить больше возможностей при разбиении панели, splitHorizontal и splitVertical были заменены на новый формат. Кроме того, теперь, если вы не укажете направление разделения, Терминал по умолчанию будет использовать разделение с помощью функции auto, которая будет проводить разбивку с учетом обеспечения наибольшей площади поверхности.
Переключение между панелями
Изначально вы могли использовать moveFocusDown, moveFocusUp, moveFocusLeft, moveFocusRight для создания привязок клавиш, позволяющих перемещаться между панелями. Мы удалили их и добавили в качестве замены следующий формат:
Изменение размера панелей
Чтобы следовать той же архитектуре привязки клавиш, старые команды для изменения размера панелей (resizePaneDown, resizePaneUp, resizePaneLeft, resizePaneRight) также были удалены и заменены следующим форматом:
Изменение размера шрифта
Следующие команды привязки клавиш позволяли вам изменять размер шрифта, но теперь они удалены: decreaseFontSize, increaseFontSize.
Вы можете изменить размер шрифта, воспользовавшись приведенными ниже привязками клавиш, которые используют delta, определяющую изменение размера шрифта в точках.
Мы надеемся, что вам нравится Windows Terminal, и вы, как и мы, ждете версию 1.0, выход которой состоится очень скоро. Если вы хотите оставить свой отзыв или у вас появились какие-либо вопросы, то не стесняйтесь писать Кайле (Kayla, @cinnamon_msft) в Twitter. Помимо этого, если вы хотите внести предложение по улучшению Терминала или же сообщить об ошибке в нем, то, пожалуйста, обратитесь для этого к нам на GitHub. Скоро увидимся с нашей версией 1.0!
![image](https://habrastorage.org/r/w1560/webt/wn/nq/bj/wnnqbjehv5ylxwlmcixhknhwpvk.png)
![image](https://habrastorage.org/webt/e7/r0/_t/e7r0_tznviogx4tw7axbr6wlvz4.gif)
Локализация
Это первая версия Windows Terminal, пользовательский интерфейс которого поддерживает не только английский язык. Мы все еще работаем над ошибками, так что просим отнестись к этому с пониманием. Если вы обнаружите какие-либо проблемы с переводом, пожалуйста, сообщите о них нам на GitHub.
Обновление настроек
Мы хотели бы обратить ваше внимание на то, что внесли некоторые изменения в настройки. Рекомендуем вам переместить файл settings.json из папки приложения, чтобы Терминал автоматически сгенерировал новый. После этого вы можете скопировать свои настройки обратно.
Settings.json
Файл profiles.json был переименован в settings.json. Если у вас уже установлен Терминал, имя файла будет автоматически обновлено.
Cascadia Code
Шрифт Cascadia Code был установлен по умолчанию для всех профилей, автоматически генерируемых Терминалом. Если вы хотите изменить шрифт, то добавьте свойство fontFace в любой профиль или в раздел defaults.
Цветовые схемы Tango
Теперь терминал поставляется с цветовыми схемами Tango Dark и Tango Light.
![image](https://habrastorage.org/webt/a4/ja/_t/a4ja_txvfzkedlcdaaig5bkhkfy.png)
![image](https://habrastorage.org/webt/ff/ai/pj/ffaipj1h9xdkhjpcnaz3fl1z4ky.png)
Копирование и вставка
Во вновь сгенерированном файле settings.json операции копирования и вставки привязаны к ctrl+c и ctrl+v, соответственно. Новые привязки клавиш работают вместе с ctrl+shift+c и ctrl+shift+v, и, при необходимости, вы можете легко удалить их. Более того, если вы все же решите отказаться от ctrl+c и ctrl+v, у вас все еще будет работать старая комбинация клавиш, включенная в файл defaults.json.
Примечание: если вы хотите «освободить» старую комбинацию клавиш, то можете установить ее значение в unbound или null в файле settings.json.
{ "command": "unbound", "keys": "ctrl+shift+c" },
{ "command": null, "keys": "ctrl+shift+v" }
Копирование
Мы изменили стандартное поведение копирования на копирование без форматирования. Для этого во вновь сгенерированный файл settings.json был добавлен новый глобальный параметр copyFormatting. По умолчанию, его значение установлено на false.
Примечание: в defaults.json для copyFormatting установлено значение true.
Настройки, которые были удалены
При подготовке к выпуску версии 1.0 были удалены некоторые устаревшие настройки. Мы понимаем, что это, вероятно, повлияло на ваши рабочие процессы, но надеемся, что в дальнейшем к этому не придется прибегать.
Пространство имен “Globals”
Отныне Терминал не поддерживает свойство globals в файле JSON. Если у вас есть настройки внутри объекта globals, они будут игнорироваться. Чтобы решить эту проблему удалите объект globals и переместите свои глобальные параметры в корень файла JSON.
theme
Глобальный параметр requestedTheme был переименован в theme. Это поможет обеспечить гибкость для установки тем в будущем.
"theme": "system"
Копирование одной строкой
Команда copyTextWithoutNewlines и аргумент trimWhitespace для действия copy были удалены и заменены аргументом singleLine. Это изменение помогает лучше объяснить, как работает эта функция. Если вы установите значение данного аргумента на true, для действия copy, содержимое, скопированное из Терминала, будет вставлено одной строкой.
{ "command": { "action": "copy", "singleLine": true ), "keys": "ctrl+alt+c" }
Создание вкладки с определенным профилем
Первая итерация создания новой вкладки c определенным профилем имела команды привязки клавиш от newTabProfile0 до newTabProfile8. Мы удалили эти команды в пользу более гибкой альтернативы.
Примечание: индексирование в Терминале начинается с 0.
{ "command": { "action": "newTab", "index": NUMBER }, "keys": "ctrl+shift+NUMBER" }
Переход к определенной вкладке
Навигация по вкладкам теперь имеет ту же структуру, что и создание новой вкладки. switchToTab0 — switchToTab8 были удалены в пользу свойства index.
Примечание: индексирование в Терминале начинается с 0.
{ "command": { "action": "switchToTab", "index": NUMBER }, "keys": "ctrl+alt+NUMBER" }
Разбиение панели
Чтобы обеспечить больше возможностей при разбиении панели, splitHorizontal и splitVertical были заменены на новый формат. Кроме того, теперь, если вы не укажете направление разделения, Терминал по умолчанию будет использовать разделение с помощью функции auto, которая будет проводить разбивку с учетом обеспечения наибольшей площади поверхности.
{ "command": { "action": "splitPane", "split": "horizontal"}, "keys": "alt+shift+-" },
{ "command": { "action": "splitPane", "split": "vertical"}, "keys": "alt+shift+plus" }
Переключение между панелями
Изначально вы могли использовать moveFocusDown, moveFocusUp, moveFocusLeft, moveFocusRight для создания привязок клавиш, позволяющих перемещаться между панелями. Мы удалили их и добавили в качестве замены следующий формат:
{ "command": { "action": "moveFocus", "direction": "down" }, "keys": "alt+down" },
{ "command": { "action": "moveFocus", "direction": "up" }, "keys": "alt+up" },
{ "command": { "action": "moveFocus", "direction": "left" }, "keys": "alt+left" },
{ "command": { "action": "moveFocus", "direction": "right" }, "keys": "alt+right" }
Изменение размера панелей
Чтобы следовать той же архитектуре привязки клавиш, старые команды для изменения размера панелей (resizePaneDown, resizePaneUp, resizePaneLeft, resizePaneRight) также были удалены и заменены следующим форматом:
{ "command": { "action": "resizePane", "direction": "down" }, "keys": "alt+shift+down" },
{ "command": { "action": "resizePane", "direction": "up" }, "keys": "alt+shift+up" },
{ "command": { "action": "resizePane", "direction": "left" }, "keys": "alt+shift+left" },
{ "command": { "action": "resizePane", "direction": "right" }, "keys": "alt+shift+right" }
Изменение размера шрифта
Следующие команды привязки клавиш позволяли вам изменять размер шрифта, но теперь они удалены: decreaseFontSize, increaseFontSize.
Вы можете изменить размер шрифта, воспользовавшись приведенными ниже привязками клавиш, которые используют delta, определяющую изменение размера шрифта в точках.
{ "command": { "action": "adjustFontSize", "delta": -1 }, "keys": "ctrl+-" },
{ "command": { "action": "adjustFontSize", "delta": 1 }, "keys": "ctrl+=" }
Исправление ошибок
- Больше нет линий, появлявшихся между сплошными фоновыми блоками;
- Более надежно срабатывают аргументы командной строки. В том порядке, в котором вы их ожидаете;
- Для решения некоторых проблем с раскладками клавиатуры, отличающимися от формата US-104 QWERTY, был изменен стек ввода;
- Теперь границы окна Терминала соответствуют используемой теме.
В заключение
Мы надеемся, что вам нравится Windows Terminal, и вы, как и мы, ждете версию 1.0, выход которой состоится очень скоро. Если вы хотите оставить свой отзыв или у вас появились какие-либо вопросы, то не стесняйтесь писать Кайле (Kayla, @cinnamon_msft) в Twitter. Помимо этого, если вы хотите внести предложение по улучшению Терминала или же сообщить об ошибке в нем, то, пожалуйста, обратитесь для этого к нам на GitHub. Скоро увидимся с нашей версией 1.0!
![image](https://habrastorage.org/webt/wn/nq/bj/wnnqbjehv5ylxwlmcixhknhwpvk.png)