Для Windows 10 выпустили раннюю предварительную версию нового терминала, сопроводив событие постом в блоге команды WSL. Терминал не такой глянцевый как в промо-ролике, но внешний вид гибко настраивается.
Запуск
Несмотря на размещение в магазине, в пакете содержится приложение Win32 (при этом оно таскает с собой conhost). Как следствие, терминал можно запускать с правами администратора, например, Ctrl + Shift + click. Из командной строки или окна «Выполнить» терминал можно вызвать командой wt
.
Однако из-за бага в оболочке из окна Win + R терминал не запускается от имени администратора сочетанием клавиш Ctrl + Shift + Enter в отличие от других программ (появилось в 1803).
Настройка внешнего вида
Кроме вкладок функционально там пока особо ничего нет, зато доставляет возможность изменения внешнего вида через JSON. Да, он просто открывается в текстовом редакторе, когда вы открываете настройки :)
На мой вкус размещение вкладок в заголовке окна создает неудобства при перемещении окна по экрану — надо целиться в узкий промежуток между плюсом и кнопкой сворачивания. Поэтому я отключил это поведение, поместив вкладки под заголовком (см. картинку выше):
"showTabsInTitlebar" : false,
В комплекте идет три профиля (PowerShell, CMD и WSL) и пять настроенных цветовых схем (в конце конфигурационного файла). Просто подставьте в профиле имя схемы для параметра colorScheme
(вместо Campbell). Кроме того, для каждого профиля можно в качестве фона установить свое изображение.
"useAcrylic" : false, "backgroundImage" : "ms-appdata:///roaming/win1.jpg", "backgroundImageOpacity" : 0.94999998807907104, "backgroundImageStretchMode" : "fill"
Картинку кладите в папку с JSON и не забудьте отключить акрилик.
My life is complete now. pic.twitter.com/QN2cah2QzS
— Roman (@rlinev) June 23, 2019
Настройка окружения
Терминал запускается с профилем, GUID которого указан в параметре defaultProfile
. Из коробки — конечно, PowerShell. Способа открыть несколько профилей при запуске я не нашел.
Текст в заголовках вкладок тоже настраивается. Для PowerShell автоматически подтягивается мой профиль, давно созданный по мотивам поста Василия Гусева. Для CMD я просто указал:
"commandline" : "cmd.exe /k title CMD",
Рабочая папка задается параметром startingDirectory
. Пробуя разные переменные среды, я неожиданно наступил на грабли с %SYSTEMDRIVE%
(стартовало в System32). На созданный в GitHub баг моментально отреагировал сотрудник Microsoft и оказалось, что это не дефект терминала, а странное поведение Windows, у которого ноги растут из MS-DOS 2.0.
Короче, надо добавлять обратный слэш после переменной и еще один для экранирования первого в JSON:
"startingDirectory" : "%SYSTEMDRIVE%\\",
В конфигурационном файле также можно задать свои сочетания клавиш на разные действия.
Дискуссия
Терминал работает, но пока функционально бедноват — тут он похвастаться может разве что вкладками и настраиваемыми сочетаниями клавиш. Первую стабильную версию обещают зимой, но планируемый набор функций не озвучивают. Поживем — увидим.
А как вам новый терминал? Есть ли вообще нужда в нескольких консолях в одном окне и гибкой настройке их внешнего вида? Если да, что нужно функционально?
artem
Ну такое себе. Делали ISE, не допилили, забросили. Потом провозгласили, что надо использовать VS Code для всего. Потом достали с чердака conhost, какое-то время с упоением допиливали его. Потом, кажется, тоже забросили и придумали новую игрушку.
Зачем всё это — я лично не понимаю. Т.е. для людей, фанатично любящих настраивать всё под себя (плевать, что бессмысленно, — главное, чтоб не как у других), надо полагать, открывается новая бездна экспериментов. Но я не из таких.
Для людей, чрезмерно озабоченных производительностью работы в командной строке, — ну, наверное, тоже. Но я и не из таких тоже. Хотя послушал бы о том, чего на самом деле в новом терминале удобнее. (Не красивее, а именно удобнее).
Как по мне, нет до сих пор ничего лучше ISE. Да, медленноват и без всяких ультрамодных фишек вроде картинки на фоне. Но зато это единственный инструмент, в котором сомещён редактор и собственно терминал. Это очень важно, если вам нужно быстро поправить скрипт в несколько попыток или проверить, как ведёт себя отдельный фрагмент кода с новыми переменными. Ну и настраивается ISE в меру. И самое главное, что он есть из коробки — в отличие от VS Code. (Которую всё никак не завезут даже в Магазин: https://github.com/Microsoft/vscode/issues/10759).
PowerShell, кстати, в Магазин тоже завозить не спешат — не смотря на то, что конкуренты уже там (https://github.com/PowerShell/PowerShell/issues/9827). Ох уж мне этот опенсорс. Ладно, отвлёкся.
Кнопка с настройками, открывающая текстовой файл, — по-моему, просто издевательство. Особенно учитывая, что даже редактора JSON из коробки тоже нет. Что приводит, конечно, к интересным, хм, эффектам: https://github.com/gpduck/MSTerminalSettings.
Vadim Sterkin
ISE меня вымораживает своими тормозами и странными багами типа нельзя вырезать фрагмент кода и вставить в другое место (неважно, были они у кого-то еще или нет). К счастью, я редко работаю с большими скриптами, поэтому мне консоли достаточно.
Мне кажется, что WT вообще не собирались делать. Потому что внешний вид — это шелуха, и то как реализована его настройка лишь подтверждает, что сделано все это на коленке. Функционально кроме вкладок в нем ничего нет, а вкладки, как известно, должны были появиться в наборах (Sets).
Наборы гнездились в Edge, и когда его заменили на ChrEdge, наборы сразу положили в долгий ящик. Это озвучили публично, а вскорости WT выскочил в чарты YouTube. Понятно, что внутри было известно раньше. Но если бы хотели сделать WT [таким как мы видим его сейчас], ничто не мешало это сделать и год и два назад.
Возможно, какая-то работа велась сильно заранее, но тогда непонятно, почему мы не видим ничего кроме оформления, равно как не озвучивают дорожную карту.
Lecron
Пользуюсь ConEmu (+FAR). Не скажу, что вкладки критичны, но удобства добавляют. Иногда доходит до 5 штук. Возможностями кастомизации и настройки внешности, несмотря на их неимоверное количество, не пользуюсь. Было бы интересно сравнить, конечно когда релизнится, новый терминал именно с этим, уже далеко не новым решением. Предположу, что плюсы должны быть. Ибо про сложности реализации сторонних терминалов, отрисовка за пределами видимого окна, перехват ввода/вывода и прочее, краем уха слышал.
Юрий Рассыпной
В иделае, я бы хотел, чтобы функционал и удобство работы в WT был на уровне Xshell от NetSarang.
Vadim Sterkin
Можно подумать, тут все юзают это и понимают, о чем речь. Я первый раз слышу :) Поэтому назовите топ-5 любимых функций, плиз.
Матвей Солодовников
Пока что у меня в статусе «поставил какую-то новую хреновину», толком не разбирался. Коряво сделано перетаскивание мышкой, все время хочется схватиться за вкладки, а они не тягаются. При входе в настройки почему-то перекидывает на настройки VSCode.
В общем. не вижу, чем оно лучше связки PS + cmd, которая идет по умолчанию.
A7ex
Запустил, безуспешно попытался переместить окно за область вкладок (это потом выяснилось), зашел в настройки (реализовано как во многих текстовых редакторов, вроде Scintilla и Sublime), удивился появившемуся тексту и… закрыл). Путь пилят дальше, может, действительно будет удобно и быстро, когда-нибудь. Для shell быстро привык к MobaXterm, который в бесплатной версии имеет ограничения на число открытых вкладок. По мне, это удобнее чем различные вариации Putty.
Александр Алексеев
Оффтопик: немножко истории о каталогах из CP/M, MS-DOS 1.0, MS-DOS 2.0 от Реймонда Чена: https://www.transl-gunsmoker.ru/2015/02/why-does-each-drive-have-its-own-current-directory.html
Vadim Sterkin
Да, примерно эти грабли и были
Yaromax
Давно пользуюсь Cmder https://cmder.net/ — гораздо удобнее родного терминала. Для PowerShell пробую заточить Notepad++ , но ISE всё же поудобнее будет.
Konstantin Shaydyuk
«размещение вкладок в заголовке окна создает неудобства при перемещении окна по экрану — надо целиться в узкий промежуток между плюсом и кнопкой сворачивания»
Только хотел написать, как я зол по этому поводу)) но дальше прочитал решение))
Спасибо за статью!:)
В терминале только пинг и трассировка, поэтому без разницы, как он выглядит и что умеет :)
Vadim Sterkin
Радо что помогло! Спасибо, что читаете мой блог :)