-
Notifications
You must be signed in to change notification settings - Fork 21
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
VSCode: Synchronized scrolling not working anymore #778
Comments
Is it just the syncronised scrolling that broke? Or are other preview features like the live updates broken too? As a blind guess perhaps you've been bitten by #779? The only major change recently is how esbonio manages the underlying Sphinx process, so I would be surprised if the issue was in the preview code itself (ignoring double scroll bars for the moment) To help debug this, could you set |
Hello, thank you for the quick response! I'm now really unsure about what really happened. I had a working setup until last week and then something happened without my intervention so that the preview window would only show "Loading ... " with an animated progressbar. Then I switched between Release and Pre-Release and the only thing that still works, producing the screenshot I posted, is the Release-version. But I can't remember ever actively switching to Pre-Release before, so I'm not sure if I have always been on Pre-Release and it broke, or the Release broke due to some Vscode change. The trace mainly contains periodic "workspace/diagnostic" messages. I'm currently trying to set the build command manually, as was proposed by someone else, because my project is not at the workspace root. But I have never done that and am running into errors because I made some mistake specifying the command. |
The Release version does not support sync scrolling so it sounds like you were using the Pre-Release version before.
Sometimes that's because there's no build files yet for it to preview and you need to give the server a "kick" by editing and saving some file in the project. (I need to get around to fixing that! 😅) Otherwise that generally means the sphinx setup is broken in some way...
That sounds like the If you've updated to the latest pre-release (
Feel free to share an error messages you run into :) |
Hey, I'm currently bypassing the nested directory problem, using your build command and then receive "Error: at least 3 arguments (builder, source dir, build-dir)" I get the feeling I'm doing something very stupid here... EDIT: I got him to create an output dir, however it stays pretty empty, contains doctree and html folder. However no generated html files. EDIT2: It basically stops after [autosummary], where my build on the command line will proceed to produce the html output. |
Nope, I'm the one doing something stupid 🤦 Command should be
That sounds promising, you still likely need to give it a "kick" though - try editing and saving one of the files in your project 🤞 |
Okay, I tried editing and saving some of the files that were mentionend, to no avail. It seems to do something, but then get stuck somehow. That's my command now: When restarting the server, it will mention the autosummary plugin and then exit with code 0 (edit: that's me restarting the server), and that's it. Without autosummary it will just state "Running Sphinx v7.1.2" in the Esbonio output, with nothing more happening. |
results in a Json-Error that "source directory X cannot be found", where X is the absolute path to the sphinx-build. Is that supposed to be? Edit: When correctly specifying "-M" instead of "M", then main.py errs out with "unrecognized arguments: -M". The same command from the prompt works flawlessly :( |
Okay, I tried various pre-release versions and "v0.91.0 (pre-release)" is the last one that seems to work (even with scroll lock). This one will actually create the html files after starting the server and saving an arbitrary source file. Edit: Unfortunately the extension's changelog does not mention "v0.91.0", so I'm not sure if the entry "v0.92.0" compiles the changes since "v0.11.0"... or if they are the changes since "v0.91.0". Edit #2: Vscode marks "esbonio.sphinx.buildCommand" as a known setting in "v0.91.0", so I think the compilation theory holds. Maybe reducing the scope to the delta between "v0.91.0" and "v0.92.0" helps. |
Feedback on the next day: I got the most recent build working with a .venv. Edit: New finding - if the target python environment has the esbonio package installed, then it must be recent enough. It seems a simple install esbonio without specific version will install a really old one. If it is installed and the version does not match, then the Preview will also stall in "Loading" state. Given that, intellisense still seems to be dyscunctional or its presence was contributed by a different vscode extension. Also the scroll lock seems to be lost after some time. |
Thanks for persevering with this! I think at this point it might be useful to try and clarify a few things. Esbonio is composed of two main components, a language server written in Python, and a VSCode extension. Both of these components currently have a release version and a pre-release version.
Over the past year or so, the pre-release versions have morphed into a complete rewrite of the respective components, so while I would argue that they are better than the release versions, they're not yet feature complete.
On that note, the pre-release version of the VSCode extension bundles the server component, so it's not necessary to install
That's good to know! It's possible that the old version conflicts with the way the new version injects itself into the environment - at the very least the extension should advise you to remove it.
One of the (many) features missing in the pre-release version is intellisense. With
Interesting... I don't suppose you're running into #646? If you could share some of the debug logs ( |
Hi there, thank you for responding! I will try to find something noteworthy in the log tomorrow regarding the loss of lock (reminds me of PLL, heh). I think I notice a different behavior in the lock mechanism now. The "old" version had an issue where just saving the document moved both the source view as well as the preview view, but the lock felt "smooth". Greetings and thank you very much! |
Not sure which "old" version you are referring to sorry, as only the pre-release has offered synchronised scrolling, and the feature itself has not really changed since it first came out. However, I definitely know what you mean by it being "stuttery", currently there are relatively few locations on the page where the views are able sync-up (Assuming it still works, the How well the feature works can also depend on your theme, |
Hello! Here are some noteworthy entries from the log when the preview lost track:
I can't tell for sure, if these events are really related though. |
No worries!
I'm not sure either, they're not messages I recognise... were they in the |
Expected behavior
I expect synchronized scroll between source and preview to work.
Actual behavior
After updating VScode last week, synchronized scrolling broke (for a short time before it even worked in external windows, which was magnificient).
Additionally, the preview control seems to exceed it's paren't draw area, so that I get two levels of scroll bars:
I could not find a setting that would switch on/off synchronized scrolling.
Log output
No response
(Optional) Settings from conf.py
No response
The text was updated successfully, but these errors were encountered: