Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>OneTouchNew to Visual Studio Code? Get it now.
OneTouch

OneTouch

liumin

|
1 install
| (0) | Free
Quick prompt buttons for VS Code — one-click copy of preset prompts
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

OneTouch 🚀

One-click quick prompt buttons for VS Code — copy reusable prompts without opening or focusing a chat interface.

Screenshots

OneTouch Sidebar

Overview

Provides customizable quick prompt buttons in the status bar and sidebar panel with the following core capabilities:

🔘 Dual Entry Points

  • Status Bar Buttons: One-click prompt copy, always visible
  • Sidebar Panel: Full prompt management interface with CRUD operations

🎯 Clipboard Workflow

Custom prompts only write to the system clipboard. The extension does not open, focus, populate, or submit any chat interface.

🖱 Interaction

Action Behavior
Left click Copies the prompt to the clipboard, runs the configured command, or executes the multi-step action
Right click Copies the prompt with currently selected editor code appended, or runs the configured command/action
Command shortcut click Executes the configured VS Code command directly
Multi-step shortcut click Executes the configured command sequence in order

📦 Built-in Shortcuts

Button Function
➕ New Codex Chat Opens in the active empty group, or splits right when that group already has tabs
🖥️ New Terminal Tab Opens in the active empty group, or splits right when that group already has tabs
🕘 Open Recent Opens VS Code's complete recent projects, workspaces, and files picker
↔️ Split Right Creates and focuses an empty editor group to the right of the active group
↕️ Split Down Keeps the current layout in the top half and creates a focused, empty group below
❌ Close All Tabs Closes all editor tabs

⚙️ Custom Prompts

Manage your prompt list directly via the sidebar panel:

  • Add: Click the + Add Shortcut button at the bottom
  • Edit: Click the edit icon next to a prompt to modify its label, icon, display mode, and prompt content
  • Delete: Click the Delete button in the edit modal, confirmed twice before deletion
  • Reorder: Adjust prompt order using up/down arrows
  • Show/Hide: Control visibility in the status bar via the eye icon

Each custom prompt supports the following properties:

Property Description
label Button display label
icon Button icon (supports VS Code Codicon library with search filtering)
prompt Prompt content copied to the clipboard (when no command/steps is set)
command VS Code command ID executed on click, e.g. workbench.action.openRecent
args Optional arguments passed to command
steps Optional command sequence executed in order on click — composes complex multi-step operations from configuration
displayMode Display mode: icon (icon only), text (text only), both (icon + text)

The built-in buttons are just pre-configured command shortcuts — the same shape you can define yourself, so any VS Code command can become a one-click button.

🎯 Command Shortcuts

Configure a shortcut that runs any VS Code command (status bar + sidebar):

{
  "oneTouch.prompts": [
    {
      "id": "custom-git-sync",
      "icon": "git-pull-request",
      "label": "Git Sync",
      "command": "git.sync",
      "color": "#4fc3f7",
      "displayMode": "icon"
    },
    {
      "id": "custom-open-recent",
      "icon": "history",
      "label": "Open Recent",
      "command": "workbench.action.openRecent",
      "color": "#4fc3f7",
      "displayMode": "icon"
    }
  ]
}

Command shortcuts can also be created from the sidebar edit dialog (Action Type → Run Command).

⚙️ Complex Operations via Multi-Step Actions

Any complex operation expressible as a chain of VS Code commands can be collapsed into a single button click using steps — each step runs in order with its own optional args:

{
  "oneTouch.prompts": [
    {
      "id": "custom-codex-terminal",
      "icon": "terminal",
      "label": "Codex",
      "steps": [
        { "command": "workbench.action.createTerminalEditor" },
        {
          "command": "workbench.action.terminal.sendSequence",
          "args": [{ "text": "codex\\r" }]
        }
      ],
      "color": "#4fc3f7",
      "displayMode": "icon"
    }
  ]
}

Tip — the terminal recipe. The most common case (new terminal tab + auto-run a command) is also available as a single parameterized command, no steps needed:

{
  "id": "custom-codex-terminal",
  "icon": "terminal",
  "label": "Codex",
  "command": "oneTouch.runTerminalCommand",
  "args": ["codex"]
}

oneTouch.runTerminalCommand opens a terminal editor tab and runs the given command text in it immediately.

Multi-step shortcuts are configured in settings.json (read-only in the sidebar UI, like built-ins).

📊 Status Bar Display Modes

Three display modes are supported, configurable per button in the edit modal:

  • Icon Only — Displays only the icon, compact and clean
  • Text Only — Displays only the text label
  • Icon + Text — Displays both icon and label

📐 Status Bar Position

Adjust the position of buttons in the status bar via the VS Code setting oneTouch.statusBarPosition:

Value Alignment Priority
leftLeft Left side High priority (near left edge)
leftRight Left side Low priority (near center-left)
rightLeft Right side Low priority (near center-right)
rightRight Right side High priority (near right edge)

Installation

From Source

git clone <repo-url>
cd onetouch
npm install
npm run compile

Then run Extensions: Install from VSIX... in VS Code or copy to the extensions directory.

Development Mode

npm run watch    # Watch TypeScript changes and auto-compile

Press F5 to launch the Extension Development Host for debugging.

Configuration

VS Code Settings

Open VS Code settings (Cmd+,), search for OneTouch, or directly edit settings.json:

{
  "oneTouch.statusBarPosition": "leftRight",
  "oneTouch.prompts": [
    {
      "id": "custom-review",
      "icon": "code-review",
      "label": "Code Review",
      "prompt": "Please review the following code and identify potential issues...",
      "color": "#4fc3f7",
      "displayMode": "icon"
    }
  ]
}

Tech Stack

  • Language: TypeScript
  • Platform: VS Code Extension API (v1.93+)
  • Build: TypeScript Compiler (tsc)
  • UI Framework: Native Webview + VS Code Codicon library
  • Zero Third-party Dependencies: Purely VS Code API implementation

Commands

Command Description
oneTouch.copyPrompt Copy a custom prompt to the clipboard
oneTouch.newCodexChat Open Codex in the active empty group, otherwise split right
oneTouch.newTerminalEditor Open a terminal in the active empty group, otherwise split right
oneTouch.runTerminalCommand Open a terminal editor tab and run the given command text
oneTouch.runSteps Execute a command sequence in order (backs steps shortcuts)
oneTouch.layoutTabs Evenly distribute editor groups
oneTouch.splitDown Move the current layout to the top half and create an empty group below
oneTouch.closeAll Close all editor tabs

Project Structure

onetouch/
├── package.json              # Extension manifest and configuration
├── tsconfig.json             # TypeScript configuration
├── src/
│   ├── extension.ts          # Extension entry: status bar, command registration
│   ├── editorLayout.ts       # Pure editor-layout transformations
│   ├── splitDown.ts          # Creates and focuses the empty bottom editor group
│   ├── terminalEditor.ts     # Opens a terminal editor with smart splitting
│   └── quickPromptsProvider.ts # Webview Provider + prompt management logic
├── media/                    # Static assets (reserved)
├── learnings/                # Development learning notes
└── skills-lock.json          # Skills lock file

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft