microsoft / vscode

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

Context menu inside VS Code should be smaller #198466

Closed MtiPsd closed 8 months ago

MtiPsd commented 9 months ago

Type: Performance Issue

The context menu inside VS Code is currently too large and takes up a lot of screen space. It would be great if the context menu could be made smaller so that it’s easier to use and easier to reach. This would make the overall user experience much better and more efficient.

VS Code version: Code 1.84.2 (1a5daa3a0231a0fbba4f14db7ec463cf99d7768e, 2023-11-09T10:51:52.184Z) OS version: Windows_NT x64 10.0.19045 Modes:

System Info |Item|Value| |---|---| |CPUs|Intel(R) Core(TM) i3-4160 CPU @ 3.60GHz (4 x 3592)| |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: unavailable_off
raw_draw: disabled_off_ok
video_decode: enabled
video_encode: unavailable_off
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled| |Load (avg)|undefined| |Memory (System)|7.94GB (3.49GB free)| |Process Argv|--folder-uri file:///c%3A/Users/MtiPsd/Desktop/final%20project --crash-reporter-id 0a481f2e-ea28-4899-817e-2c1ecca269c2| |Screen Reader|no| |VM|0%|
Process Info ``` CPU % Mem MB PID Process 1 65 12328 code main 0 55 108 gpu-process 1 82 792 window [2] (Issue Reporter) 0 113 2608 extensionHost [1] 0 15 5280 electron-nodejs ("C:\Users\MtiPsd\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node "c:\Users\MtiPsd\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\json-language-features\server\dist\node\jsonServerMain" --node-ipc --clientProcessId=2608) 0 52 6468 electron-nodejs ("C:\Users\MtiPsd\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node c:\Users\MtiPsd\.vscode\extensions\streetsidesoftware.code-spell-checker-3.0.1\packages\_server\dist\main.cjs --node-ipc --clientProcessId=2608) 0 13 7300 electron-nodejs ("C:\Users\MtiPsd\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node c:\Users\MtiPsd\.vscode\extensions\dbaeumer.vscode-eslint-2.4.2\server\out\eslintServer.js --node-ipc --clientProcessId=2608) 0 10 9008 electron-nodejs ("C:\Users\MtiPsd\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node c:\Users\MtiPsd\.vscode\extensions\prisma.prisma-5.6.0\node_modules\@prisma\language-server\dist\src\bin.js --node-ipc --clientProcessId=2608) 0 9 9356 electron-nodejs ("C:\Users\MtiPsd\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node "c:\Users\MtiPsd\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\html-language-features\server\dist\node\htmlServerMain" --node-ipc --clientProcessId=2608) 0 25 9824 electron-nodejs ("C:\Users\MtiPsd\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node --max-old-space-size=3072 "c:\Users\MtiPsd\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js" --serverMode partialSemantic --useInferredProjectPerProjectRoot --disableAutomaticTypingAcquisition --cancellationPipeName C:\Users\MtiPsd\AppData\Local\Temp\vscode-typescript\670c3a4faf0b3d6a48ee\tscancellation-570f84c530f34f19c923.tmp* --globalPlugins @styled/typescript-styled-plugin --pluginProbeLocations c:\Users\MtiPsd\.vscode\extensions\styled-components.vscode-styled-components-1.7.8 --locale en --noGetErrOnBackgroundUpdate --validateDefaultNpmLocation --useNodeIpc) 0 12 12276 electron-nodejs ("C:\Users\MtiPsd\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node c:\Users\MtiPsd\.vscode\extensions\sburg.vscode-javascript-booster-14.0.1\dist\server\server.js --node-ipc --clientProcessId=2608) 0 8 13444 electron-nodejs ("C:\Users\MtiPsd\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node "c:\Users\MtiPsd\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\markdown-language-features\server\dist\node\workerMain" --node-ipc --clientProcessId=2608) 0 37 16996 electron-nodejs ("C:\Users\MtiPsd\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node --max-old-space-size=3072 "c:\Users\MtiPsd\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js" --useInferredProjectPerProjectRoot --enableTelemetry --cancellationPipeName C:\Users\MtiPsd\AppData\Local\Temp\vscode-typescript\670c3a4faf0b3d6a48ee\tscancellation-4ee4382f475c739a2a27.tmp* --globalPlugins @styled/typescript-styled-plugin --pluginProbeLocations c:\Users\MtiPsd\.vscode\extensions\styled-components.vscode-styled-components-1.7.8 --locale en --noGetErrOnBackgroundUpdate --validateDefaultNpmLocation --useNodeIpc) 0 14 10456 electron-nodejs ("C:\Users\MtiPsd\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node "c:/Users/MtiPsd/AppData/Local/Programs/Microsoft VS Code/resources/app/extensions/node_modules/typescript/lib/typingsInstaller.js" --globalTypingsCacheLocation C:/Users/MtiPsd/AppData/Local/Microsoft/TypeScript/5.2 --enableTelemetry --typesMapLocation "c:/Users/MtiPsd/AppData/Local/Programs/Microsoft VS Code/resources/app/extensions/node_modules/typescript/lib/typesMap.json" --validateDefaultNpmLocation) 0 13 18200 electron-nodejs ("C:\Users\MtiPsd\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node c:\Users\MtiPsd\.vscode\extensions\visualstudioexptteam.intellicode-api-usage-examples-0.2.8\dist\server\server.js --node-ipc --clientProcessId=2608) 0 13 3844 ptyHost 0 1 4724 conpty-agent 0 0 5236 "C:\Program Files\Git\bin\bash.exe" --login -i 0 2 17924 "C:\Program Files\Git\bin\..\usr\bin\bash.exe" --login -i 0 14 8596 utility-network-service 0 18 11568 fileWatcher [1] 0 5 14532 crashpad-handler 0 43 16696 shared-process 0 231 17656 window [1] (tasksService.js - final project - Visual Studio Code) ```
Workspace Info ``` | Window (tasksService.js - final project - Visual Studio Code) | Folder (final project): 35 files | File types: js(13) json(3) gitignore(1) ico(1) webp(1) html(1) md(1) | css(1) | Conf files: package.json(1); ```
Extensions (37) Extension|Author (truncated)|Version ---|---|--- better-comments|aar|3.0.2 codesnap|adp|1.3.4 tailwind-docs|aus|2.1.0 vscode-tailwindcss|bra|0.10.3 simple-react-snippets|bur|1.2.7 npm-intellisense|chr|1.4.5 path-intellisense|chr|2.8.5 vscode-eslint|dba|2.4.2 githistory|don|0.6.20 es7-react-js-snippets|dsz|4.4.3 gitlens|eam|14.5.0 vscode-html-css|ecm|1.13.1 prettier-vscode|esb|10.1.0 code-runner|for|0.12.1 live-sass|gle|6.1.1 todo-tree|Gru|0.0.226 rest-client|hum|0.25.1 rainbow-csv|mec|3.8.0 live-server|ms-|0.4.11 color-highlight|nau|2.5.0 vscode-extension-auto-import|Nuc|1.4.3 explorer-exclude|Pet|1.3.2 material-icon-theme|PKi|4.31.0 remove-comments|pli|1.2.2 prisma|Pri|5.6.0 LiveServer|rit|5.7.9 vscode-coverage-gutters|rya|2.11.1 vscode-javascript-booster|sbu|14.0.1 lcov-lang|Ser|1.0.1 code-spell-checker|str|3.0.1 vscode-styled-components|sty|1.7.8 gitflow|vec|1.2.1 intellicode-api-usage-examples|Vis|0.2.8 vscode-icons|vsc|12.6.0 JavaScriptSnippets|xab|1.8.0 vscode-preview-server|yui|1.3.0 material-theme|zhu|3.16.2 (5 theme extensions excluded)
A/B Experiments ``` vsliv368cf:30146710 vsreu685:30147344 python383:30185418 vspor879:30202332 vspor708:30202333 vspor363:30204092 vslsvsres303:30308271 vserr242:30382549 pythontb:30283811 vsjup518:30340749 pythonptprofiler:30281270 vshan820:30294714 vstes263:30335439 vscod805cf:30301675 binariesv615:30325510 bridge0708:30335490 bridge0723:30353136 vsaa593cf:30376535 pythonvs932:30410667 py29gd2263cf:30880073 vsclangdc:30486549 c4g48928:30535728 dsvsc012:30540252 pynewext54:30695312 azure-dev_surveyone:30548225 282f8724:30602487 f6dab269:30613381 showlangstatbar:30737416 pythonfmttext:30731395 fixshowwlkth:30771522 showindicator:30805244 pythongtdpath:30769146 i26e3531:30792625 welcomedialogc:30887144 pythonnosmt12:30797651 pythonidxpt:30866567 pythonnoceb:30805159 asynctok:30869155 dsvsc013:30795093 dsvsc014:30804076 dsvsc015:30845448 pythontestfixt:30871694 pythonregdiag2:30871582 pyreplss2:30886141 pythonmypyd1:30879173 pythoncet0:30885854 h48ei257:30885898 pythontbext0:30879054 accentitlementst:30887150 dsvsc016cf:30886111 dsvsc017:30886112 dsvsc018:30886114 aa_t_chat:30882232 ```
RobbyCBennett commented 9 months ago

If there was a way for the user disable certain entries, then I think that this could work.

gjsjohnmurray commented 9 months ago

@MtiPsd I guess you mean the context menu on a file you are editing. Some of your extensions might each contribute a few entries, making the menu longer than the default one.

The Start Extension Bisect command can help you discover which come from which.

gjsjohnmurray commented 9 months ago

If there was a way for the user disable certain entries, then I think that this could work.

https://github.com/microsoft/vscode/issues/9285#issuecomment-1784252892 is related

bestvow commented 9 months ago

image

edit regedit

计算机\HKEY_CURRENT_USER\Software\Classes\VSCodeInsidersContextMenu

sbatten commented 8 months ago

If this is truly about configuring the entries, then I will close this as duplicate.