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

Base64 and line column limitation? #27988

Closed
liquid8d opened this issue Jun 4, 2017 · 2 comments
Closed

Base64 and line column limitation? #27988

liquid8d opened this issue Jun 4, 2017 · 2 comments
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug *duplicate Issue identified as a duplicate of another issue(s) editor-rendering Editor rendering issues

Comments

@liquid8d
Copy link

liquid8d commented Jun 4, 2017

In this recent version, I noticed that some longer base64 encoded strings didn't allow me to pan to the end of the line. When opening the file, the line wrap is turned on, when I turn line wrap off, I cannot navigate to the end of those lines using the arrow keys. I believe the data is still all there, just causes navigation issues. It seems perhaps this is a limitation in the number of columns? The color coding does not display the same as other shorter lines, so I don't know if it isn't recognized properly or just isn't displaying all of the data.

I have included a sample of one giving me trouble.
base64-vscode-issue.zip

  • VSCode Version: Code 1.12.2 (19222cd, 2017-05-10T13:20:36.315Z)
  • OS Version: Windows_NT ia32 10.0.16199
  • Extensions:
Extension Author Version
project-manager alefragnani 0.18.0
json-tools eriklynd 1.0.2
vscode-auto-open-markdown-preview hnw 0.0.4

Steps to Reproduce:

  1. load the base64.html included in the zip in this VSCode version.
  2. The line including the base64 data when line wrapping is turned off cannot be navigated to using the arrow keys.
@liquid8d liquid8d changed the title Base64 not recognized correctly? Base64 and line column limitation? Jun 4, 2017
@kieferrm kieferrm added the important Issue identified as high-priority label Jun 5, 2017
@alexdima
Copy link
Member

alexdima commented Jun 6, 2017

This is not a regression. This is a limitation (since 5+ years) of our not having horizontal virtualization (in the same way we have vertical virtualization). We don't have horizontal virtualization because we leave it up to the browser to run the font layouting.

In other words:

  • when there is a large line, and word wrapping is off, we must paint the entire line since we cannot virtualize it because we didn't implement the Unicode layouting rules in JS (i.e. we don't know where bi-di text is, how the viewport intersects with the text, etc. etc.)
  • if the line is very large, this will cause freezes, depending on the line size. Browsers don't deal well with dumping a lot of dom nodes / text for a line.
  • in the case of such files (which are dominated by long lines), we forcefully go to word wrap on and an explicit user gesture is needed to turn off word wrap.
  • additionally, we stop rendering a line after 10k characters and render "..." to indicate that there is more text. The cursor and all editing operations function normally on the extra characters, but they do not get rendered.
  • the current recommendation is to turn on word wrapping if the intent is to edit past the 10k limit or change the limit via the "hidden" setting "editor.stopRenderingLineAfter" which is equal to 10000 by default, but which can be changed to -1 to never stop rendering. But then freezes/lagging might occur.

@alexdima alexdima removed the important Issue identified as high-priority label Jun 6, 2017
@rebornix rebornix removed their assignment Aug 14, 2017
@alexdima alexdima added bug Issue identified by VS Code Team member as probable bug editor-rendering Editor rendering issues labels Nov 27, 2017
@alexdima
Copy link
Member

Duplicate of #7772

@alexdima alexdima marked this as a duplicate of #7772 Nov 27, 2017
@alexdima alexdima added the *duplicate Issue identified as a duplicate of another issue(s) label Nov 27, 2017
@vscodebot vscodebot bot locked and limited conversation to collaborators Jan 11, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Issue identified by VS Code Team member as probable bug *duplicate Issue identified as a duplicate of another issue(s) editor-rendering Editor rendering issues
Projects
None yet
Development

No branches or pull requests

4 participants