-
Notifications
You must be signed in to change notification settings - Fork 30.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tasks: Multi Root Support #29454
Comments
Besides the technically decision this has huge impact on the user interface of tasks as well. If collected from all folders how do we present them in a single quick pick. Will we simply pre / postfix the task (which leads to a lot of identical strings in the UI). Will we group them. If all folders define a primary build task will we execute all build tasks when Task > Run Build Task is executed. Or do we need another UI to define which task to execute. |
We already have the necessary UI to group things in quick open, e.g. see here: We could do something similar for the overall tasks list and respect the root folder order as the user configured it. As for tasks triggered via keybinding I think we should introduce a setting to define which task should be executed. When not defined, we could still show a picker with the build or test tasks so that the user can make this decision each time the keybinding is invoked. Each entry in the picker could have a little configure action to guide the user to the setting. |
@dbaeumer we could show the folder name also as part of the meta property, we do this already for quick open for files: |
@bpasero this is what I mention in comment #29454 (comment). What I don't like about this is that the folder name will be often repeated which in general makes a not nice UI. |
@dbaeumer alternatively we could show tasks based on the active file that is currently open (by checking for its root folder if there is any) and in the picker have a "more..." entry that then shows a full list of tasks across all folders. |
After talking to @dbaeumer here is an alternative proposal:
|
I've noticed TSLint rules are run per folder in 1.16 (hooray!), is it already possible to create tasks per folders such as this?
|
No, this is on the plan for this month. |
Not sure if it's related, but you could add the task icon beside each task group (Gulp doesn't have the same icon as Grunt). I often use tasks of Gulp and NPM, that would help to distinguish them a bit more.
|
Done :-) |
This issue is for discussing the future of tasks in a multi-root environment. I see two interesting places where today a single root is assumed (there may be more I am not aware of):
getConfiguration
)ProcessRunnerDetector
)IWorkspaceContextService.toResource()
andgetWorkspace()
are deprecated in favour ofIWorkspaceContextService.getWorkspace2()
that contains information about all the roots.We need to decide for tasks (and debug) if we just collect tasks from all workspaces or introduce a different concept to make this decision.
The text was updated successfully, but these errors were encountered: