-
-
Notifications
You must be signed in to change notification settings - Fork 719
Detect and report the status bar in Visual Studio Code #18724
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
Conversation
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.
Pull Request Overview
This PR adds support for reporting the Visual Studio Code status bar when using NVDA's standard status bar gesture (NVDA+End on desktop/NVDA+Shift+End on laptop), addressing the issue where NVDA previously reported "no status line found".
- Implements status bar detection by role and IAccessible2 ID with caching functionality
- Adds custom text processing to filter decorative elements and prioritize line/column information
- Caches status bar objects for improved performance on subsequent accesses
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
File | Description |
---|---|
user_docs/en/changes.md | Documents the new Visual Studio Code status bar reporting feature |
source/appModules/code.py | Implements status bar detection, caching, and custom text formatting logic |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.
836b0d6
to
aa69ace
Compare
070e48c
to
29eb24b
Compare
@codeofdusk have you looked at the discussion in these issues? |
@SaschaCowley Yes, is there something I should look at specifically? Also, I think the PR build failure is unrelated, as the last commit simply updated what's new per @seanbudd |
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.
Do you know if it's feasible to create a system test for this?
I think it should be possible to install VS code on Windows with GitHub actions fairly easily.
Now that we are able to run system tests in parallel, we are free to create a more thorough set of system tests for more applications.
I think it would be worth setting up system tests for VS code, as it's easy to install software.
In future, if we can install FOSS software, I think we should create system tests for it.
name: Install VS Code on Windows
on: [push]
jobs:
build:
runs-on: windows-latest
steps:
- name: Download and Install VS Code
if: matrix.testSuite == "codium"
run: |
# Download the VS Code User Setup installer
Invoke-WebRequest -Uri "https://code.visualstudio.com/sha/download?build=stable&os=win32-x64-user" -OutFile "VSCodeSetup.exe"
# Install VS Code silently
.\VSCodeSetup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
shell: powershell
@seanbudd Do we have system tests for other third-party software? If not, I imagine we wouldn't want to run those for local users (that feels like a larger discussion). |
@codeofdusk - no, mostly due to issues I've outlined in #18762. I think it's fine for these to run locally. It's rare when someone needs to use |
@codeofdusk - please add a system test as requested |
5de71a3
to
358b225
Compare
ceace8e
to
810d064
Compare
@seanbudd That fixed it! I'll go ahead and remove the logging. |
97abaea
to
93ca8bd
Compare
Co-authored-by: Sean Budd <[email protected]>
93ca8bd
to
105ca85
Compare
Co-authored-by: Sean Budd <[email protected]>
Co-authored-by: Sean Budd <[email protected]>
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 @codeofdusk
bc76c79
to
e1770dc
Compare
@codeofdusk it The code for moving the line/column number first in the status bar doesn't seem to be working for me. When I get the status bar in VS Code, I get:
|
Link to issue number:
Closes #11064.
Summary of the issue:
When invoking the standard "report status bar" gesture in Visual Studio Code, NVDA says "no status line found".
Description of how this pull request fixes the issue:
Adds logic to detect (by role or IAccessible2 ID) the status bar, caching it when found. Also added a custom text override to move the line and column to the start for speech-friendliness.
Testing strategy:
Tested in various document types (plain text, Python) in Visual Studio Code.
Known issues with pull request:
The status bar is not cached on app launch since the tree interceptor is disabled. If this override is removed, status bar accesses are always fast. With the override, the first access of the status bar takes about a second on my machine.
Code Review Checklist: