company_banner

Вышел Windows Terminal Preview v0.8

Автор оригинала: Kayla Cinnamon
  • Перевод
Выпущена новая версия Windows Terminal. Терминал можно загрузить из Microsoft Store или со страницы выпусков на GitHub. Давайте перейдем к просмотру нововведений!

Поиск


В Терминал добавлена функция поиска. По умолчанию, для вызова строки поиска, используется комбинация клавиш CTRL + Shift + F ({«command»: «find», «keys»: [«ctrl+shift+f»]}), но если вы предпочитаете иную комбинацию, то не постесняйтесь и замените ее в файле profiles.json на наиболее удобную вам.

Отдельно стоит отметить, что строка поиска позволяет производить поиск вверх и вниз по буферу, а также сопоставлять регистры букв.

image

Ретро-эффекты (Экспериментальная функция)


Скучаете по старым денькам работы за ЭЛТ-мониторами? Если так, то эта версия Терминала для вас! Теперь, благодаря члену сообщества @ironyman, вы можете включить эффекты ЭЛТ-мониторов прямо в Windows Terminal. Пока что это экспериментальная функция, и для ее включения вам необходимо добавить следующий фрагмент кода в любой из ваших профилей:

"experimental.retroTerminalEffect": true

image

Расширение возможностей настройки


Панели и вкладки


При создании комбинации клавиш на открытие новой панели или вкладки теперь можно выбрать, какой профиль использовать, указав имя профиля «profile»: «profile-name», guid «profile»: «profile-guid» или индекс «index»: profile-index. Если они не указаны, используется профиль по умолчанию.

Кроме того, вы можете переопределить некоторые аспекты профиля, например, исполняемый файл командной строки профиля «commandline»: «path/to/my.exe», начальный каталог «startingDirectory»: «my/path» или заголовок вкладки «tabTitle»: «new-title».

Вот несколько примеров реализации нововведений:

{"keys": ["ctrl+a"], "command": {"action": "splitPane", "split": "vertical"}}

Открывает в новой вертикальной панели профиль по умолчанию.

{"keys": ["ctrl+b"], "command": {"action": "splitPane", "split": "vertical", "index": 0}}

Открывает в новой вертикальной панели первый профиль из раскрывающегося списка профилей.

{"keys": ["ctrl+c"], "command": {"action": "splitPane", "split": "horizontal", "profile": "{00000000-0000-0000-0000-000000000000}", "commandline": "foo.exe"}}

Открывает в новой горизонтальной панели профиль с guid 00000000-0000-0000-0000-000000000000, используя исполняемый файл командной строки foo.exe.

{"keys": ["ctrl+d"], "command": {"action": "newTab", "profile": "profile1", "startingDirectory": "c:\\foo"}}

Открывает в новой вкладке профиль с именем profile1, начинающимся с каталога c:\foo.

{"keys": ["ctrl+e"], "command": {"action": "newTab", "index": 1, "tabTitle": "bar", "startingDirectory": "c:\\foo", "commandline":"foo.exe"}}

Открывает в новой вкладке второй профиль из раскрывающегося списка профилей, используя исполняемый файл командной строки foo.exe с заголовком вкладки строки, начинающимся с каталога c:\foo.

Пользовательские настройки


Теперь, чтобы иметь свои собственные настройки профиля по умолчанию, вы можете изменить файл profiles.json. Благодаря новой архитектуре вы можете задать свойство один раз и применить его ко всем вашим профилям. Это нововведение помогает свести к минимуму избыточные настройки между профилями. Для добавления этой функции необходимо изменить объект profiles в profiles.json, добавив свойства «defaults» и «list», как сделано в примере ниже:

"profiles": {
    "defaults": {
        "fontFace": "Cascadia Code",
        "colorScheme": "Vintage"
    },
    "list": [
        {
            "commandLine": "cmd.exe",
            "guid": "{00000000-0000-0000-0000-000000000000}",
            "name": "cmd"
        },
        {
            "guid": "{11111111-1111-1111-1111-111111111111}",
            "name": "PowerShell Core",
            "source": "Windows.Terminal.PowershellCore"
        }
    ]
},

