Configuration
Buttons contributes settings for text size, which script types to scan, extra scan directories, and optional button colors. buttons.textSize, buttons.scriptFiles, and buttons.colors.* are window-scoped (User or Workspace level). buttons.scanDirectories is resource-scoped (per workspace folder, saved at Workspace level when you use the panel).
buttons.textSize
Section titled “buttons.textSize”Text size used in the Buttons UI, relative to VS Code’s font size.
| Value | Description |
|---|---|
default |
VS Code default text size |
plus2 |
VS Code default + 2px |
plus4 |
VS Code default + 4px |
Default: default. You can also click the gear icon in the panel header to jump straight to this setting.
buttons.scriptFiles
Section titled “buttons.scriptFiles”Which script file types to scan for runnable commands.
| Value | Description |
|---|---|
package.json |
Included by default |
shell |
.sh files in scan directories |
python |
Python entry files (app.py, main.py, manage.py, run.py, server.py) and venv buttons |
Cargo.toml |
Rust cargo build, cargo test, cargo run (included by default) |
go.mod |
Go go build, go test, go run . (included by default) |
Makefile |
Opt-in |
composer.json |
Opt-in |
justfile |
Opt-in |
Default: ["package.json", "shell", "python", "Cargo.toml", "go.mod"]. Enable the others to scan them; add unsupported file types as custom commands instead.
buttons.scanDirectories
Section titled “buttons.scanDirectories”Extra directories to scan, on top of the always-scanned project root (top level only).
{ "buttons.scanDirectories": [ { "path": "scripts", "recursive": true }, { "path": "services/api", "recursive": false } ]}| Field | Description |
|---|---|
path |
Workspace-relative directory path (posix or windows separators), or an absolute path for a directory outside the workspace. |
recursive |
Scan the directory’s whole tree instead of only its top level. Default false. |
Default: []. Paths are normalized (backslashes fixed, trailing slashes dropped). Relative entries must stay inside the workspace: .. escapes, duplicates, glob metacharacters, hidden directories, and ignore-listed names are ignored. Absolute entries (directories outside the workspace) are allowed and only reject glob metacharacters and .. segments. The Scan directories card in the Project scripts tab edits this setting for you through its paste-a-path Add field. See Script scanning for the scope model.
buttons.colors.*
Section titled “buttons.colors.*”Optional hex (or rgb() / rgba()) colors for the panel. Empty values inherit the VS Code theme, or the fallback listed below. The settings UI shows a color picker.
Action buttons
Section titled “Action buttons”| Setting | Applies to |
|---|---|
buttons.colors.runBackground / runForeground |
Run |
buttons.colors.newTerminalBackground / newTerminalForeground |
New Terminal |
buttons.colors.appendBackground / appendForeground |
+ (append with a space) |
buttons.colors.newlineBackground / newlineForeground |
↵ (append on a new line) |
buttons.colors.copyBackground / copyForeground |
Copy |
buttons.colors.duplicateBackground / duplicateForeground |
Duplicate |
buttons.colors.editBackground / editForeground |
Note / Edit |
buttons.colors.removeBackground / removeForeground |
✕ |
buttons.colors.actionBackground / actionForeground |
Fallback for the buttons above, and fill for header actions (Generate, Rescan, Add command) |
buttons.colors.hoverBackground |
Hover background for action buttons |
Command text
Section titled “Command text”| Setting | Applies to |
|---|---|
buttons.colors.commandForeground / commandBackground |
Command text and the background behind it |
buttons.colors.variantCommandForeground / variantCommandBackground |
The same pair for variant commands. Empty falls back to the command colors |
| Setting | Applies to |
|---|---|
buttons.colors.rowOddBackground / rowEvenBackground |
Alternating top-level command cards and table rows |
buttons.colors.rowBackground |
Fallback for both odd and even rows |
buttons.colors.variantRowOddBackground / variantRowEvenBackground |
Alternating variant rows |
buttons.colors.variantRowBackground |
Fallback for both variant rows, then rowBackground |
Default: "" (empty). buttons.colors.background and buttons.colors.foreground are deprecated fallbacks used only when the newer keys are empty.
Where settings live
Section titled “Where settings live”Changes are stored in VS Code’s own settings (settings.json), not in .buttons.json:
{ "buttons.textSize": "plus2", "buttons.scriptFiles": ["package.json", "shell", "python", "Cargo.toml", "go.mod", "Makefile", "justfile"], "buttons.scanDirectories": [{ "path": "packages", "recursive": true }], "buttons.colors.runBackground": "#3d2b1f", "buttons.colors.runForeground": "#f4e8d4", "buttons.colors.commandForeground": "#f4e8d4", "buttons.colors.commandBackground": "#1f1914", "buttons.colors.rowOddBackground": "#2a2118", "buttons.colors.rowEvenBackground": "#241c16"}Opening settings
Section titled “Opening settings”Open the settings page from the gear icon in the panel header, or via Command Palette → Preferences: Open Settings and searching for “Buttons”.