Терминал Windows: Предустановленные вкладки при запуске

Вопрос или проблема

Можно ли запустить терминал Windows с (несколькими) вкладками, каждая из которых находится в настроенной рабочей директории?

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

  1. GitBash в мою рабочую область
  2. Cmd в директорию сборки в моей рабочей области
  3. Ubuntu bash в приложение для генерации данных

Было бы очень здорово автоматизировать эти шаги.

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

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

  1. Щелкните правой кнопкой мыши на рабочем столе -> Новый -> Ярлык
  2. Введите конфигурацию запуска, которую хотите, например:

wt ; new-tab -p "Командная строка" -d C:\Users\Donatas\Workspace ; split-pane -p "Ubuntu"

  • wt – открывает терминал Windows
  • new-tab – открывает новую вкладку
  • split-pane – разделяет экран (можно разделить вкладку как вертикально, так и horizontally)
  • -p указывает профиль, например, Ubuntu
  • -d указывает начальную директорию профиля

Дополнительная информация: https://devblogs.microsoft.com/commandline/windows-terminal-preview-v0-9-release/

  1. Введите имя ярлыка.
  2. Запустите ярлык, у вас должны появиться две вкладки, и вторая вкладка должна быть разделена на две. Что-то вроде этого:

Терминал Windows с несколькими вкладками

  1. По желанию, вы можете изменить иконку, прикрепить к панели задач или панели запуска.
  1. Откройте терминал Windows
  2. Откройте настройки (Ctrl+,)
  3. Нажмите “Открыть файл JSON”
  4. Добавьте (или измените) необязательный параметр “startupActions” с вашей конфигурацией запуска (например, как описано @Donatas Repečka). Единственное отличие – вам не нужно указывать “wt” в начале.
  5. Сохраните файл и перезапустите WT.

Не забудьте, что строка должна быть правильно экранирована.

Мой пример:

    "startupActions": "new-tab -p \"Командная строка\" --title \"mytab\" -d C:\\Users\\blabla ; new-tab -p \"Командная строка\" --title \"othertab\" -d C:\\Users\\otherbla ,

Еще несколько вещей о:

  • запятая в конце в моем примере лишь потому, что существуют следующие строки конфигурации
  • если вы поставите “;” в начале (или в конце), WT откроет вкладку по умолчанию в начале (или в конце)
  • решение с ярлыком Windows удивительное, но вы не можете использовать действительно длинные (более 260 символов) строки, так что это может не работать для вас

Поскольку у меня нет репутации для комментирования, я опубликую ответ.

wt ; new-tab -p "Командная строка" -d C:\Users\Donatas\Workspace ; split-pane -p "Ubuntu"

Эта команда работает только в оболочке команд Windows (cmd), но не в PowerShell. Команда отличается в WSL. Смотрите справочник CLI для wt для получения более подробной информации.

Для PowerShell точки с запятой нужно экранировать обратной косой чертой:

wt `; new-tab -p "Командная строка" -d C:\Users\Donatas\Workspace `; split-pane -p "Ubuntu"

Строя на ответе от @kilj
Вы можете создать профили в settings.json, а затем вызывать разные профили с помощью строки startupActions. Каждый профиль требует uuid для guid и может быть обозначен по имени. Например, вы можете добавить профиль:

{
  "guid": "{7c58fcf0-5fcd-4d8e-8f96-e6908c600f6b}",
  "hidden": false,
  "tabColor": "#0000FF",
  "startingDirectory": "%systemdrive%\\Windows\\System32\\openssh",
  "name": "foo"
 }

и добавить действие запуска:

"startupActions": "nt -p foo"

чтобы открыть новую вкладку терминала, которая будет запущена в директории openssh и будет иметь синий цвет вкладки. Вы можете объединить несколько команд новой вкладки, чтобы соответствовать различным профилям, которые вы создаете, и добавить `”commandline”: “”`, если хотите, чтобы профиль запускался с командой. Смотрите здесь для получения дополнительной информации.

Есть способ добавить в контекстное меню (меню правой кнопки мыши) опцию открыть терминал Windows с вкладками, которые вы хотите, в директории, в которой вы находитесь. Вам нужно будет воспользоваться редактором реестра Windows.

Шаги следующие:

