GithubHelp home page GithubHelp logo

Terminal Plugin about theia HOT 17 CLOSED

eclipse-theia avatar eclipse-theia commented on May 18, 2024
Terminal Plugin

from theia.

Comments (17)

svenefftinge avatar svenefftinge commented on May 18, 2024 1

Progress! :)
terminal

from theia.

epatpol avatar epatpol commented on May 18, 2024

We've discussed this a bit. Here are the main points/questions we got from this discussion:

  • Should the console output reuse that same terminal plugin or should it be a separate view provider?
  • xterm.js looks good
  • Might not be very terminal related (more like composition/phosphorjs related) but the terminal view should not be stuck to the bottom like VScode, or at least we should be able to split it (or add another terminal right next to it, so that there are two terminal windows at the bottom for instance). This is something I found was very annoying with vscode's terminal, sometimes I end up using it for some tasks but I quickly find out that I would need at least another window to execute some other commands while one is running for instance.
  • Should it be possible to parse the output from the terminal so that the problems/errors views can be populated from a command called from the terminal. For example, calling "build" from theia would call make in the back-end, but it could be nice to be able to call make from the terminal and still have access to the problems/errors parsing. This might be a bit too complicated for what it offers in the end though.
  • Terminal should be able to bypass browser shortcuts so that ctrl-d doesn't add theia to a bookmark
  • Configurable terminal/theme/colors (might be more generic options i.e ide options)
  • Support launching a local terminal if the back-end is remote (not sure about this one) if the user chooses to. Also not sure it would work with the browser (only with electron)
  • Terminal should feel fluid if the remote connection is sloppy (i.e not like ssh with a laggy remote) and more like mosh with a text buffer.

As always, all of these points are open to comments/suggestions etc. :)

from theia.

kittaakos avatar kittaakos commented on May 18, 2024

Terminal should be able to bypass browser shortcuts so that ctrl-d doesn't add theia to a bookmark

This could be very tricky to achieve, besides that in some cases, it will not work at all. For instance CTRL/CMD-WNT in Chrome. Additionally, it might be an undesirable feature by the users in general.

from theia.

kittaakos avatar kittaakos commented on May 18, 2024

at least we should be able to split it (or add another terminal right next to it

That is a good idea, I second that.

from theia.

kittaakos avatar kittaakos commented on May 18, 2024

@epatpol Could you, please clarify what do you mean by "the console output"?

from theia.

hexa00 avatar hexa00 commented on May 18, 2024

at least we should be able to split it (or add another terminal right next to it

Actually I think if this could be generalized anywhere possible it would be great.

For example I can't bring myself to use vscode since it won't split windows horizontally and I do that a lot...

I would very much like if any window to the extent possible could be split horizontally and vertically like for example emacs does with C-x 1 (full screen one window) 2 (split horizontally) 3 (split vercially) 0 (close)

from theia.

hexa00 avatar hexa00 commented on May 18, 2024

Could you, please clarify what do you mean by "the console output"?
@kittaakos I think he means like if you would run your program and have some output in stdout

from theia.

kittaakos avatar kittaakos commented on May 18, 2024

For that purpose, we definitely need another, separate widget/view.

from theia.

svenefftinge avatar svenefftinge commented on May 18, 2024

Maybe I don't get what you mean, because our layout manager already allows to split widgets (editors/terminals/etc.) in any direction.

from theia.

svenefftinge avatar svenefftinge commented on May 18, 2024

Support launching a local terminal if the back-end is remote (not sure about this one) if the user chooses to. Also not sure it would work with the browser (only with electron)

Yes, it is not possible in the browser case. Why would it be useful?

from theia.

hexa00 avatar hexa00 commented on May 18, 2024

@svenefftinge

Maybe I don't get what you mean, because our layout manager already allows to split widgets (editors/terminals/etc.) in any direction.

Great :) I wasn't sure it applied to any widget/view... I like theia more than vscode already jk :)

from theia.

hexa00 avatar hexa00 commented on May 18, 2024

Support launching a local terminal if the back-end is remote (not sure about this one) if the user chooses to. Also not sure it would work with the browser (only with electron)

Well functionally doesn't have to be mirrored a 100% I think but anyway we concluded that one could just open another Theia window with a local backend. People already do that for a different directory in vscode so it sounds not too bad.

from theia.

svenefftinge avatar svenefftinge commented on May 18, 2024

Ok, just to clarify. The terminal plugin shall open a terminal session on the working directory, so if the backend is remote the shell is remote, otherwise local. Right?

from theia.

svenefftinge avatar svenefftinge commented on May 18, 2024

We decided to develop the terminal as a separated extension in its own npm package.
I propose to create a top level folder extensions in the repo, under which we put extensions.

from theia.

epatpol avatar epatpol commented on May 18, 2024

@svenefftinge yes that's what I understood!

Also good idea for the extensions folder.

from theia.

svenefftinge avatar svenefftinge commented on May 18, 2024

I decided to not do the terminal as a separate npm package, because development turnarounds were so bad.

from theia.

hexa00 avatar hexa00 commented on May 18, 2024

I guess you though of it already but documenting what you tried etc and why it doesn't work... would be good in #67

Also now that the dev is "done" could we still have it as an example externally?

from theia.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.