-
Notifications
You must be signed in to change notification settings - Fork 29.4k
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
Closed
Fix Issue for #168192 #211289
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@microsoft-github-policy-service agree |
Tyriar
reviewed
Jun 20, 2024
There was a problem hiding this 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.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.