Шаг 1: Откройте редактор реестра, вы можете сделать это, набрав его название в поиске на панели задач или набрав regedit в окне выполнения (откройте его с помощью Windows + R).

Шаг 2: Находясь в редакторе реестра, перейдите к \HKEY_CLASSES_ROOT\Directory\Background. Щелкните правой кнопкой на подкаталоге shell и нажмите новый, выбрав ключ. Переименуйте этот ключ как вам угодно, это может быть что-то вроде “Открыть терминал Windows здесь”. Здесь вы можете увидеть, как это должно выглядеть при создании нового ключа.

Шаг 3: В созданном вами новом ключе вы должны создать еще один подключ, щелкнув по нему правой кнопкой мыши и создав новый ключ так же, как и прежде. Этот новый ключ должен называться command.

Шаг 4: С выбранным ключом command дважды щелкните по строковому значению, которое вы видите справа от экрана. Вы можете изменить его значение по вашему усмотрению. Теперь команды, которые вы можете ввести в терминале, очень полезны. Вы можете ввести следующее как строковое значение:

wt -d . ; new-tab -p "Ubuntu-20.04" -d . ; new-tab -p "Командная строка" -d . ;

Это должно сработать, изменяя название вкладок терминала, открываемых по названию терминалов, которые вы хотите открыть.

Шаг 5, по желанию: Вы можете добавить иконку, которая вам нравится, к записи, которую вы только что создали в контекстном меню (меню правой кнопкой мыши). Это делается путем создания нового строкового значения в ключе (Изображение здесь), который вы создали в Шаге 2. Это строковое значение должно быть переименовано в Icon, а значение, которое оно должно содержать, – это директория иконки, которую вы хотите использовать в новой записи меню, которую вы создали. Кажется, это также работает с директориями приложений, которые вы хотите выполнить, я говорю это, потому что это сработало для меня, установив абсолютную директорию терминала Windows в значении ключа Icon.

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

Я решил проблему запуска для Bash (но, вероятно, аналогичные решения могут быть использованы для Ubuntu, PowerShell или Cmd), используя следующее:

  1. Я изменил мой .bash-profile, чтобы он содержал следующее (это значит: если в папке запуска есть .bashrc, она выполняется вместо стандартной .bashrc):
test -f ~/.profile && . ~/.profile
test -f ./.bashrc && . ./.bashrc
test ! -f ./.bashrc && test -f ~/.bashrc && . ~/.bashrc
  1. В этом специфическом для папки .bashrc я могу ввести команды запуска для каждой вкладки

  2. Я запускаю WindowsTerminal так:

C:\Users\[ПОЛЬЗОВАТЕЛЬ]\AppData\Local\Microsoft\WindowsApps\wt.exe new-tab -p "Bash" -d E:\work\api-server ; new-tab -p "Bash" -d E:\work\web-client

Эта простая команда создает вкладку с 3 окнами powershell, разделенными, и вкладку с 3 окнами bash, разделенными;

  • когда вы находитесь в cmd.exe
wt powershell.exe ; nt bash --noprofile --norc ; sp bash --noprofile --norc ; sp bash --noprofile --norc ; focus-tab -t 0 ; sp powershell.exe ; sp powershell.exe
  • когда вы находитесь в powershell.exe или wsl bash
cmd.exe /c "wt powershell.exe ; nt bash --noprofile --norc ; sp bash --noprofile --norc ; sp bash --noprofile --norc ; focus-tab -t 0 ; sp powershell.exe ; sp powershell.exe"

введите описание изображения здесь

У меня есть другое решение для этого: в Windows 11 приложение терминала Windows позволяет настраивать предустановленные “профили”. Каждый профиль может быть просто прямой ссылкой на исполняемый файл, который при выборе запустится в своей вкладке. Это идеально для разработчиков, которые могут захотеть запускать только определенные микросервисы и выбирать только те, которые необходимы в данный момент.

Шаги:

  • откройте терминал Windows
  • нажмите на символ “выпадающего списка”, а затем выберите настройки
  • в разделе профили выберите “добавить новый профиль”
  • выберите “новый пустой профиль”
  • в поле имя задайте имя, как вы хотите, чтобы оно отображалось
  • в поле командной строки укажите путь к исполняемому файлу, который вы хотите выполнить

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

