Protected_Protected ReadonlyclipboardProtected ReadonlycontextProtected ReadonlycontributedProtected ReadonlycopyProtected ReadonlyfileProtected ReadonlylabelProtected ReadonlyloggerProtectedmergeProtected ReadonlymessageProtectedmostIDs of the most recently used terminals
ReadonlyonProtected ReadonlyonReadonlyonProtected ReadonlyonProtected ReadonlypreferenceProtected ReadonlyprofileProtected ReadonlyquickProtected ReadonlyselectionProtected ReadonlyshellProtected ReadonlyshellProtected ReadonlystorageProtected ReadonlyterminalProtectedterminalProtected ReadonlyterminalProtected ReadonlyuserProtected ReadonlyvariableProtected ReadonlywidgetProtected ReadonlyworkspaceProtectedchooseProtectedconfirmthe widget id (NOT the terminal id!)
the widget
ProtectedgetThe plugin host queries the default shell on startup; report none available instead of rejecting so that query doesn't fail plugin activation.
ProtectedgetProtectedgetProtectedinitThere is no backend to restore or create a terminal for at startup, so skip it silently instead of letting the base implementation fail and log an error on every launch.
ProtectedmergeCallers that inject the TerminalService token programmatically (the VS Code
window.createTerminal API, tasks, debug sessions, AI terminal functions, ...) need a
rejected promise so they can handle the failure themselves. This message is not localized
since it is meant for those programmatic callers, not shown to the user directly.
Called when the application is started. The application shell is not attached yet when this method runs. Should return a promise if it runs asynchronously.
Called on beforeunload event, right before the window closes.
Return true or an OnWillStopAction in order to prevent exit.
Note: No async code allowed, this function has to run on one tick.
Optionaloptions: WidgetOpenerOptionsProtectedopenOptionaloptions: ApplicationShell.WidgetOptionsProtectedopenOptionaloptions: ApplicationShell.WidgetOptionsOptionalterminalProfile: TerminalProfileIt should be aligned with https://code.visualstudio.com/api/references/theme-color#integrated-terminal-colors
Registers keybindings.
the keybinding registry.
Registers toolbar items.
the tabbar toolbar registry.
ProtectedresolveProtectedselectProtectedselectProtectedsetProtectedsetProtectedshowProtectedsplitOptionalreferenceTerminal: TerminalWidgetProtectedtoggleProtectedupdateProtectedwith
A browser-only application has no backend to run a shell in, so it can't open terminals.
TerminalService,FrontendApplicationContribution,CommandContributionand the other contribution points interminal-frontend-module.tsare all bound withtoService(TerminalFrontendContribution), which resolves the token lazily on every lookup. RebindingTerminalFrontendContributionitself - instead of onlyTerminalService- therefore redirects every one of those paths (UI commands, terminal profiles, and theTerminalServicetoken used by plugins/tasks/debug) through this subclass, rather than just the minority of callers that happen to injectTerminalServicedirectly.