Skip to content

Test: Integrated Terminal (June) #8222

@Tyriar

Description

@Tyriar

Test plan for June's improvements made to the integrated terminal (#143 ). This test plan will take a fair bit of time to get through.

Operating Systems

What's new?

A lot of stuff changed in the terminal, many bugs were fixed, some big features landed like multiple terminals and the ability to consistently copy and paste (currently bound to ctrl+ins to copy, shift+ins to paste), the underlying library that powers the terminal was swapped out for a more mature one (xterm.js) and there was a big refactor to support all these changes. CJK character width was also fixed so they should no longer have random sizing and/or wrap and break the row count of the terminal.

A full list of the changes can be seen here.

What to test?

Here is a mostly complete list of test cases around features that were added, fixed or impacted greatly by the refactor and xterm.js adoption:

  • Adding multiple terminals (ctrl+shift+backtick, removing various indexes (first, last, middle)
  • Using a non-standard shell
  • Using exit to kill the shell
  • Using copy ctrl+ins and paste shift+ins
  • Using middle click to paste selection on Linux
  • Try building and running vscode through the integrated terminal (./scripts/code.sh)
  • CJK and general unicode characters can be input and viewed in the terminal. note that you cannot use an IME currently Terminal doesn't accept input via IME xtermjs/xterm.js#124 (the varying height of unicode characters is a known issue Lines containing unicode characters in integrated terminal differ in height #8219)
  • Resizing:
    • Vertically & horizontally
    • With and without a program running
    • With little output
  • Scrolling:
  • Using the new settings (they should apply without needing a window reload):
    • Add args when spawning a new shell: terminal.integrated.shellArgs.<platform>
    • Change font family: terminal.integrated.fontSize
    • Change line height: terminal.integrated.lineHeight
  • Using the new commands:
    • workbench.action.terminal.focus
    • workbench.action.terminal.focusNext
    • workbench.action.terminal.focusPrevious
    • workbench.action.terminal.kill
    • Disable cursor blinking: editor.cursorBlinking
    • Run the editor selection in the terminal: workbench.action.terminal.runSelectedText
  • Adjusting font size and line height
  • Text foreground and background color is inverted on selection like in gnome-terminal
  • The new "hollow" cursor when the terminal does not have focus
  • Ensure vim no longer overrides the terminal color set vim overrides the terminal color scheme #6457

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions