yoctoproject / vscode-bitbake

Bitbake language support for Visual Studio Code
https://marketplace.visualstudio.com/items?itemName=yocto-project.yocto-bitbake
Other
43 stars 10 forks source link

Yocto activity bar does not list the recipes #10

Closed microhobby closed 7 months ago

microhobby commented 10 months ago

Even if the scan results in recipes found, they are not listed:

image

deribaucourt commented 10 months ago

The recipes panel on the left is currently only listing the recipes the user is interested in. We could list all of them but it could flood the user (857 recipes in your case!). We'd need a search function of some sort. We could definitely implement that if there is consensus.

You can manage which recipes are brought up in the panel view using the "Add recipe" button. Building any recipe will also automatically bring the recipe to the pannel.

In the next releases, this panel will also allow you to navigate devtool workspaces and configure the SDK!

microhobby commented 10 months ago

I was expecting to have all listed, so I think that more users will have the same missed experience. A kind of filter text box to list only the match sounds good.

deribaucourt commented 10 months ago

Yes, a search filter and maybe a favorites star icon to pin frequently used recipes would do!

Ehsan2754 commented 10 months ago
deribaucourt commented 10 months ago

@Ehsan2754 Thanks for your feedback! Could you elaborate on what you'd like to expand build features beyond bitbake -c? Our roadmap for next releases is to add support for managing devtool workspaces, build applications through the SDK and remote debugging. Would there be more bitbake invocations you'd like to be part of the UX?

Ehsan2754 commented 10 months ago

@Ehsan2754 Thanks for your feedback! Could you elaborate on what you'd like to expand build features beyond bitbake -c? Our roadmap for next releases is to add support for managing devtool workspaces, build applications through the SDK and remote debugging. Would there be more bitbake invocations you'd like to be part of the UX?

Thanks for your response.

deribaucourt commented 10 months ago

@Ehsan2754 We'll rely on the upcoming devtool ide-sdk command which will setup the C/Cpp extension just like you suggest: linting, cross-compiling with the SDK, SSH installation on the target and SSH cross debugging :) . I just started integrating devtool (very WIP) to this extension while Adrian Freihofer (@afreof) is iterating on devtool. Development for devtool happens on the mailing list: https://lists.openembedded.org/g/openembedded-core/search?p=recentpostdate%2Fsticky%2C%2C%2C20%2C2%2C0%2C0&q=ide-sdk

You can already try out devtool ide-sdk at https://git.yoctoproject.org/poky-contrib/log/?h=adrianf/devtool-ide

The idea is to present and manage devtool workspaces just like we do with the recipes panel you seem to enjoy :). There'll be a button to open the sources workspace in a separate VSCode window with everything already set up ! We'll only support CMake and Meson recipes initially, maybe with a fallback to devtool build/deploy-target.

Make sure to add a positive review on the VSCode marketplace if you enjoy our extension ;)

Ehsan2754 commented 10 months ago

Great work. when shall we expect the release with this feature?

deribaucourt commented 10 months ago

@Ehsan2754 The next release will concentrate on container support for running bitbake and various additional language features for bitbake and embedded languages. It should happen in the comming weeks.

devtool support should be part of the following release cycle with no ETA for devtool ide-sdk as of today. We are aiming for Q1 2024.

Ehsan2754 commented 8 months ago

Using the new feat for devtool.absolutely killing it. thank you guys, amazing. the ultimate feature would be the image and machine detection and build.

deribaucourt commented 8 months ago

Thanks for your feedback, I'm glad you like the new devtool feature! @Ehsan2754

Could you elaborate on "image/machine" detection?

Currently, the machine is not configurable through the interface, it has to be selected through the traditional Yocto environment file local.conf (or external commandWrapper). Meanwhile, the image has to be built like any other standard recipe: either from .vscode/tasks.json or the contextual menu.

My idea for integrating machine/distro selection would rely on the incoming Yocto multi-configs and add two selectable fields status bar (similarly to the CMake extension).

jrmejiaa commented 7 months ago

Hi!

Thank you for the amazing work. I have been following the extension from the beginning, the changes has been awesome. I want to give my feedback in this case.

I was not expecting a whole list of all recipes. I don't think it would be useful (over 2k recipes in our setup...) . I do miss a recipe search. I think it would be better for the UX to have this empty and a search to be able to add to the menu and a clean button to erase all (Depending on what I am working on, I could need other set of recipes).

Thanks for the amazing work.!

deribaucourt commented 7 months ago

Thanks a lot for your feedback @jrmejiaa I read the whole discussion again. Varying, even opposing propositions have been made around the recipe view enhancements. Here's what I suggest:

  1. Search in the recipes view. We already have it! simply focus on the tab and press Ctrl+F
  2. Adding the list of available recipes when adding a new recipe to the view, with a search functionality. That's what the VSCode "quickPick" will allow.
  3. Do the same for the devtool panel
  4. Add a button to clear the pannel all at once (next to rescan project button on the title line)
jrmejiaa commented 7 months ago

Hi @deribaucourt, Thanks for that fast response.

What I mean with a search in the recipes tab is that it would be really useful to have a search for all recipes there. In that case we would have an easy way to add the recipes that we need in that part. Or when I go to "Bitbake: Add recipe to active workspace" that I write for ex: "dns", the tool would show me the recipes that would match with that pattern.

For the rest, it looks really good, thanks.

deribaucourt commented 7 months ago

@jrmejiaa Have a look at the PR I wrote. You can even try the .vsix generated by the CI: https://github.com/yoctoproject/vscode-bitbake/pull/114 https://github.com/yoctoproject/vscode-bitbake/actions/runs/7914332171/artifacts/1247555948

It allows searching from all recipes when the "add recipe" button is clicked in the recipes view. What do you think of it?

image image

Alternatively, I could change the "plus" icon into a magnifying glass? I can't change how the search feature works inside the tab. That's handled by VSCode itself. It will search among the recently active recipes.

jrmejiaa commented 7 months ago

Hi @deribaucourt thanks for the awesome and fast new tool. It works really good. I have a small comment, it is possible to get the relative path to the workspace from bb/bbappend location?

It is a very small thing, this new feature is really good! Thanks for the hard work

Screenshot from 2024-02-15 15-11-22

deribaucourt commented 7 months ago

I added a commit to show relative paths in the recipes explorer on https://github.com/yoctoproject/vscode-bitbake/pull/114 If you like our extension, you can leave us a positive review on the marketplace :wink: Glad to be of help!