Skip to content

Latest commit

 

History

History
98 lines (71 loc) · 3.33 KB

README.md

File metadata and controls

98 lines (71 loc) · 3.33 KB

Automajick

Auto-(Majick): A play on 'Automatic' and mispelt form of 'Magic'.

A simple way to run scripts through the use of a quickpick dialog box, specified in your vscode settings.

Each majick can either be a command-line string or a file location, and you can choose to take focus away from the editor or not.

Features and goals

  • Works with any interpreter or command system.
  • Run scripts on any open file, with sane defaults.
  • Commands are loaded at invocation and will pop up as a quick-pick dialog.
  • Commands are executed with the current file location as the first argv parameter. Either in your workspace or the file's directory.

Use cases could include:

  • Converting one file format to the next
  • Extracting data from one source to apply to another
  • Managing folder-level tasks, git repos, custom sanity checks
  • Compile and build scripts, setup scripts, etc

This extension allows those scripts to be written in a generic way, and activated with few button presses.

Improvements and changes

If there's any feature requests, let us know by the way of an issue on the github page.

Extension Settings

  • automajick.interpreter: The command line for invoking the interpreter (default: "python")
  • automajick.commands: A list of command objects with the following properties:
{
  "label": "Script Name",
  "description": "Some extra dialog information",
  "location?": "C:/path/to/script",
  "command?": "-c \"print('hello world')\"",
  "forget?": true
}

Where:

  • location is a path to a script that can be run with your chosen interpreter.
  • command is a line of command line arguements that can be understood by your interpreter (takes precedence over location)
  • forget is a boolean signifying a "fire and forget" type of command;
    • you will preserve focus in the editor if you set this to true; unset is false by default

You cannot run both a command and a location; if both are specified, the command will be used.

How to use

Activate via the <Alt>+` Keypress or Automajick Run, you will get a quick-select popup of different scripts that you have configured to run.

Each command is ran in the form of:

cd {workspaceFolder || directoryOfCurrentFile};
{interpreter} {picked.command || picked.location} "{currentFile}"
  • picked.location is a location to the script ( note: wrapped with double-quotes)
  • picked.command is the command paramters of the script; you must escape double-quotes manually.
  • currentFile : Is the current file you are observing in the editor.

Defaults: made as example

You can tab-complete the parameter in vscode.settings, which will pre-populate you with the default commands:

[
  {
    "label": "Hello World",
    "description": "This runs a line of python without giving focus to the terminal",
    "command": "-c \"import sys; print('hello world', sys.argv)\"",
    "forget": true
  },
  {
    "label": "Hello File",
    "description": "This runs a file somewhere, giving focus to the terminal",
    "location": "C:/test/test.py"
  },
  {
    "label": "Hello Null",
    "description": "This runs nothing and will pop up as an error box"
  }
]

Release Notes

  • Version 1.0.2 (this release) - changed icon and keybinding, now alt-backtick
  • Version 1.0.1 - added the command, location, and forget parameters
  • Version 1.0.0 - First real release