Visual Studio Code (VS Code) is an open-source code editor that supports many different programming languages.
Using a full-featured editor such as VS Code provides many advantages over a plain text editor, such as:
The purpose of this page is to document how to set up VS Code for developing QMK Firmware.
This guide covers how to configure everything needed on Windows and Ubuntu 18.04
Before starting, you will want to make sure that you have all of the build tools set up, and QMK Firmware cloned. Head to the the Newbs Getting Started Guide to get things set up, if you haven't already.
Git for Windows (This link will prompt to save/run the installer)
Git LFS (Large File Support)
and Check daily for Git for Windows updates
.Use Visual Studio Code as Git's default editor
Use Git from Git Bash only
option, since that's the option that you should use here.Choosing HTTPS transport backend
, either option should be fine.Checkout as-is, commit Unix-style line endings
option. QMK Firmware uses Unix style commits.This software is needed for Git support in VS Code. It may be possible to not include this, but it is much simpler to just use this.
Git Credential Manager for Windows (Optional)
This software provides better support for Git by providing secure storage for git credentials, MFA and personal access token generation.
This isn't strictly needed, but we would recommend it.
This part is super simple. However, there is some configuration that we need to do to ensure things are configured correctly.
First, we need to set up IntelliSense. This isn't strictly required, but it will make your life a LOT easier. To do this, we need to create the .vscode/c_cpp_properties.json
file in the QMK Firmware folder, You can do this all manually, but I've done most of the work already.
Grab this file and save it. You may need to edit this file, if you didn't install MSYS2 to the default location, or are using WSL/LxSS.
Once you have saved this file, you will need to reload VS Code, if it was already running.
?> You should see an extensions.json
and settings.json
file in the .vscode
folder, as well.
Now, we will set up the MSYS2 window to show up in VSCode as the integrated terminal. This has a number of advantages. Mostly, you can control+click on errors and jump to those files. This makes debugging much easier. It's also nice, in that you don't have to jump to another window.
Click File > Preferences > > Settings
Click on the {} button, in the top right to open the settings.json
file.
Set the file's content to:
{
"terminal.integrated.shell.windows": "C:\\msys64\\usr\\bin\\bash.exe",
"terminal.integrated.env.windows": {
"MSYSTEM": "MINGW64",
"CHERE_INVOKING": "1"
},
"terminal.integrated.shellArgs.windows": [
"--login"
],
"terminal.integrated.cursorStyle": "line"
}
If there are settings here already, then just add everything between the first and last curly brackets and separate the existing settings with a comma from the newly added ones.
?> If you installed MSYS2 to a different folder, then you'll need to change the path for terminal.integrated.shell.windows
to the correct path for your system.
Hit Ctrl-`
(Grave) to bring up the terminal or go to View > Terminal (command workbench.action.terminal.toggleTerminal
). A new terminal will be opened if there isn‘t one already.
This should start the terminal in the workspace's folder (so the qmk_firmware
folder), and then you can compile your keyboard.
No, really, that's it. The paths needed are already included when installing the packages, and it is much better about detecting the current workspace files and parsing them for IntelliSense.
There are a number of extensions that you may want to install:
Restart once you've installed any extensions
And now you're ready to code QMK Firmware in VS Code