xmake-io / xmake-vscode

🍩 A XMake integration in Visual Studio Code
https://xmake.io
Apache License 2.0
228 stars 55 forks source link

Support for multiple xmake projects in a workspace #160

Open davidchisnall opened 1 year ago

davidchisnall commented 1 year ago

Is your feature request related to a problem? Please describe.

Currently, the plugin expects a single top-level xmake.lua in a workspace. We have a set of examples where each has an xmake.lua that can be separately configured and built.

Describe the solution you'd like

Make the working directory setting able to take an array and provide each as a separate build. Ideally, simply running the build command with one of the directories selected would build the correct example, but it's not clear to me that VS Code supports this kind of behaviour from plugins.

Describe alternatives you've considered

Currently, I drive each build from the terminal, which is less than ideal.

Additional context

No response

waruqi commented 1 year ago

You need only a root xmake.lua to includes all sub xmake.lua, then click the given target to build and run it.

image

waruqi commented 1 year ago

you can also select target to build at the bottom bar.

image

davidchisnall commented 1 year ago

I tried adding a root xmake.lua that includes each of the child projects, but it then fails to build because it tries to link things into the wrong projects. I believe this is because the example projects add targets with the same name (and I want them to be the same because each example is the previous one with things added, so randomly renaming things in the middle would make it hard to understand).

waruqi commented 1 year ago

I don't have time to support it at the moment, you could change the target name of each project to make sure there are no conflicts. Or you can open pr to help improve the plugin.