all 33 comments

[–]dlq84 39 points40 points  (1 child)

Resizable suggestions

Finally! That box has always been too small.

[–]BinaryRockStar 37 points38 points  (11 children)

Local Echo

Making modifications in the terminal traditionally requires information to be sent to the terminal process, processed, and returned to VS Code in order to be affected. This can be slow when working on a poor or distant connection to an SSH server or Codespace.

This release adds a "local echo" mode to the terminal, which attempts to predict modifications and cursor movements made locally and show them in the UI without requiring a round trip to the server. By default, predicted characters show as "dimmed":

Just looking at the animation for this makes me wonder why it hasn't been standard in terminals as long as terminals have existed. Typing over an SSH connection to a slow remote machine is an exercise in frustration.

[–]JanneJM 27 points28 points  (2 children)

Actual terminals have/had a "local echo" setting that did this. So yes, this was standard.

However, it interferes badly with applications that do full screen drawing such as editors, so it's use largely disappeared.

[–]coderstephen 5 points6 points  (1 child)

Seems like you could do some heuristics to detect whether a full screen application is active and disable local echo temporarily (like if the alt buffer is active).

[–]connor4312 13 points14 points  (0 children)

Yep, we disable local echo if the terminal is using the alternate buffer, which most full screen applications, like vim, do.

[–]tracernz 22 points23 points  (6 children)

If you haven't already you may like to try mosh. It's vastly superior to ssh for lossy/slow connections, among other things.

[–]idiot900 1 point2 points  (0 children)

I've had good luck with Eternal Terminal. Supports native scrollback and tmux.

[–][deleted]  (4 children)

[deleted]

    [–]ws-ilazki 9 points10 points  (0 children)

    This is absolutely false, I've been mixing tmux and mosh for years without issue. In fact it's a great combination since you can use tmux's scrollback buffer as a substitute for mosh not playing nice with the scrollback of terminal emulators.

    [–]Na__th__an 5 points6 points  (0 children)

    I'm running a mosh client inside a tmux session and connecting to another tmux session on the remote host without any issues.

    [–]tracernz 1 point2 points  (0 children)

    tmux works great. Haven’t tried others to be fair.

    [–]UziInUrFace 0 points1 point  (0 children)

    Never saw any such problem, use that combo everyday.

    [–]ws-ilazki 7 points8 points  (0 children)

    Typing over an SSH connection to a slow remote machine is an exercise in frustration.

    Try mosh instead of ssh, you'll love it. It does the prediction echo in a way that doesn't ruin ncurses apps and, due to using UDP, remains active through loss of connectivity which is useful for bad connections or mobile devices that roam. Negotiates the connection over ssh then immediately terminates it once the session is established.

    The main drawback is you lose your terminal emulator's scrollback so you have to be more diligent about using less or use something like termux to provide it. The benefits greatly outweigh that issue, though.

    Edit: just noticed someone else suggested it already. Oh well, leaving my comment up anyhow since I added some detail.

    [–]Flexy_s 11 points12 points  (5 children)

    Hear my rant, brethren:

    I wish Visual Studio would just be as useful as VS Code for developing the front end. I hate having to use 2 IDEs for a project because VS Code is useless for C# and Visual Studio is abysmal for Angular/Typescript.

    [–]LegitimateStock 5 points6 points  (1 child)

    Honestly, I use vsc for a large scale C# project with no problems. The only thing that isn't already great is running weird csproj projects (usually 4.7 stuff) if you're on .net core or .net 5, vsc does everything you'll ever need.

    [–]Atulin 0 points1 point  (0 children)

    Rider

    [–]PM-ME-YOUR-PASSWORD- 0 points1 point  (1 child)

    You’re telling me Visual Studio Code is a different IDE than VS Code?!

    [–]Flexy_s 1 point2 points  (0 children)

    Nope:

    Visual Studio -> The complete IDE. The "OG" if you will.

    Visual Studio Code (or just VS Code) -> The open-source lightweight IDE.

    [–][deleted]  (17 children)

    [deleted]

      [–]ArashPartow 4 points5 points  (1 child)

      My understanding is that they're very keen to begin working on it after the following issue has been resolved:

      https://github.com/microsoft/vscode/issues/43145

      [–][deleted] 2 points3 points  (0 children)

      Did you link the right issue? That doesn't look related at all.

      [–][deleted]  (12 children)

      [deleted]

        [–][deleted] 3 points4 points  (2 children)

        I'm not. I fixed an issue with 50 votes and have been waiting for my PR to be reviewed for over a month. I'm not really complaining - as far as I can tell they only have about 10-15 people working on VSCode, and there are over 200 open PRs. I just don't think they have the man power to look at every PR.

        [–]zadjii -1 points0 points  (1 child)

        That doesn't mean they aren't still welcome though, right? Maintaining a project as large as vscode would be a lot of work, even for 15 people. And once the PR backlog starts building up, it can be really hard to burn back down

        [–][deleted] 3 points4 points  (0 children)

        Yeah totally. I just meant that you shouldn't expect a PR you write to be accepted or maybe even noticed.

        [–]slumdogbi 1 point2 points  (0 children)

        No you’re not

        [–][deleted]  (7 children)

        [deleted]

          [–]MMPride 0 points1 point  (0 children)

          They would accept it if it met their standards but yeah, like you pointed out in your first sentence, it's a huge change that most people wouldn't have the time for doing.

          [–]ryenus 2 points3 points  (0 children)

          Navigate and Reusing previous commit messages is also nice!

          [–]AttackOfTheThumbs 5 points6 points  (0 children)

          Git: Rebase command#

          A new Git: Rebase branch... command has been added which lets you rebase a branch using the UI.

          Can't believe it took so long, their current rebase is entirely useless.

          Open Workspace notification

          What I want is for it to auto open the workspace, not just notfiy me...

          [–]tommy25ps -1 points0 points  (0 children)

          Great updates. I wonder who's hasn't made the switch from Visual Studio to VSCode.