Terminal Workspace
The Terminal Workspace is a multi-tab terminal embedded directly in LaraEnv, built on xterm.js. It supports floating groups with drag-and-drop, resizable panes, and split layouts, so you can arrange several shells exactly how you like.
Shell types
When you open a new tab you can pick the shell to run:
- PowerShell (default)
- CMD
- Git Bash
- Cmder (optional — install it from the catalog first)
Opening a terminal
There are two ways to open a terminal:
- From the Terminal page — add a new tab and pick the shell type.
- From a project — choose Open terminal on the project. The new terminal is project-aware: its working directory is set to the project root, the project's PHP, Node, and Composer are placed on
PATH, and a banner shows the project name.
You can choose which shell a project opens by default. See Projects → Configuration for the per-project terminal type.
Layouts: groups, panes, and tabs
The workspace organizes terminals into a tree of panes:
- Floating groups can be moved around with drag-and-drop.
- Panes can be resized, and you can split a pane to create side-by-side or stacked layouts.
- Tabs live inside a pane, so each pane can hold multiple shells.
The full layout (groups, panes, and tabs) is persisted and restored across app restarts, so your terminal arrangement is exactly where you left it.
SSH terminals
You can open SSH connections as terminal tabs. LaraEnv streams ssh.exe directly into an xterm.js tab, so a remote shell behaves like any other tab in the workspace. See SSH hosts.
Copy behavior
You can choose how copying works from a preference:
- xterm.js selection — select text and copy as usual.
- Click-to-copy — click to copy directly.
Auto-resize
Terminals auto-resize to track the window, so the canvas always fits the available space as you resize LaraEnv.
Related
- Detached window — pop the terminal out into its own maximized window.
- Command Center — open terminals and run commands from the palette.
- Projects → Configuration — per-project terminal type.
- SSH hosts — connect to remote hosts as terminal tabs.