-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Integrate .gitpod.yml tasks into JetBrains IDEs #8338
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
Conversation
772b7fc
to
dd58f95
Compare
5be0fdc
to
4750571
Compare
363b220
to
f956c71
Compare
f9a7ca5
to
fdd62f3
Compare
Thanks for reviewing it, @mustard-mh! I also tried opening a new terminal everytime a new Thin Client connection is created, but it didn't help (and brought some other issues like the quadrupled characters on Thin Client). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/hold
Test good
Why we need codewithme
plugin added if GitpodTerminalService
not use it? is it a dependency of other plugins?
Nice catch! I agree it's not clear in the code, but we need to add |
...jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/GitpodTerminalService.kt
Outdated
Show resolved
Hide resolved
...jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/GitpodTerminalService.kt
Outdated
Show resolved
Hide resolved
...jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/GitpodTerminalService.kt
Outdated
Show resolved
Hide resolved
|
|
||
backendTerminalManager.shareTerminal(shellTerminalWidget, supervisorTerminal.alias) | ||
|
||
shellTerminalWidget.executeCommand("gp tasks attach ${supervisorTerminal.alias}") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we are loosing control with that, no? We need to propagate proper UI sizes to terminal, close it then a user closes, and close a frontend terminal then an underlying terminal is closed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed. But I can't get back using CloudTerminalRunner until #CWM-5523: Support CloudTerminalRunner mirroring to thin client is resolved. (Internal Discussion)
There are like 5x more issues when using CloutTerminalRunner in place of go tasks attach
.
Maybe the best solution for this changes is creating a custom IntelliJ Tool Window, as suggested by JetBrains Team, but that would require a totally different implementation/PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe the best solution for this changes is creating a custom IntelliJ Tool Window, as suggested by JetBrains Team, but that would require a totally different implementation/PR.
Agree it is better to wrap up what we have and tackle other things in followed up.
It should at least open all task terminals, not like in #8338 (comment). Fixing closing behaviour will be good but let's do it with another PR too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm now trying to use backendTerminalManager.createNewSharedTerminal
(as when I use it, all the terminals are created accordingly and displayed on the Thin Client), but the consequence is that there's no easy way to find which terminal was created by this method.
I'm looking into a way to find each terminal and run gp attach
in each. (b82c26e)
Setting it back to Draft while I analyze the last reviews comments. |
We decided not to merge this PR, due to the known limitations regarding Shared Terminals from IntelliJ Platform. Instead of opening a terminal for each task defined on .gitpod.yml, we decided to initialize a single terminal on JetBrains IDEs when a workspace starts. We'll get back to it when Shared Terminals feature become more stable. Here's the list of issues from JetBrains Issue Tracker that we need to keep an eye on:
|
Is there an issue in this repo where you track this? I'd like to subscribe to get notified when this feature is available as the current functionality of showing a single terminal when |
Thanks for asking! We've implemented it, but the feature is only available when Gitpod Settings has the "Use Latest (Unstable)" option checked. We're improving it before making it available for Stable IDEs. Here's the PR, for reference: |
Awesome, thanks for the update Victor. |
Description
Integrate .gitpod.yml tasks into JetBrains IDEs.
Here's a summary of what it does:
gp tasks attach <terminal>
.Related Issue(s)
Resolves #6525
How to test
.gitpod.yml
. Here are some suggestions (you just need to check one of them):Release Notes
Known limitations
Documentation
None.