При использовании приведенного выше фрагмента кода все профили будут использовать шрифт Cascadia Code и иметь цветовую схему Vintage.

Примечание: со всеми доступными свойствами для настройки профиля можно ознакомиться здесь. Все представленные свойства могут быть применены к «defaults». Все, кроме «guid».

Улучшения UI


Вкладки


Теперь у вас есть возможность изменять поведение ширины вкладок. Добавлен параметр под названием «tabWidthMode». Этот параметр предоставляет два различных поведения ширины вкладки: «equal» и «titleLength». «equal» сделает все ваши вкладки одинаковыми по ширине и уменьшит их по мере добавления дополнительных вкладок, аналогично вкладкам браузера. «titleLength» же будет определять размер каждой вкладки в зависимости от длины заголовка вкладки.

Изначально поведение ширины вкладки в Терминале было задано на «titleLength». Этот же выпуск изменяет поведение по умолчанию на «equal». Если вы хотите вернуться к «titleLength», то добавьте следующий фрагмент кода к свойству «globals» в файле profiles.json:

"tabWidthMode": "titleLength"

Вот пример того, как ведут себя оба режима поведения ширины вкладки:

image

Поделитесь своим мнением


Если у вас возникли какие-либо вопросы, или же вы просто желаете поделиться своим мнением, то не стесняйтесь писать Кайле (Kayla, @cinnamon_msft) в Twitter. Помимо этого, если вы обнаружили какие-либо ошибки или желаете предложить новые функции, то всегда можете обратиться к нам на GitHub! Мы надеемся, что вам понравился данный релиз!

image
Microsoft
Microsoft — мировой лидер в области ПО и ИТ-услуг

