ConEmu-Inside или Embedding
Функция ‘Inside’ позволяет запустить ConEmu-Maximus5 внутри какого-либо другого окна.
- В качестве панели в окне проводника - выбираете в контекстном меню для диска/папки/файла пункт ‘ConEmu Inside’ (не забудьте зарегистрировать пункт меню и внутри окна проводника появится настроенный вами shell (cmd/powershell/bash) в текущей папке Проводника.
- В качестве дочернего окна в любом выбранном вами окне.
Этот режим может использоваться для имплементации удобного терминала
внутри другого приложения, например GitExtensions.
Просто запустите ConEmu с ключом
/insidewnd 0xHWND
.
Настройка для работы в окне Проводника Windows
Режим навеян вопросом ‘How to embed PowerShell into Explorer or Explorer-like tool’?
В ‘Проводник’ Windows добавляется пункт контекстного меню ‘ConEmu Inside’, при выборе которого ConEmu запускается в ‘области сведений’, внутри окна ‘Проводника’. Похож на режим ‘ConEmu Here’ - текущей папкой в ConEmu устанавливается папка из ‘Проводника’.
Все на вкладке Integration окна Settings.
Группа элементов ‘ConEmu Inside’
Можно создать несколько пунктов контекстного меню проводника, и просмотривать/редактировать ранее назначенные пункты (выберите пункт в выпадающем списке ‘Menu Item’).
Опция ‘Sync current directory (Explorer > ConEmu)’
Пока что эта не сохраняется в настройке, а записывается как параметр командной строки запуска ConEmu когда вы нажимаете кнопку ‘Register’. Для быстрого включения/выключения в режиме Inside в статустной строке отображается колонка ‘Sync’.
Смысл опции в том, что ConEmu может следить за текущей папкой в окне проводника
и синхронизировать ее, автоматически выполняя cd /d ...
в окне консоли.
Вы можете задать другую команду в поле ввода, например для ‘bash’ команда
может быть такой: cd '\2'\n
.
Чтобы эта опция работала в WinXP/Win2k3 в заголовке окне проводника должен отображаться полный путь текущей папки.
Запуск из Проводника Windows
Как уже было сказано ранее, запуск ConEmu в этом режиме осуществляется через выбор пункта контекстного меню проводника. Имя пункта по умолчанию - ‘ConEmu Inside’, но вы можете настроить любое имя и создать более одного пункта меню для разных оболочек (shell).
Внимание Для работы в этом режиме в окне проводника должно быть свободное место (область Просмотра, Сведений или Статуса) для размещения окна консоли.
OS | Панель |
---|---|
Windows 2000 | Не проверено |
Windows XP Windows 2003 |
Должна быть показана панель ‘Полезный совет’. Меню проводника ‘Вид’ Панели обозревателя ‘Полезный совет’. * English: ‘Explorer Bar’ > ‘Tip of the Day’ * |
Windows Vista | Не проверено |
Windows 7 | Нужно увеличить высоту области статуса или отобразить область предварительного просмотра. |
Windows 8 | Нужно отобразить либо ‘Preview pane’ либо ‘Details pane’. |
Подсказка Если при выборе пункта меню удерживать ‘Shift’, то ConEmu запустит таб в режиме ‘As Administrator’.
Если ConEmu уже был открыт в режиме Inside, то в ранее открытом окне запускается новый Tab. Панель табов в этом режиме по умолчанию не отображается (можете включить при желании), поэтому переключаться между табами можно через статусную строку кликом по полю ‘ActiveCon/TotalCount’.
Run Inside third-party applications
Вы (как пользователь или разработчик) можете запустить ConEmu как встроенный терминал.
Для этого нужно только обеспечить конкретное дочернее окно, в которое ConEmu может поместиться.
Передайте ‘HWND’ этого окна с ключом -insidewnd 0xHWND
при запуске ConEmu.exe,
где HWND
это шестнадцатеричный дескриптор окна.
Пример запуска и управления терминалом можно посмотреть в проекте conemu-inside.
Параметры запуска ConEmu
-inside |
Автоматический режим. Используется для запуска в панели проводника. ConEmu ищет подходящее для внедрения окно принадлежащее родительскому процессу. |
-insidepid PID |
То же что и ‘-inside’ но с явным указанием PID процесса, в окно которого нужно внедриться. PID - ИД процесса (dec). |
-insidewnd 0xHWND |
Явно указанное окно, в которое нужно внедриться. В отличие от автоматического режима - ConEmu займет всю клиентскую область этого окна. HWND - дескриптор окна (hex). |