Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Issue for #168192 #211289

Closed
wants to merge 20 commits into from
Closed

Fix Issue for #168192 #211289

wants to merge 20 commits into from

Conversation

huangyuyao
Copy link

@huangyuyao huangyuyao commented Apr 24, 2024

This pull request introduces a new UI feedback feature in Visual Studio Code's integrated terminal. When the terminal is suspended by pressing Ctrl+S, a clear visual cue is now displayed to inform the user that the terminal session is paused. This feature addresses Issue #168192, where users were previously unaware that the terminal was suspended, leading to confusion.

Changes Made:
UI Feedback Implementation: Added a new status bar item that appears only when the terminal is in a suspended state.
The status bar item displays the message "Terminal Paused - Press Ctrl+Q to Resume," which guides users on how to proceed.
Keybinding Conflict Resolution: Implemented a mechanism to intercept and prioritize the Ctrl+Q keybinding when the terminal is suspended. This ensures that pressing Ctrl+Q resumes the terminal session before any other commands bound to Ctrl+Q are executed.
Enhancements to Terminal Service: Modified the terminal service to detect and handle the suspended state more efficiently, integrating the new UI feedback system without disrupting existing functionalities.

Testing:
Unit Tests: Developed comprehensive unit tests for the new UI feedback feature to ensure it behaves as expected across various scenarios.
Tests include checking the visibility of the status bar item when the terminal is suspended and hidden when it is active or resumed.
Integration Tests: Added integration tests to verify the interaction between the new UI feedback mechanism and the existing terminal functionalities.
Ensured that the override of the Ctrl+Q keybinding works seamlessly with other global keybindings.
Manual Testing: Conducted thorough manual testing across different platforms (Windows, Linux, macOS) to ensure the feature's compatibility and reliability.
Tested in various configurations of VS Code to ensure no regressions in terminal behavior.

@huangyuyao
Copy link
Author

@microsoft-github-policy-service agree

@aeschli aeschli assigned Tyriar and unassigned aeschli Apr 29, 2024
@Tyriar Tyriar added this to the June 2024 milestone May 30, 2024
Copy link
Member

@Tyriar Tyriar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR, but the fix I'm looking for would be pretty different to what you're proposing:

  • Could we do something smarter, more efficient and more reliable than just checking for ctrl+s and ctrl+q. Pressing ctrl+s doesn't necessarily mean XOFF will happen. This will probably involve something in node-pty to check the state of the pty.
  • Terminal decorations would be better than a notification.

@Tyriar Tyriar closed this Jun 20, 2024
@vs-code-engineering vs-code-engineering bot locked and limited conversation to collaborators Aug 4, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants