-
Notifications
You must be signed in to change notification settings - Fork 36.7k
Description
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
exitto 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:
- ctrl+shift+arrow (or mac equivalent)
- ctrl+shift+page up/down (or mac equivalent)
- Mouse or trackpad (reports of trackpad scroll not working on mac Integrated terminal scrolling not working in oh-my-zsh #7817)
- 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
- Add args when spawning a new shell:
- Using the new commands:
workbench.action.terminal.focusworkbench.action.terminal.focusNextworkbench.action.terminal.focusPreviousworkbench.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