mbox series

[0/2] bitbake-setup: Add VSCode workspace generation support

Message ID 20260119073419.952608-1-adrian.freihofer@siemens.com
Headers show
Series bitbake-setup: Add VSCode workspace generation support | expand

Message

AdrianF Jan. 19, 2026, 7:34 a.m. UTC
From: Adrian Freihofer <adrian.freihofer@siemens.com>

This patch series introduces automatic generation of VSCode workspace
configuration files for bitbake projects created with bitbake-setup. The
feature enhances the developer experience by automatically configuring a
multi-root workspace tailored for bitbake development.

The implementation generates a `bitbake.code-workspace` file that includes:

- Multi-root workspace structure with all layer repositories and the build
  configuration directory as top-level folders in the VSCode explorer
- Pre-configured BitBake extension settings (paths to bitbake folder, build
  folder, environment script, etc.)
- File associations for `.conf` and `.inc` files mapped to the bitbake
  language
- Python analysis paths automatically discovered from layer `lib/` and
  `scripts/` directories
- Sensible exclusion patterns for `.git` and log directories

The workspace file is placed at the setup directory level, outside any
version-controlled repositories, avoiding repository clutter while providing
a centralized configuration for the entire project.

Adrian Freihofer (2):
  bitbake-setup: generate config files for VSCode
  bitbake-selftest: add test for VSCode workspace generation

 bin/bitbake-setup     | 198 +++++++++++++++++++++++++++++++++++++----
 lib/bb/tests/setup.py | 201 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 384 insertions(+), 15 deletions(-)

Comments

Alexander Kanavin Jan. 20, 2026, 11:57 a.m. UTC | #1
Hello Adrian,

the approach looks good, but the changes are not small, and I need to
set aside a bit of time to give it a proper review. I'm now trying to
fix some of the more difficult autobuilder issues we've been having
with newer distros (f43, ubuntu 25.10). I'll get to it.

Alex

On Mon, 19 Jan 2026 at 08:34, Adrian Freihofer via
lists.openembedded.org
<adrian.freihofer=siemens.com@lists.openembedded.org> wrote:
>
> From: Adrian Freihofer <adrian.freihofer@siemens.com>
>
> This patch series introduces automatic generation of VSCode workspace
> configuration files for bitbake projects created with bitbake-setup. The
> feature enhances the developer experience by automatically configuring a
> multi-root workspace tailored for bitbake development.
>
> The implementation generates a `bitbake.code-workspace` file that includes:
>
> - Multi-root workspace structure with all layer repositories and the build
>   configuration directory as top-level folders in the VSCode explorer
> - Pre-configured BitBake extension settings (paths to bitbake folder, build
>   folder, environment script, etc.)
> - File associations for `.conf` and `.inc` files mapped to the bitbake
>   language
> - Python analysis paths automatically discovered from layer `lib/` and
>   `scripts/` directories
> - Sensible exclusion patterns for `.git` and log directories
>
> The workspace file is placed at the setup directory level, outside any
> version-controlled repositories, avoiding repository clutter while providing
> a centralized configuration for the entire project.
>
> Adrian Freihofer (2):
>   bitbake-setup: generate config files for VSCode
>   bitbake-selftest: add test for VSCode workspace generation
>
>  bin/bitbake-setup     | 198 +++++++++++++++++++++++++++++++++++++----
>  lib/bb/tests/setup.py | 201 ++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 384 insertions(+), 15 deletions(-)
>
> --
> 2.52.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#18805): https://lists.openembedded.org/g/bitbake-devel/message/18805
> Mute This Topic: https://lists.openembedded.org/mt/117341468/1686489
> Group Owner: bitbake-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/bitbake-devel/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Adrian Freihofer Jan. 20, 2026, 10:13 p.m. UTC | #2
Hi Alex

It looks like this patch series was just killed by your latest commit

  bitbake-setup: correct several scenarios in layer updates

  ... Yes, the user should've used -L option to symlink a local
  clone from elsewhere; this advice doesn't help when their work
  is gone.

I was not aware of the -L option until now. The idea for this series
was to configure VS Code to edit the Git repositories in the layers
directory. Now bitbake-setup informs me that I must not do that. But if
I have to clone the layers manually, why should I use bitbake-setup at
all? Not sure we can find an easy solution for this.

A completely different idea would be to enhance the VSCode Bitbake
plugin to handle bitbake-setup registries on its own. The user would
just enter an URL like
https://git.openembedded.org/bitbake/tree/default-registry/configurations/poky-master.conf.json
and VSCode would handle the json file and download the git repositories
independently from bitbake-setup. That would solve a bunch of issues:
IDE users do not need to bootstrap their environment via command line.
There is also no need to clone bitbake just to get bitbake-setup for
cloning bitbake again.

I need to think about that, but spending a lot of time on bitbake-setup
and VS Code without a usable workflow so far suggests that something
isn't working.

Regards,
Adrian


On Tue, 2026-01-20 at 12:57 +0100, Alexander Kanavin via
lists.openembedded.org wrote:
> Hello Adrian,
> 
> the approach looks good, but the changes are not small, and I need to
> set aside a bit of time to give it a proper review. I'm now trying to
> fix some of the more difficult autobuilder issues we've been having
> with newer distros (f43, ubuntu 25.10). I'll get to it.
> 
> Alex
> 
> On Mon, 19 Jan 2026 at 08:34, Adrian Freihofer via
> lists.openembedded.org
> <adrian.freihofer=siemens.com@lists.openembedded.org> wrote:
> > 
> > From: Adrian Freihofer <adrian.freihofer@siemens.com>
> > 
> > This patch series introduces automatic generation of VSCode
> > workspace
> > configuration files for bitbake projects created with bitbake-
> > setup. The
> > feature enhances the developer experience by automatically
> > configuring a
> > multi-root workspace tailored for bitbake development.
> > 
> > The implementation generates a `bitbake.code-workspace` file that
> > includes:
> > 
> > - Multi-root workspace structure with all layer repositories and
> > the build
> >   configuration directory as top-level folders in the VSCode
> > explorer
> > - Pre-configured BitBake extension settings (paths to bitbake
> > folder, build
> >   folder, environment script, etc.)
> > - File associations for `.conf` and `.inc` files mapped to the
> > bitbake
> >   language
> > - Python analysis paths automatically discovered from layer `lib/`
> > and
> >   `scripts/` directories
> > - Sensible exclusion patterns for `.git` and log directories
> > 
> > The workspace file is placed at the setup directory level, outside
> > any
> > version-controlled repositories, avoiding repository clutter while
> > providing
> > a centralized configuration for the entire project.
> > 
> > Adrian Freihofer (2):
> >   bitbake-setup: generate config files for VSCode
> >   bitbake-selftest: add test for VSCode workspace generation
> > 
> >  bin/bitbake-setup     | 198 +++++++++++++++++++++++++++++++++++++-
> > ---
> >  lib/bb/tests/setup.py | 201
> > ++++++++++++++++++++++++++++++++++++++++++
> >  2 files changed, 384 insertions(+), 15 deletions(-)
> > 
> > --
> > 2.52.0
> > 
> > 
> > 
> > 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#18816):
> https://lists.openembedded.org/g/bitbake-devel/message/18816
> Mute This Topic: https://lists.openembedded.org/mt/117341468/4454582
> Group Owner: bitbake-devel+owner@lists.openembedded.org
> Unsubscribe:
> https://lists.openembedded.org/g/bitbake-devel/unsub [adrian.freihofer@gmail.com
> ]
> -=-=-=-=-=-=-=-=-=-=-=-