Skip to content

wk-j/vscode-save-and-run

 
 

Repository files navigation

Run saved file in Terminal

Version Installs

Fork from vscode-runonsave

Simplify original extension by pass command into Terminal directly without spawn process, so we don't lose output colors.

Features

  • Configure multiple commands that run when a file is saved
  • Regex pattern matching for files that trigger commands running

Configuration

Add "saveAndRun" configuration to user or workspace settings.

  • "commands" - Array of commands that will be run whenever a file is saved.
  • "match" - A regex for matching which files to run commands on
  • "cmd" - Command to run. Can include parameters that will be replaced at runtime (see Placeholder Tokens section below).
  • "useShortcut" - Execute file with shortcut key Command + Shift + R
  • "silent" - Don't show terminal after save. Defaults to false

Sample Config

"saveAndRun": {
  "commands": [
    {
      "match": ".*",
      "cmd": "echo 'I run for all files.'",
      "useShortcut": false,
      "silent": false
    },
    {
      "match": "\\.txt$",
      "cmd": "echo 'I am a .txt file ${file}.'",
      "useShortcut": false,
      "silent": false
    }
  ]
}

Commands

The following commands are exposed in the command palette

  • Save and Run : Enable
  • Save and Run : Disable

Placeholder Tokens

Commands support placeholders similar to tasks.json.

  • ${workspaceRoot} - workspace root folder
  • ${workspaceFolder} - the path of the folder opened in VS Code
  • ${file} - path of saved file
  • ${relativeFile} - relative path of saved file
  • ${fileBasename} - saved file's basename
  • ${fileDirname} - directory name of saved file
  • ${fileExtname} - extension (including .) of saved file
  • ${fileBasenameNoExt} - saved file's basename without extension
  • ${cwd} - current working directory

Environment Variable Tokens

  • ${env.Name}

License

Apache

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 95.5%
  • C# 4.5%