Комментарии 41

    –5
    А историю там хранить можно?
    Почему вообще в виндовом терминале не хранится история? Какие для этого предпосылки были?
      +8
      PowerShell хранит историю.

      Нердская часть: Windows Terminal не может решить это проблему, т.к. работает на другом уровне. Историю собирает и хранит shell, а не terminal.
        +2
        И правда PowerShell хранит, раньше не замечал этого, спасибо.
          +1
          Точнее, это делает PSReadLine. Если его выгрузить (он иногда сходит с ума и препятствует вводу заглавных символов), то сохранение истории пропадает.
        0

        наверное вам задавали этот вопрос 100 раз, но я ответа не знаю.
        когда вы замените и замените ли стандартный терминал на этот?

          +2

          Я думаю когда он выйдет из беты...

            0

            не заменят, только могут добавить новый.


            необходимо сохранить обратную совместимость с той инфраструктурой что уже могли написать клиенты микрософта.

              0
              Ответ был в одной из статей, когда ещё пытались улучшать cmd — столкнулись с тем, что невозможно развивать его, не ломая обратную совместимость, а это недопустимо.

              Поэтому, будут сосуществовать.
                0
                Надеюсь, правой кнопкой по пуску и через меню проводника дадут запускать.
                  0
                  Через меню проводника можно прикрутить самостоятельно, внеся правки в реестр (вот только пункт с запуском с правами администратора у меня не прокатил, уже не помню почему). Да и в контекстное меню Пуска добавить можно («Win+X menu editor»).
                    0
                    Я себе такие 2 пункта меню добавил, открывает терминал из директории вызова.
                    image

                    Если нужно, то могу файлик реестра выложить для этого дела.
                      0

                      Нужно

                        0
                        Вот файл реестра, который добавит в меню пунктик «Открыть PowerShell». Можете подредактировать и другие пункты добавить.
                          –2
                          [HKEY_CLASSES_ROOT\Directory\Background\shell\OpenPowershell]
                          @="Открыть PowerShell"
                          
                          [HKEY_CLASSES_ROOT\Directory\Background\shell\OpenPowershell\command]
                          @="cmd /c \" C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe\""

                          Но ведь он не открывает Windows Terminal!

                            0
                            Можете подредактировать и другие пункты добавить.
                              0

                              В том то и дело, что не нашел способа передать в WT путь к папке.

                                0
                                –1

                                Ну так и спрашивали бы про путь к папке...


                                Если я правильно понял их исходники, то WT надо запускать с ключами "-- cmd /k cd путь\к\папке"

                                  –2
                                  Что-то я не совсем понял проблемы, но тот файл реестра добавляет пункт в контекстное меню в проводнике, если нажать на этот пункт, то откроется PowerShell из папки, из которой было вызвано контекстное меню. Если нужно заменить на CMD, то должно быть что-то вроде этого:

                                  Windows Registry Editor Version 5.00
                                  [HKEY_CLASSES_ROOT\Directory\Background\shell\OpenCmd]
                                  @="Открыть CMD"
                                  [HKEY_CLASSES_ROOT\Directory\Background\shell\OpenCmd\command]
                                  @="cmd"
                                  
                  0
                  Как дела с реализацией accessibility?
                    0
                    Уже говорилось, что старый conhost оставят для обратной совместимости
                    UPD: извиняюсь, не на тот комментарий оставил ответ
                    +2

                    И до сих пор не починили один из важнейших (по крайней мере для меня) багов — проблема с navigation keys и их передачей в бекэнд (#2397). Из-за этого бага не работает много консольных утилит, (включая REPL R), в которых arrow keys используются для навигации/редактирования текста.

                      +1
                      Под эту же гребёнку хотелось бы фикса #4334. Мнится мне, что они могут взаимно поломаться. При том, что модификаторы теперь отрабатывают корректно в сочетаниях с F-клавишами, но не с ALT+Letter для быстрого поиска, например (аналог Midnight Commander — CTRL+S Letter).
                        0

                        Ну я с модификаторами не сталкивался (скорее всего потому, что не использую совсем сложные утилиты, а работая в REPL — переключаюсь на PSCore нативный терминал).
                        Аналогичная пробелма, по всей видимости, существует и в VSCode, где навигация в REPL тоже не работает.


                        С одной стороны, проект очень хороший, терминал получается современный и удобный. С другой стороны — приоритет анимированного бэкграунда и поддержки нескольких панелей в одной вкладке (когда и так есть вкладки, куда уж больше?) над очевидными багами мне кажется сомнительным.


                        Нам остается продолжать писать issues и баг-репорты в надежде, что на это обратят внимание.

                      0
                      Для добавления этой функции необходимо изменить объект profiles в profiles.json, добавив свойства «defaults» и «list», как сделано в примере ниже:

                      В примере ниже пропущена запятая перед "list": [

                        0
                        Спасибо!
                        0
                        А что там с мышкой? Фаром можно пользоваться?
                          0

                          Пользоваться можно, но без мыши:


                            0
                            Что меня особо порадовало — отлично работает консольный far2l через виндовый ssh.
                            А вот отсутствие поддержки мыши — печалит.
                            Также, не сумел добиться псевдографики без разрывов на шрифте «Consolas». На «Courier New» — проблем нет.
                              0
                              Также, не сумел добиться псевдографики без разрывов на шрифте «Consolas».

                              Это проблема шрифта Consolas, а не терминала.

                                0
                                Однако этой проблемы нет с этим-же шрифтом в стандартном терминале. Как так?
                                  0

                                  Как это нет?


                                    0
                                    Ну вот так вот:
                                    image
                                      0

                                      Хм, на 20м кегле и у меня "дырок" нет. А вот на 14м — есть. Какой однако замечательный шрифт...

                            0
                            Фаром можно пользоваться только 64-битным. 32-битный из нового терминала запускается во внешнем старом консольном окне.
                            0
                            Одни вопрос.
                            Лучше чем COnEmu или спокойно сидеть дальше и ждать?
                              0
                              Пока ConEmu+Clink удобнее
                              0
                              Что за цветовая схема у ubuntu терминала? Можете поделится пожалуйста, у меня она обычная черная.
                                0
                                Глупый вопрос, но не нашёл ответа. Как делаете разбиение экрана на несколько окон?
                                  0

                                  Быстрый гуглеж "windows terminal panes" дает ссылки


                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                Самое читаемое