Skip to content

timdah/vscode-command-runner

 
 

Repository files navigation

VSCode Command Runner

Run custom shell command defined in vs code configuration and node module package.json

Features

  • Run custom shell command
  • Run selected content as shell command
  • Run custom shell command with selected files by explorer context menu

Extension Settings

You can defined shell command in vs code configuration

{
    "command-runner.terminal.name": "runCommand",
    "command-runner.terminal.autoClear": true,
    "command-runner.terminal.autoFocus": true,
    "command-runner.commands": {
        "echo workspaceFolder": "echo ${workspaceFolder}",
        "echo file": "echo ${file}"
    }
}

or in node module package.json

{
    "commands": {
        "echo workspaceFolder": "echo ${workspaceFolder}",
        "echo file": "echo ${file}"
    }
}

Key Binding

You can bind custom keys for the command which defined in configuration

{
    "key": "ctrl+alt+1",
    "command": "command-runner.run",
    "args": { "command": "echo file" }
}

Terminal Options

You can customize the terminal for the command

{
    "key": "ctrl+alt+1",
    "command": "command-runner.run",
    "args": {
        "command": "echo file",
        "terminal": "runCommand"
    }
}

or

{
    "key": "ctrl+alt+1",
    "command": "command-runner.run",
    "args": {
        "terminal": {
            "name": "runCommand",
            "cwd": "path/to/runCommand",
            "shellArgs": [],
            "autoClear": true,
            "autoFocus": true
        }
    }
}

Predefined Variable

  • ${file}: activated file path;
  • ${fileBasename}: activated file basename;
  • ${fileBasenameNoExtension}: activated file basename with no extension;
  • ${fileDirname}: activated file dirname;
  • ${fileExtname}: activated file extension;
  • ${lineNumber}: the first selected line number;
  • ${lineNumbers}: the all selected line number, eg. 41,46,80;
  • ${columnNumber}: the first selected column number;
  • ${columnNumbers}: the all selected column number, eg. 41,46,80;
  • ${selectedFile}: the first selected file/folder from the context menu`;
  • ${selectedFiles}: the selected file/folder list from the context menu or use config, eg. "path/to/file1" "path/to/file2";
  • ${selectedText}: the first selected text;
  • ${selectedTextList}: the all selected text list, eg. sl1 sl2;
  • ${selectedTextSection}: the all selected text section, eg. sl1\nsl2;
  • ${selectedPosition}: the selected position list, eg. 21,6;
  • ${selectedPositionList}: the all selected position list, eg. 45,6 80,18 82,5;
  • ${selectedLocation}: the first selected location, eg. 21,6,21,10;
  • ${selectedLocationList}: the all selected location list, eg. 21,6,21,10 22,6,22,10 23,6,23,10;
  • ${relativeFile}: activated file relative path;
  • ${workspaceFolder}: activated workspace folder path;
  • ${workspaceFolderBasename}: activated workspace folder basename;
  • ${homedir}: the home directory of the current user;
  • ${tmpdir}: default directory for temporary files;
  • ${platform}: os platform;
  • ${env:PATH}: shell environment variable "PATH";
  • ${config:editor.fontSize}: vscode config variable;
  • ${command:workbench.action.terminal.clear}: run vscode command;
  • ${input}: input a value as parameter;
  • ${input:defaultValue}: input a value as parameter, and specify the default value;

Usages

  • use shortcut Ctrl+Shift+R to select custom command
  • use shortcut Ctrl+Alt+R to run selected content as shell command
  • or press F1 and then select/type Run Command or Run In Terminal,
  • or right click the Text Editor and then click Run Command to select custom command in editor context menu
  • or right click the Text Editor and then click Run In Terminal to run selected content as shell command in editor context menu

About

vscode custom command runner

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 87.5%
  • JavaScript 10.0%
  • Shell 2.5%