Zephyr Workbench, a VSCode extension to manage Zephyr on STM32.
It enables users to easily create, develop, and debug Zephyr applications.
Main features:
Install host dependencies.
Import toolchain and SDK.
Create, configure, build and manage apps.
Debug STM32.
You can directly download it from the VSCode marketplace
For more details, visit the Zephyr Workbench
In addition to setting optimisation to -Os, I suggest to add (-specs=nano.specs) in linker miscellaneous options.
This will forces the linker to use the nanolib (optimised for size) instead of the standard newlib