Skip to content

Apply the run configuration on run, and add Run with Parameters… - #20

Open
ChrisonSimtian wants to merge 1 commit into
feature/run-config-secretsfrom
feature/apply-run-config
Open

Apply the run configuration on run, and add Run with Parameters…#20
ChrisonSimtian wants to merge 1 commit into
feature/run-config-secretsfrom
feature/apply-run-config

Conversation

@ChrisonSimtian

Copy link
Copy Markdown
Contributor

6/6 of the #2 split. Closes #14. Based on #19 — the last of the stack.

Wires the stored configuration into the two ways a target gets run.

  • Inline ▶ stays silent. Saved parameters are appended as arguments, secrets applied as environment variables. One click, configuration simply in effect.
  • "Run Target with Parameters…" opens an InputBox prefilled with the target and those arguments, for a one-off tweak — an extra --configuration Debug, a different verbosity — without editing the saved configuration. Secrets still apply but are not editable here: the point of keychain storage is that they never appear in a text field.

The subtle one

runInTerminal disposes and recreates the Fallout terminal when an environment is supplied:

if (hasEnv) {
    terminal?.dispose();
    terminal = vscode.window.createTerminal({ name: 'Fallout', cwd: root, env });
}

A terminal's environment is fixed at creation. Reusing the existing one would silently run with a stale secret after a rotation, and the failure would present as a bad credential rather than a stale terminal — an expensive thing to debug. The no-env path still reuses the terminal, so ordinary runs don't churn it.

Both commands are hidden from the command palette: they act on a tree item, and invoking them without one does nothing.

After this merges

#2 can close, and #1 (populate parameters and secrets from the build's declarations, blocked on Fallout-build/Fallout#499) is the remaining follow-up.

🤖 Generated with Claude Code

Wires the stored configuration into the two ways a target gets run.

The inline ▶ stays silent: saved parameters are appended as arguments and
secrets applied as environment variables, so the common case is one click and
the configuration is simply in effect.

"Run Target with Parameters…" opens an InputBox prefilled with the target and
those same arguments, for a one-off tweak — an extra `--configuration Debug`,
a different verbosity — without editing the saved configuration. Secrets still
apply; they are not editable here, since the point of storing them in the
keychain is that they never appear in a text field.

runInTerminal disposes and recreates the Fallout terminal when an environment
is supplied. A terminal's environment is fixed at creation, so reusing the
existing one would silently run with a stale secret after a rotation — the
failure would look like a bad credential rather than a stale terminal.

Both commands are hidden from the command palette: they act on a tree item, and
invoking them without one does nothing.

Closes #14

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant