Skip to content
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

Editor based terminals #88796

Closed
wants to merge 1 commit into from
Closed

Editor based terminals #88796

wants to merge 1 commit into from

Conversation

solomatov
Copy link
Contributor

@solomatov solomatov commented Jan 16, 2020

Context

VS Code users use terminal often. Unfortunately, the terminal area below isn't very good fit for it:

  • It doesn't take good use of wide screen monitors
  • It can only appear on the bottom of the screen
    Also, there're usability problems with it:
  • It's impossible to see all the terminals since the combo box is used for them.

Implementation:

  • I used editors and editor input API to create terminals
  • In order to create terminal, I created a hidden terminal instance, and attach it to the editor DOM element
  • In VS Code we use computeElementStyle API which sometimes returns 'auto' which leads to incorrect layout. I had to create a small hack to work this around.

Would be glad to fix any comments you want me to address.
Screen Shot 2020-01-16 at 9 22 23 AM

@solomatov solomatov requested review from mjbvz and Tyriar and removed request for mjbvz January 16, 2020 17:14
@Tyriar
Copy link
Member

Tyriar commented Jan 16, 2020

I appreciate the effort but this feature is on our roadmap and needs a bunch of thinking and design before going to the code. Simply adding a new editor type and hooking it to host a terminal instance is insufficient and I'm certain will result in a bunch of bugs as it breaks assumptions made by the terminal component.

@Tyriar
Copy link
Member

Tyriar commented Jan 16, 2020

Related issue you can track: #85164, #10121, #10546

@Tyriar Tyriar closed this Jan 16, 2020
@solomatov
Copy link
Contributor Author

@Tyriar
I understand that you are already doing some work, and you weren't going to accept it in the current form. I created this PR as an input to the discussion, and UX design.

Concerning the work on universal layout, do you have any branch or any other place where I can take a look at it?

@solomatov
Copy link
Contributor Author

@Tyriar You also mentioned some broken assumptions? Do you have any broken assumptions from the top of your head?

@Tyriar
Copy link
Member

Tyriar commented Jan 16, 2020

Concerning the work on universal layout, do you have any branch or any other place where I can take a look at it?

Best place to look right now is this issue which involves a lot of refactors to start enabling panels in viewlet #85164, before moving onto the editors (probably the next step).

You also mentioned some broken assumptions? Do you have any broken assumptions from the top of your head?

The terminal component was built under the assumption that all terminals are within the panel, the dropdown is an obvious place that would break as it just iterates over all terminals. When the time comes to tackle this I expect a bunch of refactoring in TerminalService so that it knows that TerminalInstances can be in many places.

@solomatov solomatov deleted the editor-terminals branch February 5, 2020 20:14
@jfdahl
Copy link

jfdahl commented Mar 22, 2020

I for one cannot wait for this feature! This is subjective and opinionated, but I believe having a terminal as an editor tab will make a more consistent user experience when editing scripts. I can switch to the terminal in the same manner and with the same ease that I switch between files.

@github-actions github-actions bot locked and limited conversation to collaborators Mar 27, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants