Kruemelkatze / vscode-dashboard

A speed-dial like project dashboard for VSCode.
https://marketplace.visualstudio.com/items?itemName=kruemelkatze.vscode-dashboard
MIT License
109 stars 21 forks source link

Avoiding stealing focus? #83

Closed richardtallent closed 1 year ago

richardtallent commented 2 years ago

Love the extension!

On Windows, it takes 10-20 seconds for the dashboard to initialize in a new VS Code window. This isn't a problem on my Mac.

Would it be possible to not steal the focus when the dashboard finally opens, especially if it has been some time since the process started? I'll be sitting there coding away, and then BOOM, the dashboard pops up and I lose my keystrokes and my train of thought...

Kruemelkatze commented 2 years ago

Hi!

On all my computers and my colleagues' computers the Dashboard opens immediately after the extensions are initialized. So maybe 2-3 sec after startup. Can you check if any other extension you have installed delays the startup?

You can use these commands for that: Developer: Show Running Extensions Developer: Startup Performance

Thanks in advance!

richardtallent commented 2 years ago

How strange! I definitely have other extensions installed, but all show up with low-ms startup times. Even this extension shows up as "activated" in 14ms, when in fact 14 seconds (after the window is interactive) is closer to when the Dashboard tab pops up.

Here's the log, nothing sticks out to me here. I thought I remembered that startup time was slow due to how long VSC needed to spawn or render a web browser process for the dashboard, maybe I'm thinking of another extension?

System Info

Performance Marks

What Duration Process Info
start => app.isReady - [main] initial startup: false
nls:start => nls:end - [main] initial startup: false
require(main.bundle.js) - [main] initial startup: false
start crash reporter - [main] initial startup: false
serve main IPC handle - [main] initial startup: false
create window - [main] initial startup: false,
app.isReady => window.loadUrl() - [main] initial startup: false
window.loadUrl() => begin to require(workbench.desktop.main.js) 718 [main->renderer] NewWindow
require(workbench.desktop.main.js) 378 [renderer] cached data: YES, node_modules took 0ms
wait for window config 0 [renderer] -
init storage (global & workspace) 17 [renderer] -
init workspace service 47 [renderer] -
register extensions & spawn extension host 530 [renderer] -
restore viewlet 0 [renderer] -
restore panel 0 [renderer] -
restore & resolve visible editors 7 [renderer] 0:
overall workbench load 269 [renderer] -
workbench ready 1421 [main->renderer] -
renderer ready 720 [renderer] -
shared process connection ready 107 [renderer->sharedprocess] -
extensions registered 2047 [renderer] -

Extension Activation Stats

Extension Eager Load Code Call Activate Finish Activate Event By
vscode.debug-auto-launch true 15 0 14 * vscode.debug-auto-launch
vscode.git true 28 72 163 * vscode.git
vscode.git-base true 13 1 13 * vscode.github
vscode.github true 20 1 2 * vscode.github
vscode.ipynb true 9 2 11 * vscode.ipynb
ms-vsliveshare.vsliveshare true 345 0 616 * ms-vsliveshare.vsliveshare
vscode-icons-team.vscode-icons true 38 4 2337 * vscode-icons-team.vscode-icons
vscode.configuration-editing false 5710 0 3 onLanguage:jsonc vscode.configuration-editing
vscode.emmet false 23 8 47 onStartupFinished vscode.emmet
vscode.extension-editing false 16 0 3 onLanguage:markdown vscode.extension-editing
vscode.github-authentication false 22 1 1 onAuthenticationRequest:github vscode.github-authentication
vscode.json-language-features false 17 0 53 onLanguage:jsonc vscode.json-language-features
vscode.markdown-language-features false 109 3 0 onLanguage:markdown vscode.markdown-language-features
vscode.markdown-math false 11 0 0 api vscode.markdown-language-features
vscode.merge-conflict false 6 1 46 onStartupFinished vscode.merge-conflict
vscode.microsoft-authentication false 59 2 68 onAuthenticationRequest:microsoft vscode.microsoft-authentication
ms-vscode-remote.remote-wsl-recommender false 12 8 38 onStartupFinished ms-vscode-remote.remote-wsl-recommender
vscode.typescript-language-features false 20 3 1 onLanguage:jsonc vscode.typescript-language-features
bradlc.vscode-tailwindcss false 11 0 297 onStartupFinished bradlc.vscode-tailwindcss
dbaeumer.vscode-eslint false 31 1 37 onStartupFinished dbaeumer.vscode-eslint
eamodio.gitlens false 138 22 70 onStartupFinished eamodio.gitlens
esbenp.prettier-vscode false 192 14 4 onStartupFinished esbenp.prettier-vscode
kruemelkatze.vscode-dashboard false 13 1 3 onStartupFinished kruemelkatze.vscode-dashboard
Kruemelkatze commented 2 years ago

Thanks for the quick info! I'll try to find out more what may be causing that.

Kruemelkatze commented 1 year ago

Some time ago, extension devs were asked to move the extension activation to onStartupFinished, instead of * (directly on start). I think this resulted in heavily distorted startup times, dependending on configuration and other extension. With the lastest version 2.6.0, I changed the activation back to * as the project dashboard doesn't require much resources to start up. So it should be a lot faster now.

Sorry for the delay, back then I couldn't quite figure out the reason(s) for the slow startup.