Поздравляем с днем выпуска Windows Terminal! В этом выпуске Windows Terminal Preview перешел в версию 1.11 и Windows Terminal в 1.10. Все функции из предыдущей версии теперь переходят в основной Windows Terminal, за исключением настроек терминала по умолчанию, страницы редактируемых действий и страницы Defaults пользовательского интерфейса настроек. Обе сборки терминала можно установить из Microsoft Store или со страницы выпусков GitHub. Давайте узнаем, что нового!

Акриловая строка заголовка

Добавлен новый параметр, позволяющий сделать строку заголовка акриловой. Этот параметр можно найти на странице «Внешний вид» пользовательского интерфейса настроек или установить в файле settings.json, используя "useAcrylicInTabRow": true в качестве глобального параметра.

Примечание: вам необходимо перезагрузить терминал, чтобы это вступило в силу.

Сворачивание в системный трей

Теперь вы можете при желании свернуть терминал в системный трей. Для этой функции были добавлены две новые глобальные логические настройки: minimToTray и alwaysShowTrayIcon. Если для параметра minimToTray установлено значение true, при сворачивании окна оно отправляется в область уведомлений и скрывается на панели задач. Если для параметра alwaysShowTrayIcon установлено значение true, значок в области уведомлений отображается всегда, независимо от параметра minimToTray.

Примечание: этих настроек еще нет в пользовательском интерфейсе настроек, их можно задать только в файле settings.json.

Интенсивный стиль текста

Теперь вы можете выбрать, как вы хотите, чтобы насыщенный текст отображался в вашем терминале, используя настройку профиля intenseTextStyle. Вы можете сделать свой стиль смелым, ярким, смелым и ярким или не добавлять к нему никаких дополнительных стилей. Этот параметр также можно найти в пользовательском интерфейсе настроек на странице «Внешний вид профиля».

// Renders intense text as both bold and bright 
"intenseTextStyle": "all"  

// Renders intense text as bold 
"intenseTextStyle": "bold"  

// Renders intense text as bright 
"intenseTextStyle": "bright"  

// Renders intense text as normal 
"intenseTextStyle": "none"

Оси и особенности шрифта

Теперь объект шрифта принимает функции и оси OpenType в файле settings.json. Для получения более подробной информации об OpenType ознакомьтесь с документацией по функциям, а также с документацией по осям.

Например:

// Enables ss01 and disables ligatures
"font": {
    "face": "Cascadia Code",
    "features": {
        "ss01": 1,
        "calt": 0
    }
}

// Sets the font to italic
"font": {
    "face": "Cascadia Code",
    "axes": {
        "ital": 1
    }
}

Изменения в поведении терминала по умолчанию

При запуске терминала через настройки терминала по умолчанию, теперь терминал не будет использовать профиль в целом (вместо использования вашего профиля по умолчанию). Настройки, которые будут применяться к терминалу при вызове в качестве терминала по умолчанию, будут определяться содержимым раздела «По умолчанию» или profiles.defaults в настройках. Кроме того, при запуске терминала по умолчанию теперь будут учитываться ваши настройки windowingBehavior.

Уведомление о критических изменениях: это поведение также применяется к действиям wt и вызовам командной строки без явного профиля (например, wt - cmd.exe).

Drag & drop с помощью кнопки «+»

Теперь вы можете перетаскивать каталоги и файлы по кнопке «+», которая затем откроет новую вкладку, панель или окно, используя заданный начальный путь. При удерживании Alt откроется новая панель. При удерживании Shift откроется новое окно. Без каких-либо ключевых модификаторов откроется новая вкладка.

Обновления панели

В этом выпуске функциональность панели претерпела множество улучшений. Огромное спасибо Шайлер Роузфилд, которая внесла большой вклад в нашу панель! Вот некоторые из основных моментов:

Переместить панель на вкладку

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

Менять местами панели на вкладке

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

Разделить вкладку в контекстном меню

