Add interactive "Start with Options..." command#354
Draft
Conversation
Co-authored-by: garrytrinder <11563347+garrytrinder@users.noreply.github.com>
Co-authored-by: garrytrinder <11563347+garrytrinder@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add interactive 'Start with Options...' command for Dev Proxy
Add interactive "Start with Options..." command
Mar 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New
Start with Options...command that launches Dev Proxy with interactive prompts for all CLI-available proxy settings, complementing the existing quick-launchStartcommand.Command registration
startWithOptionstoCommandsinsrc/constants.ts$(debug-alt)icon) and editor toolbar menu entry inpackage.jsonImplementation (
src/commands/proxy.ts)showQuickPick/showInputBoxcovering: config file, port, API port, IP address, system proxy, cert install, log level, failure rate, URLs to watch, record, no first run, timeout, watch PIDs, watch process namesdevproxyrc.{json,jsonc}files in workspaceTests & docs
src/test/commands.test.tsOriginal prompt
This section details on the original issue you should resolve
<issue_title>Add interactive "Start with Options..." experience</issue_title>
<issue_description>## Summary
Add a new
Start with Options...command that provides an interactive launch experience for Dev Proxy, complementing the existing quick-launchStartcommand. The command should surface the proxy settings available via the Dev Proxy CLI as documented in the Proxy Settings technical reference.Motivation
The current
Startcommand launches Dev Proxy with the active config file, no questions asked. Sometimes you need more control over how the proxy starts. Rather than bolting individual settings onto the existing command, provide a dedicated interactive command that exposes the CLI-available proxy settings.Supersedes #223 (env vars support).
Proposed UX
Dev Proxy Toolkit: Start with Options...(dev-proxy-toolkit.start-with-options)devproxyrc.json/devproxyrc.jsoncfiles-p, --port <port>--api-port <apiPort>--ip-address <ipAddress>--as-system-proxy--install-cert--log-level <loglevel>trace,debug,information,warning,error)-f, --failure-rate <failurerate>-u, --urls-to-watch <urlsToWatch>--record--no-first-run-t, --timeout <seconds>--watch-pids <pids>--watch-process-names <names>Implementation notes
Startcommand unchanged (quick launch, no prompts)args— the interactive command should produce the same shapeKey implementation entry points
Follow the AGENTS.md guide for adding a new command.
1. Register the command ID
Add
startWithOptions: 'dev-proxy-toolkit.start-with-options'to theCommandsobject insrc/constants.ts.2. Add to
package.jsonAdd the command under
contributes.commandsand add an editor toolbar icon undercontributes.menus(next to the existing Start icon).3. Implement the command
Add the new
startWithOptionscommand handler insrc/commands/proxy.ts. Use the existingstartDevProxyfunction as a reference — the new command should collect options via interactive prompts, then build CLI flags and pass the command to the terminal viaTerminalService.For an example of interactive prompts (input boxes), see
discoverUrlsToWatch.4. Register the command
Wire up the new command in
registerProxyCommands.5. Task provider alignment
The
DevProxyTaskDefinitioninterface already supportsconfigFileandargs. ThebuildArgumentsFromDefinitionmethod shows how args are mapped to CLI flags.6. Add tests
Add command registration test in
src/test/commands.test.tsand functional tests for the new command.7. Update CHANGELOG.md and README.md
Per AGENTS.md conventions, add a
### Added:entry and update the Commands table in README.md.Related
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.