TerminalProfile
data class TerminalProfile(val id: String, val displayName: String, val command: List<String>, val environment: Map<String, String> = emptyMap(), val workingDirectory: Path? = null, val kind: TerminalProfileKind = TerminalProfileKind.classify(id, displayName, command), val shellEnvironment: TerminalShellEnvironment = TerminalShellEnvironment.Empty, val startupCommand: TerminalStartupCommand? = null)
Host-neutral terminal launch profile.
A profile describes the process contract for one terminal workspace tab. Product shells such as the standalone app and IntelliJ plugin may choose their own presentation, but should share this process vocabulary to avoid divergent shell discovery behavior.
Constructors
Link copied to clipboard
constructor(id: String, displayName: String, command: List<String>, environment: Map<String, String> = emptyMap(), workingDirectory: Path? = null, kind: TerminalProfileKind = TerminalProfileKind.classify(id, displayName, command), shellEnvironment: TerminalShellEnvironment = TerminalShellEnvironment.Empty, startupCommand: TerminalStartupCommand? = null)
Properties
Link copied to clipboard
user-facing profile name.
Link copied to clipboard
environment entries layered on top of PTY defaults.
Link copied to clipboard
stable presentation category for host UI icons and menus.
Link copied to clipboard
host-selected variables applied at launch and after supported shell startup files, taking precedence over environment.
Link copied to clipboard
optional command submitted once after shell readiness, keeping the interactive shell available when the command completes.
Link copied to clipboard
initial process working directory, or null for the platform/user default.