Skip to content

Instantly share code, notes, and snippets.

@nmsmith22389
Last active September 12, 2021 02:51
Show Gist options
  • Save nmsmith22389/7b50a02408df1fcb59e6ba4c458f7db7 to your computer and use it in GitHub Desktop.
Save nmsmith22389/7b50a02408df1fcb59e6ba4c458f7db7 to your computer and use it in GitHub Desktop.
Pico-Go JSON Schema
{
"$id": "pico-go_settings",
"$schema": "http://json-schema.org/draft-07/schema",
"description": "Settings for the Pico-Go VSCode extensions.",
"required": [],
"title": "Pico-Go Settings",
"type": "object",
"properties": {
"auto_connect": {
"$id": "#/properties/auto_connect",
"default": true,
"description": "Autoconnect on USB. If `false`, `manual_com_device` should be set.",
"title": "Auto Connect",
"type": "boolean"
},
"autoconnect_comport_manufacturers": {
"$id": "#/properties/autoconnect_comport_manufacturers",
"default": ["MicroPython", "Microsoft"],
"description": "USB COM port manufacturers.\nUsed with auto_connect to try and identify a Pico board.",
"examples": [["MicroPython", "Microsoft"]],
"title": "Autoconnect COM Port Manufacturers",
"type": "array",
"additionalItems": true,
"items": {
"$id": "#/properties/autoconnect_comport_manufacturers/items",
"anyOf": [
{
"$id": "#/properties/autoconnect_comport_manufacturers/items/anyOf/0",
"type": "string"
}
]
}
},
"ctrl_c_on_connect": {
"$id": "#/properties/ctrl_c_on_connect",
"default": false,
"description": "If true, executes a ctrl-c on connect to stop running programs.",
"title": "Ctrl+C on Connect",
"type": "boolean"
},
"fast_upload": {
"$id": "#/properties/fast_upload",
"type": "null",
"title": "The fast_upload schema",
"description": "An explanation about the purpose of this instance.",
"default": null,
"examples": [null]
},
"ftp_password": {
"$id": "#/properties/ftp_password",
"default": "pico",
"description": "The password to use for authenticating with the Pico-Go FTP server.",
"title": "FTP Password",
"type": "string"
},
"manual_com_device": {
"$id": "#/properties/manual_com_device",
"default": true,
"description": "Used when auto_connect is false. E.g. COM3 or /dev/tty.usbmodem0000000000001.",
"title": "Manual COM Device",
"type": ["boolean", "null"]
},
"open_on_start": {
"$id": "#/properties/open_on_start",
"default": false,
"description": "Whether to open the terminal and connect to the board when starting Code. The default setting (from v1.2 onward) is to not launch the Pico Console unless the project has been configured as a Pico-Go project.",
"title": "Open on Start",
"type": "boolean"
},
"py_ignore": {
"$id": "#/properties/py_ignore",
"default": [],
"description": "Comma-separated list of files and folders to ignore when uploading (no wildcard or regular expressions supported).",
"examples": [["pico-go.json", ".vscode"]],
"title": "Python Ignore List",
"type": "array",
"additionalItems": true,
"items": {
"$id": "#/properties/py_ignore/items",
"anyOf": [
{
"$id": "#/properties/py_ignore/items/anyOf/0",
"type": "string",
"title": "The first anyOf schema",
"description": "An explanation about the purpose of this instance.",
"default": "",
"examples": ["pico-go.json", ".vscode"]
}
]
}
},
"python_path": {
"$id": "#/properties/python_path",
"default": false,
"description": "This allows you to set the path to the Python executable manually instead of relying on Python being in your PATH. E.g. /path/to/python3.",
"markdownDescription": "This allows you to set the path to the Python executable manually instead of relying on Python being in your PATH. E.g. `/path/to/python3.`",
"title": "Python Path",
"type": "string"
},
"safe_boot_on_upload": {
"$id": "#/properties/safe_boot_on_upload",
"default": false,
"description": "Safe-boot before upload.",
"title": "Safe Boot on Upload",
"type": "boolean"
},
"statusbar_buttons": {
"$id": "#/properties/statusbar_buttons",
"default": [
"status",
"run",
"upload",
"download",
"disconnect",
"listserial",
"settings",
"projectsettings",
"getversion"
],
"description": "Which quick-access buttons to show in the status bar.",
"title": "Statusbar Buttons",
"type": ["array", "null"],
"items": {
"type": "string"
}
},
"sync_all_file_types": {
"$id": "#/properties/sync_all_file_types",
"default": false,
"description": "If enabled, all files will be uploaded no matter the file type (sync_file_types will be ignored).",
"title": "Sync All File Types",
"type": "boolean"
},
"sync_file_types": {
"$id": "#/properties/sync_file_types",
"default": "py,txt,log,json,xml,html,js,css,mpy",
"description": "Types of files to be synchronized.",
"title": "Sync File Types",
"pattern": "[a-z,]*",
"type": "string"
},
"sync_folder": {
"$id": "#/properties/sync_folder",
"default": "",
"description": "Folder to synchronize. Empty to sync project's main folder.",
"title": "Sync Folder",
"type": "string"
}
},
"additionalProperties": true
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment