In some projects there may be a need to validate code against different ports of MicroPython, or against fifferent versions of micropython or to mix and match MicroPython and CPython code.
To enable that in a single VSCode project two concepts are relevant:
- Make use of a VSCode multi-root workspace
- Create seperate pyright configuration files for folder in the workspace
All VSCode project are already workspaces. A multi-root workspace is just one with an additional folder added to it. The workspace folders can be sub-folders in the main project folder or completely different folders.
I usually create a root-folder, and then add sub-folders for each part of the project, and store the
.workspace
file in the top of the root folder.
For more details see: https://code.visualstudio.com/docs/editor/multi-root-workspaces
Pyright allows you to configure the behaviour of the language server on a per folder basis.
The configuration can be stored in a variety of ways, but the easiest is to use a pyrightconfig.json
or pyproject.toml
file in the root of each of the workspace folders.
Sample configuration files