Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>make (mkrun)New to Visual Studio Code? Get it now.
make (mkrun)

make (mkrun)

Optersoft

| (0) | Free
Run a Makefile.py's tasks from the editor: the Run Task list, a tree, and a Run lens on every @task.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

make for VS Code

Run a Makefile.py's tasks from the editor: the Run Task list, an explorer tree, and a Run lens above every @task.

The extension knows nothing about tasks. It runs mk --list --json and draws what comes back — which is the only honest way to do it, because a task file is Python and nothing short of running it knows what tasks exist, what they are called, or where they are written.

What it does

Tree every task file in the workspace, grouped the way mk --list groups them
Lens Run / Dry run above each @task, at the line the runner reports
Run Task every argument-free task, as a type: "mk" task
mkrun: Run Task... a quick pick that asks for the arguments a task needs
mkrun: Doctor / Sync mk --doctor and mk --sync, in a terminal

Three things it deliberately does not do

It never passes -y. A task declared dangerous=True asks before it does the thing, and that question is the entire safety mechanism — a button that pre-answers it is a button that restarts a production service from a misclick. Runs land in a terminal, where the confirmation can be read.

It does nothing in an untrusted workspace. Listing the tasks runs the task file. There is no read-only path to a listing, so the extension declares untrustedWorkspaces: false rather than pretending there is.

A click in the tree opens the definition; it does not run. Single-clicking a row is how people read one, and the rows include whatever that repository called dangerous.

Settings

mkrun.command the command to run (default mk)
mkrun.codeLens show the lens (default true)
mkrun.exclude task files to ignore while searching

⚠ The command is mk. The distribution is mkrun and the import name is make, but there is deliberately no make command — it would shadow GNU make on every Unix machine. If the editor's PATH does not have it (a uv tool install into ~/.local/bin that only the shell profile adds), set mkrun.command to the absolute path.

Developing

mk ext.test       # node --test, including the contract test against the real mk
mk ext.package    # build the .vsix
mk ext.install    # build it and install it into the local VS Code

src/listing.js and src/command.js hold everything that can be decided without an editor, and are where the tests are; client.js is the part that needs the vscode module. Same split as optersoft/kotlin, for the same reason.

MIT OR Apache-2.0.

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