Make support and task runner
Run make tasks and targets from VS Code command picker or via tasks menu.
Features
- Run
Make from command picker
- You can assign a shortcut to the command
make-task-provider.runTarget and it will list all the available tasks to choose.
- List make as an option from the VS Code task runner menu
- Tasks-View listing all available targets
- Multiple workspaces ready!
- NEW: Set the executable path to your
make command
- NEW: Add extra arguments to the
make execution command
Running from the command picker:

Running from the tasks view:

Adding extra arguments/flags to the make execution command
The setting make-task-provider.extraArguments can be set with an array of strings with extra arguments which will be added to the make command.
"make-task-provider.extraArguments": [
"--always-make",
"--ignore-errors"
]
Extra arguments will be appended to the make command as follows:
[make bin path] -f [makefile path] [...extra arguments] [target name]
For example, If the target build is triggered, it will be executed as:
$ make -f ./Makefile --always-make --ignore-errors build
It is also possible to customize flags to a single target by using VSCode task customization:
On your project's tasks.json, set the following:
{
"version": "2.0.0",
"tasks": [
{
"type": "make",
"targetName": "build",
"makeFileRelativePath": "Makefile",
"problemMatcher": [],
"label": "make: build with extra args",
"args": [
"--always-make",
"--ignore-errors"
]
}
]
}
If make-task-provider.extraArguments is set along with args in the tasks.json,
ALL the extra arguments will be added to the make command.
PS: This extension is NOT a re-implementation of make, so you must have make executables available on your system.
If make is not on your PATH, you can customize the executable path individually based on your operating system:
| OS |
Settings |
Example |
| Windows |
make-task-provider.windows.makeExecutable |
"C:\Program Files\make\bin\make.exe" |
| Linux |
make-task-provider.unix.makeExecutable |
"/usr/bin/make" |
| Mac OS |
make-task-provider.osx.makeExecutable |
"/usr/bin/make" |