microsoft / microsoft/vscode-cpptools
"Configure Default Build Task" - Task Generation Only Lists Top-Most Project As Active In Multi-Root Workspace
@elahehrashedi is already working on this.
Since Jan 20, 2021.
- Dominant language
- TypeScript
- Stars
- 6.2k
- Forks
- 1.7k
- Avg merge
- 14h 46m
- Merged PRs (30d)
- 61
Description
Type: LanguageService
Describe the bug
- OS and Version: Linux x64 5.8.7-dirty
- VS Code Version: 1.53.0-insider (9b6aaf1e86c8fec4c86c664edf5f713583c70fe5)
- C/C++ Extension Version: v1.1.3
- Other extensions you installed (and if the issue persists after disabling them): Only C/C++ extension is enabled.
- Does this issue involve using SSH remote to run the extension on a remote machine?: N/A
- A clear and concise description of what the bug is, including information about the workspace (i.e. is the workspace a single project or multiple projects, size of the project, etc).: "Tasks: Configure Default Build Task" always lists the top-most project as the "active file" for generating a new task.
Steps to reproduce
- Create a workspace
- Add multiple root workspace projects
- Make one of the projects NOT contain a "tasks.json" file, but do NOT make that project the top/first project. (not really necessary, but highlights the issue)
- Tasks: Configure Default Build Task
- Close the workspace and only open the project WITHOUT a "tasks.json" file.
- Tasks: Configure Default Build Task
Expected behavior
I'd expect step 4 to show the project that doesn't have a "tasks.json" file like it does in step 6, as opposed to showing the top root workspace project for task generation (screenshots should make it clear).
Logs
N/A (nothing showing relating to the "Configure Default Build Task" when activated)
Screenshots
Multi-root incorrect:

It looks to always be the top-most project that gets the "generate" option for tasks. It seems to always consider it the "active file".
Even when I open the "app.cpp" for the "firmware" project which already has a "tasks.json" file, it still considers the top Arduino project as the "active file".
Solo project correct:

Additional context
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.