-
Notifications
You must be signed in to change notification settings - Fork 29.5k
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
Terminal task runner: multiple parallel tasks and the spinner #23160
Comments
So I really like the idea of having busy indicators on each terminal, it's just a matter of how we change the UI to have tabs in tabs in a way that doesn't ruin our current relatively simple UI. Another consideration is in how split terminals and terminal tabs would interact in the future, and how the indicator would show up then. Do tabs represent multiple terminals when split or only a single terminal? There are distinct advantages to grouping split terminals within tabs so it's more like how |
I think we can even do that for shell tasks since they start a shell, run the command, and exit the shell. We have a defined begin/end pattern there as well. Otherwise I could not reuse a terminal since I have no idea when a shell is 'ready' to take input. And I think there is no way to every find that out reliable since a running command can read from stdin as well. |
Oh it's not clear to me the distinction between shell and process tasks then? I was thinking a shell task was just running a shell (eg. |
Hope to see multiple running tasks soon. |
@Tyriar no a shell task is running the shell and then the command provided. The process tasks runs the process directly without running a shell. There are situations where users didn't want to have shell interpretation for commands in the tasks system and I kept that for the terminal as well. |
I think there running tasks with names should be displayed in the status bar (near git branch, where spinner appears) for user to be sure that task is running, and this probably should be configured in the |
@whitecolor nice idea. |
Ideas:
|
Agree with @rmgpinto .
|
And also suggest output panel can be splited horizontally. For example I have 2 tsc watch running. (tsc watch for backend and frontend) |
For June we decided to dedicate the spinner to the build task only. A real progress reporting UI for tasks needs some more UI design and planning. |
In the latest insiders I don't see spinner when tsc watch task is executed in status bar (it was before update).
but it still runs in terminal. How to make it run as a process? |
The runner property can't only be used globally. You are not able to set a runner property local to a task. We need to check if the schema handles this correctly. |
You mean Why is it so? |
You are correct. Can only be used globally. We basically want to get rid of the output runner because it has too many problems with output encoding, ANSI control characters and doesn't allow user input. So in the new future we might even deprecate the output runner. |
Do not get it. Whou you mean get rid of the output runner? There will be only terminal? And when it will be possilbe to see status of running task/process. |
How can multiple tasks be run in parallel? Is there a way to execute multiple tasks with a single command (such as running all tasks within a given |
If you list more than one task in the dependsOn property they are executed in parallel. |
Terminal tabs have solved this. |
We need to decide how to provide user feedback about running tasks. With the old output runner there was only one active task presented by the spinner. With the new terminal task system there can be n active parallel tasks which can not be represented by one spinner.
May be it would be cool to have something in the terminal UI for this and only show the spinner for build tasks. If terminals would be tabs we could add a batch to the tab to indicate activity like in the side bar.
@Tyriar FYI.
The text was updated successfully, but these errors were encountered: