Quick guide on how to puppet-lint your puppet code in VSCode IDE
Why
When Im working on my puppet code using Microsofts excellent VSCode editor, I’m also using the Puppet extension (can get it in the Marketplace), which does auto-linting, meaning that if you have some issues with your syntax, it alerts you
The problem is that it doesn’t run a basic fix routine, puppet-lint --fix
To do this, heres a quick way to configure this inside VSCode,
How
- make sure you have puppet-lint gem installed
- in VSCode open up tasks.json (or hit F1 and type
configure task
)
3. create a new task “Puppetlint”
4. a Task is basically a JSON file defining an action, add this
{
“version”: “2.0.0”,
“tasks”: [
{
“label”: “puppetlint”,
“type”: “shell”,
“command”: “puppet-lint”,
“args”: [“-f”, “${file}”]
}
]
}
5. this tells VSCode to run a shell command “puppet-lint -f (the file you’re currently working on)”
6. Now add a keybinding to run this action, hit F1 and type in “key”, select “Preferences: Open Keyboard Shortcuts File”
7. This will open upkeybindings.json
[
{
"key":"Alt+L", "command":"workbench.action.tasks.runTask",
"args": "puppetlint"
}
]
Save the file. Go back to your puppet code, hit Alt+”l” (letter L), puppet-lint will now auto-fix your file.