Skip to main content

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.
tip

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.