Skip to content

Terminal Command Buttons v1.0.0

Choose a tag to compare

@kacpermizera-dev kacpermizera-dev released this 19 Oct 11:44
· 1 commit to master since this release

First release on the VS Code Marketplace.

One-click buttons for your terminal commands, right next to the terminal: run status, variables, groups, stop/restart and git aliases.

Security

  • Values of ${file}, ${selectedText}, ${workspaceFolder}, ${env:…} and the other editor variables, and options picked from List from command, are quoted for the shell of the terminal the command runs in (bash, zsh, fish, PowerShell, cmd), also inside your own quotes and $(...). A file or branch name such as a$(curl …|sh).js can no longer run a command. Where a value cannot be passed safely, the run stops with a message. Typed answers and your own list options are inserted as typed.
  • Rerun Last Command and Restart quote the values again for the terminal they run in, and ask first for buttons with Ask before running.
  • Git aliases: git is started by its full path, never from the terminal's folder. The terminal's folder is used only inside the workspace.
  • List from command runs in your home folder in an untrusted workspace.

Fixed

  • Hand-written buttons in settings.json without an id, with a duplicate id or with wrong field types work; broken entries are kept in the file.
  • Dragging a button only saves the places whose order changed.
  • Closing one of the two views no longer stops updates in the other.
  • Esc while List from command is loading cancels the run.
  • Open config file works for repository aliases.

Performance

  • Git aliases are read by one refresh at a time instead of several parallel runs of git.
  • Large List from command output no longer blocks the extension host.

Also

  • Extension icon and Marketplace listing; CI on GitHub Actions.

Full list in CHANGELOG.md.

Install

Search for Terminal Command Buttons in the Extensions view, or download terminal-command-buttons-1.0.0.vsix below and use Extensions: Install from VSIX...