Code change:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes/No <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.89.0 OS Version: macOS Sonoma 14.1.2 arm64 This issue coming from Cc Flutter extension from marketplace /Create Flutter project in Vscode the app by clicking the run button inside the IDE until the app is running on platform (eg emulators) ## Expected behavior Hot reload button will appear :zap: <img width="405" alt="Screenshot 2024-05-07 at 12 09 20 PM" src=""Hot reload button doesn't appear <img width="537" alt="Screenshot 2024-05-07 at 12 06 06 PM" src=""Toggle brings back the Hot Reload Button
Hey are you able to repro this? I set up a test extension that contributes a command the same way that the Dart extension does, and it works fine for me. I can try in the Dart extension too, but I'm wondering whether it's a fluke for this user or something that happens regularly.
Ah nevermind, I guess I do have a repro using js-debug
Hey I can't figure out how this is supposed to work in the command center. It seems that we don't listen to updates of the debug submenu inside the command center. Easy repro steps Put debug toolbar in the CC Start debugging something with node Run "Take Performance Profile" The red button to stop profiling doesn't appear in the debug toolbar unless I do something like move it
Weird, we should receive events and redraw the menu because of the -flag.
Debugged this for awhile, and I don't know how it's supposed to work, but it basically doesn't load the context keys for extension-contributed menu items because nothing is prompting the CommandCenter menu to reload context keys for submenu items after the menu extension contrib point is handled. create a Menu for CommandCenter, and it has a MenuInfo: picks up the context keys for whatever exists at that moment, and we don't have the extension menu items yet we process the menus extension point and add those items to the MenuRegistry for the DebugToolbar But at this point, something needs to bubble this up to the CommandCenter. It doesn't know that its submenus are changing. The Menu should fire onDidChange at that moment, and I don't see how that would happen. And, the CommandCenter Menu should call somewhere in there. Something is definitely missing. I didn't debug the normal submenu case but I'm guessing the inlined rendering of CommandCenter's submenus is related somehow, I assume in a normal case the context keys for submenus would get updated in some other way. Maybe when you're back we can jump on a call and I can show you what I'm seeing.

Related discussion:
text: } else if (this._collectContextKeysForSubmenus) { // recursively collect context keys from submenus so that this // menu fires events when context key changes affect submenus <del> MenuRegistry.getMenuItems(item.submenu).forEach(this._collectContextKeys, this); </del> <ins> MenuRegistry.getMenuItems(item.submenu).forEach(this._collectContextKeysAndSubmenuIds, this); this._allMenuIds.add(item.submenu); </ins> } }