✨ Activity Viewer
austincondiff opened this issue · 7 comments
Is your feature request related to a problem? Please describe.
We need an activity viewer in our toolbar similar to the one found in Xcode.
Describe the solution you'd like
Updated mockup:
Original mockup:
🚧 A few items we need to resolve before addressing this issue:
- What goes in the activity viewer?
- In this mockup on the left we have the package name and version number.
- On the right we have activity for tasks being run.
- We can certainly have something else there.
- When is it visible?
- If a single file is open (not a folder), do we show or hide it?
- If a folder is open but it doesn't have tasks, or is not a package, do we show or hide it?
The latest version of the toolbar...
Describe alternatives you've considered
A simple centered title...
Maybe we display this version when a file is open (it can be left justified to reuse the current title).
Additional context
Xcode's activity viewer...
My thoughts on the Activity Viewer:
What goes in the activity viewer?
- In the left: I think we can follow the design of XCode (as shown on your screenshot).
- If there is a running configuration (like the running configuration in JetBrain softwares, e.g. Java programs will mostly execute from a main function), we display the running configuration name.
- If not (in a single file mode), then we just display the file name.
- Before the project name / file name, where XCode shows the project icon, we can display the icon of corresponding programming language.
- Then, an arrow divider, similar to XCode.
- Next to the arrow divider, we can display the running target (e.g. local machine, self-hosted runner, simulator, etc). We can (possibly) have remote runner support in the future, so the remote server path (or name) can go into there.
- In the right: I think the current design (running tasks, indexing progress, etc) is good enough and useful! For Python (or Jupyter Notebook), it will be really helpful to have a clear indicator like this to show if the running has done right or not.
When is it visible?
- It is still helpful to display a "success" mark after the task has done. So I think it can always be there.
- In my understanding, we are going to show ActivityViewer based on the opened file. So when a folder is opened (and there is no file opened), we do not display it. If there is already an opened file and user is interacting with folder hierarchy, we do not make any changes to ActivityViewer (keep the same visibility and information).
Additional context
JetBrain softwares running configuration example:
We can also add a successful/failed build timestamp like xcode does... We can create a seperate build json file that will host all the build info perhaps?
What goes in the activity viewer?
In this mockup on the left we have the package name and version number.
i'll suggest folder/project name (or at least as option), not everyone is doing react, node, or opening a xcode project.
On the right we have activity for tasks being run.
great
We can certainly have something else there.
errors/warnings (from a linter or something similar)
When is it visible?
If a single file is open (not a folder), do we show or hide it?
always show it.
If a folder is open but it doesn't have tasks, or is not a package, do we show or hide it?
no, always show it
One thing to consider, the project directory name will be where it is now to the left of the activity viewer. I am not sure if I am comfortable with the unnecessary redundancy of having the directory name appear in the activity viewer as well without a valid reason.
One thing to consider, the project directory name will be where it is now to the left of the activity viewer. I am not sure if I am comfortable with the unnecessary redundancy of having the directory name appear in the activity viewer as well without a valid reason.
Maybe it's a good idea to let users define a project/workspace and show that name in the activity viewer.
My thoughts on the Activity Viewer:
What goes in the activity viewer?
In the left: I think we can follow the design of XCode (as shown on your screenshot).
- If there is a running configuration (like the running configuration in JetBrain softwares, e.g. Java programs will mostly execute from a main function), we display the running configuration name.
- If not (in a single file mode), then we just display the file name.
- Before the project name / file name, where XCode shows the project icon, we can display the icon of corresponding programming language.
- Then, an arrow divider, similar to XCode.
- Next to the arrow divider, we can display the running target (e.g. local machine, self-hosted runner, simulator, etc). We can (possibly) have remote runner support in the future, so the remote server path (or name) can go into there.
In the right: I think the current design (running tasks, indexing progress, etc) is good enough and useful! For Python (or Jupyter Notebook), it will be really helpful to have a clear indicator like this to show if the running has done right or not.
When is it visible?
- It is still helpful to display a "success" mark after the task has done. So I think it can always be there.
- In my understanding, we are going to show ActivityViewer based on the opened file. So when a folder is opened (and there is no file opened), we do not display it. If there is already an opened file and user is interacting with folder hierarchy, we do not make any changes to ActivityViewer (keep the same visibility and information).
Additional context
JetBrain softwares running configuration example:
Actually, I found that for now Xcode can not open .ipynb
files correctly as in VSCode, it just open the file with a non-human-readable format. Develope views for jupyter notebooks might need further works🤔.