You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Allows customizing the executable and arguments used by
Tools → Launch Copilot CLI (External Terminal) via a new VS Unified
Settings category (Settings → Copilot CLI IDE Bridge → External
Terminal). Defaults preserve existing behavior (`cmd.exe /k copilot`).
Supports any shell (`wt.exe`, `pwsh.exe`, `powershell.exe`, custom
path) and a `{WorkspaceFolder}` placeholder for terminals like Windows
Terminal that don't inherit the parent process working directory.
The resolved command/arguments/cwd are written to the Copilot CLI
output pane on launch for diagnostics.
Also:
- Rename existing Terminal settings category to "Embedded Terminal"
- Refactor TerminalSettings to share GetString/GetInt32 helpers
- Refactor TerminalSettingsProvider to derive moniker from key (ToMoniker)
removing duplicate moniker constants
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+10-1Lines changed: 10 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,15 +6,24 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
7
7
## [Unreleased]
8
8
9
+
## [1.0.19] - 2026-04-26
10
+
11
+
### Added
12
+
13
+
-**External terminal configuration** via VS Settings (**Settings → Copilot CLI IDE Bridge → External Terminal**) — customize the executable (`Command`) and `Arguments` used by **Tools → Launch Copilot CLI (External Terminal)**. Defaults preserve existing behavior (`cmd.exe /k copilot`); supports any shell (`wt.exe`, `pwsh.exe`, `powershell.exe`, or any executable on PATH / full path).
14
+
-`{WorkspaceFolder}` placeholder in `Command` and `Arguments` — substituted with the current solution directory at launch time. Required for terminals that don't inherit the parent process working directory (e.g. `wt.exe -d "{WorkspaceFolder}" cmd /k copilot`).
15
+
- Output pane log entry on external terminal launch showing the resolved command, arguments, and working directory — for debugging custom configurations.
16
+
9
17
### Changed
10
18
11
19
- Replace `Task.Delay(200)` server startup wait with stdout `READY` handshake — deterministic server readiness detection with 10s timeout
20
+
- Renamed the existing **Terminal** settings category to **Embedded Terminal** to disambiguate from the new External Terminal category.
12
21
13
22
### Fixed
14
23
15
24
- Fix TOCTOU race condition in `DebouncePusher` — timer and key fields now properly synchronized
16
25
- Clean up orphaned diff views on solution switch — `CleanupAllDiffs()` runs before RPC teardown in `StopConnection()`
17
-
- Trim SSE event historyto last-per-notification-type — prevents unbounded growth from rapid selection/diagnostics changes while preserving initial state for new SSE clients
26
+
- Trim SSE event history to last-per-notification-type — prevents unbounded growth from rapid selection/diagnostics changes while preserving initial state for new SSE clients
18
27
- Remove no-op assertions and duplicate tests in server test suite
Copy file name to clipboardExpand all lines: src/CopilotCliIde/registration.json
+38-2Lines changed: 38 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -4,14 +4,28 @@
4
4
"title": "Copilot CLI IDE Bridge"
5
5
},
6
6
"copilotCliIde.terminal": {
7
-
"title": "Terminal",
7
+
"title": "Embedded Terminal",
8
8
"order": 1
9
+
},
10
+
"copilotCliIde.externalTerminal": {
11
+
"title": "External Terminal",
12
+
"order": 2,
13
+
"messages": [
14
+
{
15
+
"text": "The external terminal is launched in the working directory of the current solution. Use the {WorkspaceFolder} placeholder in Command or Arguments when a terminal (like Windows Terminal) does not inherit the working directory.",
"description": "Executable used to launch Copilot CLI from the Tools menu. Any executable on PATH or full path is accepted. Common shells: cmd.exe, powershell.exe, pwsh.exe, wt.exe."
64
+
},
65
+
"arguments": {
66
+
"type": "string",
67
+
"title": "Arguments",
68
+
"description": "Arguments passed to the command. Use {WorkspaceFolder} to substitute the current solution directory. Examples: cmd.exe → '/k copilot'; wt.exe → '-d \"{WorkspaceFolder}\" cmd /k copilot'; pwsh.exe → '-NoExit -Command copilot'."
0 commit comments