vscode icon indicating copy to clipboard operation
vscode copied to clipboard

Support tmux control mode (-CC flag)

Open broady opened this issue 5 years ago • 15 comments

Issue Type: Feature Request

I saw the suggestion from @roblourens to use tmux in microsoft/vscode-remote-release#1185

That's mostly good, however has a few issues:

  • code command doesn't work inside tmux.
  • no GUI support - the built-in tab management and split panes then aren't usable.
  • scrolling doesn't work (control codes not sent to the terminal?)

I'd love to see support for tmux's control mode (tmux -CC) - then vscode could use its native tab/window management and sessions would be persisted between app opens/closes.

Extension version: 0.36.0 VS Code version: Code - Insiders 1.34.0-insider (daf71423252a707b8e396e8afa8102b717f8213b, 2019-05-06T22:07:35.830Z) OS version: Darwin x64 18.7.0 Remote OS version: Linux x64 5.2.17-1rodete3-amd64

broady avatar Feb 14 '20 04:02 broady

Request to keep processes across window reloads: https://github.com/microsoft/vscode/issues/20013

Tyriar avatar Feb 14 '20 14:02 Tyriar

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.

Happy Coding!

vscodebot[bot] avatar Feb 14 '20 14:02 vscodebot[bot]

Does a thumbs up count as an upvote?

devin-fee-ah avatar Mar 10 '20 06:03 devin-fee-ah

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.

Happy Coding

vscode-triage-bot avatar Apr 05 '20 02:04 vscode-triage-bot

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.

Happy Coding!

vscode-triage-bot avatar Apr 16 '20 02:04 vscode-triage-bot

I'm going to recreate this.

dfee avatar Apr 16 '20 19:04 dfee

I'm sharing this elsewhere... @Tyriar can you confirm that all a user needs to do is "thumbs-up" the original comment?

dfee avatar Apr 26 '20 08:04 dfee

@dfee I've moved it to backlog so you can ignore that comment. The amount of up votes is one indicator we use for prioritization though.

Tyriar avatar Apr 26 '20 13:04 Tyriar

@Tyriar awesome. I also came across this article from 2017 ("Persistent terminal sessions in VS Code") that your colleague wrote. Didn't realize you were the one who'd implemented a lot of the underlying functionality already.

Thanks for your awesome work on VSCode 😄

devin-fee-ah avatar Apr 26 '20 21:04 devin-fee-ah

This came up somewhere else relatively recently so I wrote this page https://github.com/tmux/tmux/wiki/Control-Mode which gives a description of control mode.

Control mode was written for iTerm2 and in some ways stopped at the point where it does everything iTerm2 needs, but I'm open to extending it further if needed. If you move forward with this do feel free to contact me if you have any questions or suggestions.

nicm avatar Apr 28 '20 08:04 nicm

@nicm thanks, this will be handy when we work on this.

Tyriar avatar Apr 28 '20 12:04 Tyriar

I use iterm2 and tmux -CC to establish a multi-process workflow for doing development of code that runs inside of heroku one-off dyno's ...

heroku run tmux -CC

I would really love if the terminal in vscode supported tmux control mode ... so that I could build custom vscode based development workflows in a cross platform way (without requiring all developers have a tmux control mode compatible shell - iterm2)

breathe avatar Jun 01 '20 10:06 breathe

Yes yes and please yes.

I got all excited when I saw that vscode has a 'tmux' profile but it doesn't use control mode, so I'm back to having a split screen with vscode (remote over ssh) on the left and iterm2 (ssh/tmux) on the right.

rossburton avatar Jun 18 '21 10:06 rossburton

2 years later! Please support this! Anybody know of alternatives for the meantime? I want to split my terminal inside a single tab

chicken-suop avatar Nov 04 '22 06:11 chicken-suop

@chicken-suop I doubt this will get prioritized anytime soon looking at the upvotes. My impression of this work is that it will be quite difficult to implement so it's probably too much for an external contribution as well unfortunately. Lots of unknowns currently.

Tyriar avatar Nov 09 '22 23:11 Tyriar

+1 for me, I use tmux control extensively in iterm2, and it is phenomenal, this would most likely make vscode better... actually, this is the only advantage of Mac over Windows; it has the great iterm2 and its tmux integration.

oponcea-dn avatar Feb 09 '24 09:02 oponcea-dn

I want this feature because:

  1. vscode's terminal UX is far better than tmux's terminal UX.
  2. vscode's terminal persistence is not reliable.

Explain:

  1. when I scroll screen, search text in tmux, I have to remember a lot of keybind and even so it still sucks. Specially when I copy a long text more than a screen, it's terrible.
  2. Sometimes it works, sometimes it doesn't. When I detach a terminal, or close vscode when a terminal is open, I cannot expect the terminal is still there when I attach the terminal/reopen vscode later. It seems like vscode only persist the terminal for a while.

So why not combine vscode and tmux together?

ladyrick avatar May 21 '25 06:05 ladyrick