Can I have multiple top-level .INO files in a Workbench project, and if so, how do I target one or the other for build?

I just started really digging into Workbench on VScode. It’s pretty great.

awesome! happy to hear :pray:

I have a project that requires a master Argon and a slave argon. They run different firmware.

VSCode has a featured called "multiroot workspaces" that seem to align pretty well with what you are trying to do. read up on them here:

is there a good place to learn how this environment works?

if you haven't already seen them, we have a bunch of docs and walk-thru videos:

in particular, you might want to check out:

Getting Started with Particle Workbench:

Building Firmware Locally with Particle Workbench:

TL;DR

  • cmd/ctrl+shift+p reveals VSCode's "Command Palette", typing Particle: filters the list of available commands to just those added by Workbench / Particle
  • projects need to be formatted specifically to take advantage of Workbench functionality - run Particle: Create Project, follow the prompts, and check out the results
  • under the hood Particle Workbench uses the Particle CLI to do many of the core operations - login, cloud compile & flash, project creation, etc. you'll see this in effect running commands like Particle: Serial Monitor
  • basic project & library settings are stored in project.properties, VSCode / Workbench-specific settings in .vscode/settings.json
  • you can interact with the Local Compiler directly (inspect current settings, apply overrides, view and run available tasks) - run the Particle: Launch Compiler Shell command and play around
  • help us help you by providing as much of the following when reporting issues, etc: How to report bugs and provide feedback (Workbench), How to report bugs & provide feedback (CLI)

hope it helps :+1:

1 Like