Ответ или решение

Windows Terminal: Автоматизация Открытия Предопределённых Вкладок

Вопрос о том, как запустить Windows Terminal с несколькими вкладками, каждая из которых открыта в заранее заданной рабочей директории, является актуальным для многих пользователей. Это может значительно упростить ежедневные задачи, если вы регулярно используете определенные оболочки и директории. В этой статье мы подробно рассмотрим, как достичь этой цели, используя разные подходы.

1. Использование командной строки при запуске

Одним из самых простых способов автоматизации открытия терминала с предопределенными вкладками является использование командной строки. Для этого вам необходимо создать ярлык на рабочем столе с определённой конфигурацией команд.

Шаги:

  1. Щелкните правой кнопкой мыши на рабочем столе и выберите СоздатьЯрлык.

  2. Введите команду, аналогичную следующей:

    wt ; new-tab -p "Command Prompt" -d C:\Users\Ваш_Пользователь\Workspace ; new-tab -p "Ubuntu" -d C:\Users\Ваш_Пользователь\DataGeneration

    В этой команде:

    • wt — открывает Windows Terminal.
    • new-tab — создает новую вкладку.
    • -p — указывает профиль для новой вкладки (например, Command Prompt или Ubuntu).
    • -d — определяет начальную директорию.
  3. Дайте вашему ярлыку имя и сохраните его. Теперь при запуске через созданный ярлык Windows Terminal откроется с заранее определёнными вкладками.

2. Настройка через файл настроек

Вы также можете настроить открытие вкладок непосредственно из конфигурационного JSON-файла Windows Terminal. Этот способ более гибкий и позволяет сохранить настройки в одном месте.

Шаги:

  1. Откройте Windows Terminal.

  2. Нажмите Ctrl + , для доступа к настройкам.

  3. Выберите Open JSON file для редактирования файла конфигурации.

  4. Найдите параметр "startupActions" и добавьте вашу команду для открытия вкладок:

    "startupActions": "new-tab -p \"Command Prompt\" -d C:\\Users\\Ваш_Пользователь\\Workspace ; new-tab -p \"Ubuntu\" -d C:\\Users\\Ваш_Пользователь\\DataGeneration"
  5. Сохраните изменения и перезапустите Windows Terminal. Теперь при запуске программы будут открываться вкладки с нужной конфигурацией.

3. Использование редактора реестра

Для более автозируемых решений можно добавить пункт в контекстное меню, позволяющий открывать Windows Terminal с заранее заданными вкладками в определенной директории.

Шаги:

  1. Откройте Редактор реестра, введя regedit в поиске Windows.
  2. Перейдите к HKEY_CLASSES_ROOT\Directory\Background.
  3. Щелкните правой кнопкой мыши на shell, выберите NewKey и назовите его, например, "Открыть Windows Terminal здесь".
  4. Создайте подкаталог с именем command.
  5. Установите значение ключа command на следующую строку:

    wt -d . ; new-tab -p "Ubuntu" -d . ; new-tab -p "Command Prompt" -d .

После выполнения этих шагов вы сможете открыть Windows Terminal с заданными вкладками, просто щелкнув правой кнопкой мыши в нужной папке.

4. Использование конфигураций профилей

Наконец, каждый профиль в Windows Terminal может быть настроен таким образом, чтобы открываться с определёнными параметрами. Это особенно полезно, если вам нужно запускать специфичные программы каждый раз.

Шаги:

  1. В меню Windows Terminal выберите раздел настроек.
  2. Перейдите στην раздел Profiles и добавьте новый профиль.
  3. Укажите путь к исполняемому файлу вашего приложения в поле command line.

Это позволит вам запускать разные приложения, просто выбирая нужный профиль.

Заключение

Автоматизация открытия вкладок в Windows Terminal — это эффективный способ оптимизации рабочего процесса и уменьшения рутинных действий. Использование командной строки, редактирование JSON-файла настроек, работа с реестром и настройка профилей предоставляют разнообразные инструменты для достижения этой цели. Выберите тот способ, который больше всего подходит вашим нуждам, и начните экономить время уже сегодня.

Оцените материал
Добавить комментарий

Капча загружается...