Теперь вы можете щелкнуть вкладку правой кнопкой мыши и выбрать «Разделить вкладку», чтобы разделить активный профиль на новую панель.

Обновления пользовательского интерфейса настроек

Мы всегда стараемся улучшить интерфейс настроек, и в этом выпуске у нас есть некоторые обновления:

Внешний вид без фокусировки

Настройки внешнего вида, которые применяются к вашему профилю, когда он не сфокусирован, теперь находятся в пользовательском интерфейсе настроек.

Комментарии (25)


  1. nukler
    02.09.2021 16:41
    +6

    Господи, кто нибудь остановите их, они скоро придумают tmux и screen!


    1. bilayan
      03.09.2021 09:31
      +4

      Как будто это плохо что они доводят до ума терминал. Через него повершел/кмд инициализируются при запуске моментально (обычно ps после запуска приходится еще и подождать). Очень много приятных мелочей.
      Мне наданный момент пожалуй не хватает разве что, чтоб в Quake-mode оставались видны вкладки. (ну и чтоб сессия сохранялась как раз таки, хоть открыть нужные вкладки и не долго Ctrl+Shift+1/2/3/4)


      1. nukler
        03.09.2021 10:25
        -4

        Никто не говорит что плохо, просто такие вещи должны быть базовыми. У маек есть пример из мира юниксов, просто смотрите и сразу делайте хорошо.


        1. Crystal_HMR
          03.09.2021 21:32

          Ну технически они так и делают. Весь wsl об этом. А вот терминал пилится, считайте, сообществом. Фичи допиливаются медленно и по мере запросов. При этом я знаю не много людей, которым подавляющее количество функций тмукса необходимы. Мне вот нужны. Но я не пойду пилить ни пулл- ни фич-ревесты. Потому что за время работы с юниксами перепробовал кучу эмуляторов терминала, кучу времени сидел на тайлингтвых вм. Но все равно всегда возвращался к тмуксу. И даже с windows terminal preview сначала пробовал использовать его функционал, но быстро понял, что не то. Мне проще прийти в рабочую сеть на свою вмку, там написать tmux a, и получить все что нужно и то, что я делал. Учитывая что сабж никак не мешает работать тмуксу - зачем перетаскивать весь функционал последнего в, собственно, сабж?:)


          1. ad1Dima
            07.09.2021 08:40

            Вообще tmux в wsl должен работать Tmux support arrives for Bash on Ubuntu on Windows | Windows Command Line (microsoft.com)

            И вроде я видел его использование в линуксовой консоли из Windows Terminal


            1. Crystal_HMR
              19.09.2021 15:24

              простите за некропостинг, был вылогинен с хабра. Моя схема работы: windows terminal preview -> wsl (debian) -> ssh-workspace -> tmux a. Достаточно давно только так. Доволен как слон. До появления wsl и настолько адекватного и приятного терминала мне легче было перезагрузиться в gentoo. А так я в 21 году ее только один раз запускал, да и то, просто показать кому-то.


  1. maledog
    02.09.2021 16:53
    +2

    Последний скрин просто прекрасен. Треть окна по горизонтали пустое место, зато по вертикали часть элементов не помещается.


    1. ad1Dima
      03.09.2021 08:24
      +1

      Хм, прям как обычно в консоли )


  1. namikiri
    02.09.2021 16:58
    -1

    Лучше бы сделали глобально в системе отключение скруглённых углов у окон и элементов интерфейса. Везде. Пожалуйста.


  1. Vladekk
    02.09.2021 17:14
    +3

    Делают красотули, а такую базово нужную вещь, как выделять в WSL консоли текст с помощью Shift+стрелка не могут.


    1. ad1Dima
      03.09.2021 08:25

      Я так понимаю, что Shift+стрелка должно делаться на уровне WSL-консоли, а не в терминале.


      1. Vladekk
        03.09.2021 16:43

        Там сложно. В юникс шеллах с этим неважно, и чтобы исправить, это надо делать на уровне терминала. А так да, в powershell уже работает, пототому что она сама умеет.



  1. catBasilio
    02.09.2021 19:24
    +1

    просто прекрасно!
    всплывающий терминал сделали так, что он просто неюзабельный!

    • при выходе из терминала - он не закрывается, и висит

    таб бара там нет и не предвидится.

    зато акриловые заголовки делают! естественно это самое главное в терминале.


    1. 13werwolf13
      03.09.2021 07:14

      при выходе из терминала - он не закрывается, и висит

      это они скопировали у apple

      компания которая никогда не умела UX/UI копирует у другой компании которая не умеет UX/UI.. верной дорогой..


      1. Crystal_HMR
        03.09.2021 21:22

        Нет, у на макос не закрывается никогда. А на винде только если код выхода последней команды != 0.

        Что бы если запускаешь скрипт и он падает - окно само не закрывалось. Решение спорное, но чуть логики в этом есть.

        Собственно, а что мешает что там что там использовать шоткат килл таб?


        1. 13werwolf13
          04.09.2021 08:07

          привычки, во всех ос я знаю что закончив работать я нажму ctrl+d или введу exit и сессия закроется вместе с эмулятором терминала, но есть две яумамыособенные ос в которых всё не как у людей.


          1. Crystal_HMR
            19.09.2021 15:33

            странно, если вы знаете действительно много ОС кроме этих двух "яумамыособенных", то явно должны уметь решать проблемы путем чтения конфига и документации. У меня уже год нет мака, но в iterm2 проблема решалась чем-то вроде Session -> Edit session, Session tab, ensure 'Automatically close a session when it ends'. В виндовом терминале нужно в конфиге поставить в профиле (или в defaults): "closeOnExit": "always". И всё. Сделать один раз и забыть о ваших страданиях :)


            1. 13werwolf13
              19.09.2021 16:00

              Да понятное дело что решить можно что угодно, я говорю про поведение "из коробки"

              И если бы дело было только в эмуляторе терминала, там за каждым углом ждут "особенности" неудобные. Проще ос сменить чем всё это поправить.


    1. EKrava
      05.09.2021 12:58
      +1

      1) in defaults add

      "defaults": { // Put settings here that you want to apply to all profiles. "closeOnExit": "always" },

      2) in action section add

      // Press Ctrl+D to exit

      { "command": { "action": "sendInput", "input": "exit\n\u000d" }, "keys": "ctrl+d" },


    1. Lendges
      12.09.2021 23:41

      при выходе из терминала — он не закрывается, и висит
      В настройках дефолтного профиля добавьте строку, должно помочь.
      "closeOnExit": "always"


  1. beat
    03.09.2021 08:59
    +2

    да ладно, хорошо же получается, во всяком случае это в разы лучше чем был cmd.exe


    1. Ul3ainee
      05.09.2021 13:12
      +1

      Да, собственно, примерно всё что угодно из ныне существующего лучше, чем был cmd.exe.


    1. EKrava
      05.09.2021 13:13
      +1

      эммм... а как вы сравниваете cmd.exe и Windows Terminal ? я б понял cmd.exe vs PowerShell ... тут скорее с ConEmu сравнивать надо


  1. shushu
    05.09.2021 11:03
    +1

    Второй скриншот. Почему интенсивность меняется для $PS1 тоже? Судя по коммандам менятся должен только текст!


  1. QuAzI
    01.11.2021 14:54

    1.11.2921.0 теперь стабильная.

    Согласно документации

    This setting was renamed from "minimizeToTray" to "minimizeToNotificationArea".
    
    This setting was renamed from "alwaysShowTrayIcon" to "alwaysShowNotificationIcon".

    Только у меня оно так и не заработало. Раньше в трее появлялся хоть инстанс который по Win+` запускался. Теперь в трее пусто всегда.