Skip to content

xterm.js supports escape-code window size reporting, but vs.code does not #209309

@mmastrac

Description

@mmastrac
  • VS Code Version: Version: 1.87.2
  • OS Version: macOS 13.6.4

Steps to Reproduce:

  1. Type echo -e "\x1b[18t" in the terminal
  2. Nothing happens
  3. Break in paramToWindowOption in InputHandler.ts, see that IWindowOptions is empty

What should happen (works in iTerm2 and macOS Terminal):

  1. Type echo -e "\x1b[18t" in the terminal
  2. You should see a report printed to the screen

Why is this important?

The window size reporting functions are useful when connecting through tunnels that do not support TTY resize event forwarding. While many SSH and Telnet clients do support this, some tunnels do not (for example, a raw socket tunnel to a vt220-supporting application) and some programs may assume that the client supports this escape sequence.

Level of effort

The information required to determine the terminal size in character is already available and is currently used to set the TTY's size. This function is fully implemented in xterm.js, but not vscode.

A small proof-of-concept where I use the debugger to enable this option appears to work as expected.

Metadata

Metadata

Assignees

Labels

confirmedIssue has been confirmed by VS Code Team memberfeature-requestRequest for new features or functionalityinsiders-releasedPatch has been released in VS Code Insiderson-release-notesIssue/pull request mentioned in release notesterminalGeneral terminal issues that don't fall under another labelverification-neededVerification of issue is requestedverifiedVerification succeeded

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions