microsoft / microsoft/vscode-cpptools

"Configure Default Build Task" - Task Generation Only Lists Top-Most Project As Active In Multi-Root Workspace

Open
#6,804 4 comments 0 reactions 1 assignee View on GitHub

@elahehrashedi is already working on this.

Since Jan 20, 2021.

bug Feature: Multi-root Language Service tasks/build/debug Visual Studio Code
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

  1. Create a workspace
  2. Add multiple root workspace projects
  3. 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)
  4. Tasks: Configure Default Build Task
  5. Close the workspace and only open the project WITHOUT a "tasks.json" file.
  6. 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:
Screenshot_20210117_000720_multiRoot_highlight
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:
Screenshot_20210117_000823_solo_highlight

Additional context

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.