microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
160.47k stars 28.1k forks source link

[bug] Minimap section headers render in wrong place with `fill` option and terminal open #209595

Open lobsterkatie opened 3 months ago

lobsterkatie commented 3 months ago

Type: Bug

I was excited to see the new section-headers-in-minimap feature in the release notes, because I have my settings.json separated into different sections and would like to be able to jump to them easily. (Yes, I can search for a setting name, but I don't always remember what it is, so having the sections is helpful.)

In any case, I added my first // MARK: ... comment, but it doesn't show up in the right place.

To reproduce:

Notes:

Main screenshots of bug, from Insiders ![image](https://github.com/microsoft/vscode/assets/14812505/6797aebd-08dd-45f1-8d49-b3e495afaad1) ![image](https://github.com/microsoft/vscode/assets/14812505/f6792248-80a2-4e2a-9bc1-8fc09d4fdcf8)
Screenshots of heading jumping around, from main VSCode In all of the cases below, the grey marker to the right of the minimap is where the heading should be. The leftmost minimap is with neither sidebar open, the middle one is with one sidebar open, and the rightmost is with both open. As the minimap gets narrower, the heading jumps to a different spot. ![image](https://github.com/microsoft/vscode/assets/14812505/9c908d0d-dc68-4f4a-ac87-67e738118174)

VS Code version: Code 1.88.0 (Universal) (5c3e652f63e798a5ac2f31ffd0d863669328dc4c, 2024-04-03T13:28:18.899Z) OS version: Darwin x64 22.6.0 Modes:

System Info |Item|Value| |---|---| |CPUs|Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz (12 x 2600)| |GPU Status|2d_canvas: enabled
canvas_oop_rasterization: disabled_off
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled
webgpu: enabled| |Load (avg)|5, 6, 8| |Memory (System)|32.00GB (0.02GB free)| |Process Argv|--crash-reporter-id 8c10ff82-725c-40b2-bf04-12f0f88bc109| |Screen Reader|yes| |VM|0%|
Extensions (76) - though note that this happens without any extensions, too Extension|Author (truncated)|Version ---|---|--- Bookmarks|ale|13.5.0 tasks-shell-input|aug|1.9.2 biome|bio|2.2.2 shifty|bme|2.0.1 mermaid-markdown-syntax-highlighting|bpr|1.6.0 multi-cursor-case-preserve|Car|1.0.5 mermaid-comment|Cat|1.2.6 ruff|cha|2024.16.0 npm-intellisense|chr|1.4.5 path-intellisense|chr|2.8.5 bracket-select|chu|2.0.2 vscode-markdownlint|Dav|0.54.0 vscode-eslint|dba|2.4.4 vscode-deno|den|3.36.0 vscode-npm-source|dku|1.0.0 githistory|don|0.6.20 typescript-notebook|don|2.0.6 gitlens|eam|14.9.0 EditorConfig|Edi|0.16.4 vsc-material-theme|Equ|34.3.1 vsc-material-theme-icons|equ|3.5.0 prettier-vscode|esb|10.4.0 shell-format|fox|7.2.5 ghost-text|fre|1.4.0 remotehub|Git|0.62.0 vscode-github-actions|git|0.26.2 vscode-pull-request-github|Git|0.86.0 npm-dependency-links|her|1.2.0 case-sensitive-add-next|jac|0.0.6 background-terminal-notifier|jar|1.0.3 search-node-modules|jas|1.3.0 code-eol|jef|1.0.12 vscode-case-shifter|Jin|1.1.0 docthis|joe|0.7.1 vscode-peacock|joh|4.2.2 bracket-peek|jom|1.4.4 vsc-python-indent|Kev|1.18.0 yarn-lock-syntax|mar|0.2.0 rainbow-csv|mec|3.11.0 template-string-converter|meg|0.6.1 xcodestrings|mhc|1.0.0 git-graph|mhu|1.30.0 dotenv|mik|1.0.1 playwright|ms-|1.0.22 black-formatter|ms-|2024.2.0 debugpy|ms-|2024.4.0 flake8|ms-|2023.10.0 isort|ms-|2023.10.1 mypy-type-checker|ms-|2023.6.0 python|ms-|2024.4.0 vscode-pylance|ms-|2024.4.1 makefile-tools|ms-|0.9.10 remote-repositories|ms-|0.40.0 polacode|pnp|0.3.4 toggle|reb|0.0.2 vscode-yaml|red|1.14.0 vscode-gitweblinks|red|2.11.0 vscode-sort-json|ric|1.20.0 synthwave-vscode|Rob|0.1.15 bash-debug|rog|0.3.9 zsh-debug|rog|0.1.3 gitconfig|sid|2.0.1 sonarlint-vscode|Son|4.4.2 rewrap|stk|1.16.3 vscode-makefile-outliner|tad|0.2.0 even-better-toml|tam|0.19.2 shellcheck|tim|0.37.0 vscode-mermaid-editor|tom|0.19.1 vscode-mdx|uni|1.8.3 errorlens|use|3.16.0 vscode-lldb|vad|1.10.0 vscodeintellicode|Vis|1.3.1 txt-syntax|xsh|0.2.2 vscode-mdx-preview|xyc|0.3.3 power-edit|YuT|1.3.0 vscode-open-in-github|ziy|1.3.6 (10 theme extensions excluded)
A/B Experiments ``` vsliv368cf:30146710 vspor879:30202332 vspor708:30202333 vspor363:30204092 vscod805cf:30301675 binariesv615:30325510 vsaa593cf:30376535 py29gd2263:30899288 c4g48928:30535728 azure-dev_surveyone:30548225 962ge761:30959799 pythongtdpath:30769146 welcomedialog:30910333 pythonidxpt:30866567 pythonnoceb:30805159 asynctok:30898717 pythontestfixt:30902429 pythonregdiag2:30936856 pyreplss1:30897532 pythonmypyd1:30879173 pythoncet0:30885854 h48ei257:31000450 pythontbext0:30879054 accentitlementst:30995554 dsvsc016:30899300 dsvsc017:30899301 dsvsc018:30899302 cppperfnew:31000557 d34g3935:30971562 fegfb526:30981948 bg6jg535:30979843 ccp2r6:30993542 dsvsc020:30976470 pythonait:31006305 gee8j676:31009558 dsvsc021:30996838 gd77d436:30999572 vstestc:31010171 ```
SuarezLuis commented 3 months ago

It might have to do with the parsing of the file, JSON files do not support comments

geoff-lawn commented 2 months ago

It might have to do with the parsing of the file, JSON files do not support comments

This problem occurs in both fit and fill settings, and for python code too (i.e. I think it may not be related to language)

dimateos commented 2 months ago

Not related to lang. I played around in the web editor with no extensions, etc with C++ https://vscode.dev/github/ocornut/imgui

Sample pic, perfect placement with "proportional" editor.minimap.size:

image

Offset by a lot with "fit" or "fill":

Even after closing/reopening etc

image

ClintKilmer commented 1 week ago

Can confirm dimateos's findings.