Question: Type: <bBug</bIn the below image, clicking the link Learn More brings you to However, that section (id) does not exist on The link is most likely supposed to go to ! VS Code version: Code 1.87.2 (, 2024-03-08T15:20:17.278Z) OS version: WindowsNT x64 10.0. Modes: Remote OS version: Linux x64 5.4.0-173-generic <details<summarySystem Info</summary </details<details<summaryExtensions (32)</summaryExtensionVersion ------ yang0.1.3 jupyter-keymap1.1.2 remote-containers0.348.0 remote-ssh0.109.0 remote-ssh-edit0.86.0 remote-wsl0.86.0 vscode-remote-extensionpack0.25.0 remote-explorer0.4.3 remote-server1.5.1 vscode-openapi4.25.1 vscode-fish1.0.38 ruff2024.16.0 vale-vscode0.18.5 vscode-markdownlint0.54.0 gitlens14.9.0 prettier-vscode10.1.0 code-runner0.12.1 go0.41.1 restructuredtext189.3.0 direnv0.17.0 vscode-azureresourcegroups0.8.4 vscode-cosmosdb0.20.1 vscode-docker1.29.0 vscode-kubernetes-tools1.3.15 python2024.2.1 azure-account0.11.6 vscode-yaml1.14.0 code-spell-checker3.0.1 even-better-toml0.19.2 shellcheck0.37.0 simple-rst1.5.4 vscode-proto30.5.5 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --

const runningExtensionServer = runningExtension ? this.extensionManagementServerService.getExtensionManagementServer(toExtension(runningExtension)) : null; if (this.extension.server === this.extensionManagementServerService.localExtensionManagementServer && runningExtensionServer === this.extensionManagementServerService.remoteExtensionManagementServer) { if (this.extensionManifestPropertiesService.prefersExecuteOnWorkspace(this.extension.local.manifest)) { <del> this.updateStatus({ icon: infoIcon, message: new MarkdownString(`${localize('enabled remotely', "This extension is enabled in the Remote Extension Host because it prefers to run there.")} [${localize('learn more', "Learn More")}](https://aka.ms/vscode-remote/developing-extensions/architecture)`) }, true); </del> <ins> this.updateStatus({ icon: infoIcon, message: new MarkdownString(`${localize('enabled remotely', "This extension is enabled in the Remote Extension Host because it prefers to run there.")} [${localize('learn more', "Learn More")}](https://code.visualstudio.com/api/advanced-topics/remote-extensions#architecture-and-extension-kinds)`) }, true); </ins> } return; } if (this.extension.server === this.extensionManagementServerService.remoteExtensionManagementServer && runningExtensionServer === this.extensionManagementServerService.localExtensionManagementServer) { if (this.extensionManifestPropertiesService.prefersExecuteOnUI(this.extension.local.manifest)) { <del> this.updateStatus({ icon: infoIcon, message: new MarkdownString(`${localize('enabled locally', "This extension is enabled in the Local Extension Host because it prefers to run there.")} [${localize('learn more', "Learn More")}](https://aka.ms/vscode-remote/developing-extensions/architecture)`) }, true); </del> <ins> this.updateStatus({ icon: infoIcon, message: new MarkdownString(`${localize('enabled locally', "This extension is enabled in the Local Extension Host because it prefers to run there.")} [${localize('learn more', "Learn More")}](https://code.visualstudio.com/api/advanced-topics/remote-extensions#architecture-and-extension-kinds)`) }, true); </ins> } return; } if (this.extension.server === this.extensionManagementServerService.remoteExtensionManagementServer && runningExtensionServer === this.extensionManagementServerService.webExtensionManagementServer) { if (this.extensionManifestPropertiesService.canExecuteOnWeb(this.extension.local.manifest)) { <del> this.updateStatus({ icon: infoIcon, message: new MarkdownString(`${localize('enabled in web worker', "This extension is enabled in the Web Worker Extension Host because it prefers to run there.")} [${localize('learn more', "Learn More")}](https://aka.ms/vscode-remote/developing-extensions/architecture)`) }, true); </del> <ins> this.updateStatus({ icon: infoIcon, message: new MarkdownString(`${localize('enabled in web worker', "This extension is enabled in the Web Worker Extension Host because it prefers to run there.")} [${localize('learn more', "Learn More")}](https://code.visualstudio.com/api/advanced-topics/remote-extensions#architecture-and-extension-kinds)`) }, true); </ins> } return; }


Question:
Type: <bBug</bCC command works only from inside the Accessible View; it does not work when invokved from the code block area of the Copilot Chat View. VS Code version: Code - Insiders 1.88.0-insider (, 2024-03-25T05:49:32.344Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (119)</summaryExtensionVersion ------ vscode-openapi4.25.1 zotenote1.0.1 android-dev-ext1.4.0 aiprm-lang0.0.2 Bookmarks13.4.2 openscad1.2.2 spellright3.0.122 mermaid-markdown-syntax-highlighting1.6.0 doxdocgen1.4.0 vscode-markdownlint0.53.0 vscode-eslint2.4.4 vscode-quick-select0.2.9 vscode-deno3.35.1 gitlens14.6.1 EditorConfig0.16.4 prettier-vscode10.1.0 vscode-firefox-debug2.9.10 shell-format7.2.5 vscode-google-translate1.4.13 codespaces1.16.17 copilot1.175.784 copilot-chat0.14. remotehub0.62.0 vscode-github-actions0.26.2 vscode-pull-request-github0.85. cloudcode2.6.0 overleaf-workshop0.11.0 cslpreview0.2.2 easy-snippet0.7.5 path-autocomplete1.25.0 latex-workshop9.19.1 lilypond-syntax0.1.1 scheme0.2.0 better-cpp-syntax1.17.2 commitlint2.5.1 language-julia1.75.2 google-search0.0.1 vscode-lua-format1.3.8 lilypond-formatter0.2.3 lilypond-pdf-preview0.2.8 lilypond-snippets0.1.1 vslilypond1.7.3 git-graph1.30.0 azure-dev0.8.1 vscode-azureappservice0.25.2 vscode-azurecontainerapps0.6.1 vscode-azurefunctions1.14.0 vscode-azureresourcegroups0.8.3 vscode-azurestaticwebapps0.12.2 vscode-azurestorage0.15.3 vscode-azurevirtualmachines0.6.5 vscode-cosmosdb0.21.0 vscode-docker1.29.0 vscode-edge-devtools2.1.5 black-formatter2024.1. debugpy2024.3. flake82023.10.0 isort2023.13. python2024.3. vscode-pylance2023.12.103 jupyter2024.1. jupyter-keymap1.1.2 jupyter-renderers1.0.17 vscode-jupyter-cell-tags0.1.8 vscode-jupyter-slideshow0.1.5 remote-containers0.352.0 remote-ssh0.110. remote-ssh-edit0.86.0 remote-wsl0.81.8 vscode-remote-extensionpack0.25.0 azure-account0.11.6 azure-repos0.38.0 cmake-tools1.17.17 cpptools1.19.9 cpptools-extension-pack1.3.0 js-debug-nightly2024.3.2217 powershell2024.3.1 remote-explorer0.5. remote-repositories0.40.0 remote-server1.6. vscode-github-issue-notebooks0.0.130 vscode-node-azure-pack1.2.0 vscode-selfhost-test-provider0.3.25 vscode-serial-monitor0.11.0 vscode-speech0.7. vscode-speech-language-pack-ko-kr0.1.0 vsliveshare1.0.5918 windows-ai-studio0.2.4 autodocstring0.6.1 pandocciter0.10.4 shiny-python0.1.6 shinyuieditor0.5.0 quarto1.111.0 r-debugger0.5.4 java1.28.1 vscode-xml0.26.1 vscode-yaml1.14.0 r2.8.2 multi-command1.6.0 vscode-deepl1.1.1 abc-music0.4.0 lua3.7.4 latex-utilities0.4.13 cmake0.0.17 vscode-terminal-here0.2.4 windows-terminal0.7.0 errorlens3.16.0 intellicode-api-usage-examples0.2.8 vscodeintellicode1.2.30 vscode-conventional-commits1.25.0 vscode-arduino0.6. vscode-java-debug0.56.2 vscode-java-dependency0.23.5 vscode-java-pack0.25.15 vscode-java-test0.40.1 vscode-maven0.44.0 zotero-cite0.8.2 markdown-all-in-one3.6.2 grammarly0.25.0 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
I see this when I try that !
Looks like we should be overriding that or going with a different keybinding.
Note that this also doesn't work when in the accessible view. I believe has somehow worked around that by tweaking his keybindings / clauses.
You are correct. I had to tweak around my keybindings to make it work.

when: ContextKeyExpr.or(ContextKeyExpr.and(CONTEXT_IN_CHAT_SESSION, CONTEXT_IN_CHAT_INPUT.negate()), accessibleViewInCodeBlock), primary: KeyMod.CtrlCmd | KeyCode.Enter, mac: { primary: KeyMod.WinCtrl | KeyCode.Enter }, <del> weight: KeybindingWeight.WorkbenchContrib </del> <ins> weight: KeybindingWeight.ExternalExtension + 1 </ins> }, }); }


Question:
Just asked hi: ! Expected: ! Version: 1.88.0-insider (user setup) Commit: Date: 2024-03-25T05:49:32.344Z Electron: 28.2.6 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0. GitHub Copilot Chat v0.14. (pre-release)
because of
To verify configure have a very wide view port ask AI to change some code make sure the input widget is full width of the zone widget

// Only allow history navigation when the input is empty. // (If this model change happened as a result of a history navigation, this is canceled out by a call in this.navigateHistory) const model = this._inputEditor.getModel(); <del> const inputHasText = !!model && model.getValueLength() > 0; </del> <ins> const inputHasText = !!model && model.getValue().trim().length > 0; </ins> this.inputEditorHasText.set(inputHasText); // If the user is typing on a history entry, then reset the onHistoryEntry flag so that history navigation can be disabled


Question:
Just asked hi: ! Expected: ! Version: 1.88.0-insider (user setup) Commit: Date: 2024-03-25T05:49:32.344Z Electron: 28.2.6 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0. GitHub Copilot Chat v0.14. (pre-release)
because of
To verify configure have a very wide view port ask AI to change some code make sure the input widget is full width of the zone widget

import { editorBackground, editorForeground, inputBackground } from 'vs/platform/theme/common/colorRegistry'; import { ChatModel } from 'vs/workbench/contrib/chat/common/chatModel'; import { Range } from 'vs/editor/common/core/range'; <ins> import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; </ins> export class InlineChatContentWidget implements IContentWidget {


Question:
Just asked hi: ! Expected: ! Version: 1.88.0-insider (user setup) Commit: Date: 2024-03-25T05:49:32.344Z Electron: 28.2.6 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0. GitHub Copilot Chat v0.14. (pre-release)
because of
To verify configure have a very wide view port ask AI to change some code make sure the input widget is full width of the zone widget

constructor( private readonly _editor: ICodeEditor, @IInstantiationService instaService: IInstantiationService, <ins> @IContextKeyService contextKeyService: IContextKeyService, </ins> ) { this._defaultChatModel = this._store.add(instaService.createInstance(ChatModel, `inlineChatDefaultModel/editorContentWidgetPlaceholder`, undefined)); <del> this._widget = instaService.createInstance( </del> <ins> const scopedInstaService = instaService.createChild( new ServiceCollection([ IContextKeyService, this._store.add(contextKeyService.createScoped(this._domNode)) ]) ); this._widget = scopedInstaService.createInstance( </ins> ChatWidget, ChatAgentLocation.Editor, { resource: true },


Question:
Just asked hi: ! Expected: ! Version: 1.88.0-insider (user setup) Commit: Date: 2024-03-25T05:49:32.344Z Electron: 28.2.6 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0. GitHub Copilot Chat v0.14. (pre-release)
because of
To verify configure have a very wide view port ask AI to change some code make sure the input widget is full width of the zone widget

} return false; }); <del> if (refer && slashCommandLike) { </del> <ins> if (refer && slashCommandLike && !this._session.lastExchange) { </ins> this._log('[IE] seeing refer command, continuing outside editor', this._session.provider.extensionId); // cancel this request


Question:
Just asked hi: ! Expected: ! Version: 1.88.0-insider (user setup) Commit: Date: 2024-03-25T05:49:32.344Z Electron: 28.2.6 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0. GitHub Copilot Chat v0.14. (pre-release)
because of
To verify configure have a very wide view port ask AI to change some code make sure the input widget is full width of the zone widget

// if agent has a refer command, massage the input to include the agent name await this._instaService.invokeFunction(sendRequest, massagedInput); <del> if (!this._session.lastExchange) { // DONE when there wasn't any exchange yet. We used the inline chat only as trampoline return State.ACCEPT; } return State.WAIT_FOR_INPUT; </del> <ins> return State.ACCEPT; </ins> } this._session.addInput(new SessionPrompt(input, this._nextAttempt, this._nextWithIntentDetection));


Question:
Just asked hi: ! Expected: ! Version: 1.88.0-insider (user setup) Commit: Date: 2024-03-25T05:49:32.344Z Electron: 28.2.6 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0. GitHub Copilot Chat v0.14. (pre-release)
because of
To verify configure have a very wide view port ask AI to change some code make sure the input widget is full width of the zone widget

import { IChatService } from 'vs/workbench/contrib/chat/common/chatService'; import { setupCustomHover } from 'vs/base/browser/ui/hover/updatableHoverWidget'; import { getDefaultHoverDelegate } from 'vs/base/browser/ui/hover/hoverDelegateFactory'; <ins> import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; </ins> export interface InlineChatWidgetViewState {


Question:
Just asked hi: ! Expected: ! Version: 1.88.0-insider (user setup) Commit: Date: 2024-03-25T05:49:32.344Z Electron: 28.2.6 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0. GitHub Copilot Chat v0.14. (pre-release)
because of
To verify configure have a very wide view port ask AI to change some code make sure the input widget is full width of the zone widget

this._store.add(this._progressBar); let allowRequests = false; <del> this._chatWidget = _instantiationService.createInstance( </del> <ins> const scopedInstaService = _instantiationService.createChild( new ServiceCollection([ IContextKeyService, this._store.add(_contextKeyService.createScoped(this._elements.chatWidget)) ]) ); this._chatWidget = scopedInstaService.createInstance( </ins> ChatWidget, location, { resource: true },


Question:
Just asked hi: ! Expected: ! Version: 1.88.0-insider (user setup) Commit: Date: 2024-03-25T05:49:32.344Z Electron: 28.2.6 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0. GitHub Copilot Chat v0.14. (pre-release)
because of
To verify configure have a very wide view port ask AI to change some code make sure the input widget is full width of the zone widget

get contentHeight(): number { const data = { followUpsHeight: getTotalHeight(this._elements.followUps), <del> chatWidgetHeight: this._chatWidget.contentHeight, </del> <ins> chatWidgetContentHeight: this._chatWidget.contentHeight, </ins> progressHeight: getTotalHeight(this._elements.progress), statusHeight: getTotalHeight(this._elements.status), extraHeight: this._getExtraHeight() }; <del> const result = data.progressHeight + data.chatWidgetHeight + data.followUpsHeight + data.statusHeight + data.extraHeight; // console.log(`InlineChat#contentHeight ${result}`, data); </del> <ins> const result = data.progressHeight + data.chatWidgetContentHeight + data.followUpsHeight + data.statusHeight + data.extraHeight; </ins> return result; } <ins> get minHeight(): number { // The chat widget is variable height and supports scrolling. It // should be at least 100px high and at most the content height. let value = this.contentHeight; value -= this._chatWidget.contentHeight; value += Math.min(100, this._chatWidget.contentHeight); return value; } </ins> protected _getExtraHeight(): number { return 12 /* padding */ + 2 /*border*/ + 12 /*shadow*/; }


Question:
Just asked hi: ! Expected: ! Version: 1.88.0-insider (user setup) Commit: Date: 2024-03-25T05:49:32.344Z Electron: 28.2.6 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0. GitHub Copilot Chat v0.14. (pre-release)
because of
To verify configure have a very wide view port ask AI to change some code make sure the input widget is full width of the zone widget

const chatContentHeight = this.widget.contentHeight; const editorHeight = this.editor.getLayoutInfo().height; <del> const contentHeight = Math.min(chatContentHeight, editorHeight * 0.42); </del> <ins> const contentHeight = Math.min(chatContentHeight, Math.max(this.widget.minHeight, editorHeight * 0.42)); </ins> const heightInLines = contentHeight / this.editor.getOption(EditorOption.lineHeight); <del> // console.log('ZONE#_computeHeightInLines', { chatContentHeight, editorHeight, contentHeight, heightInLines }); </del> return heightInLines; }


Question:
Just asked hi: ! Expected: ! Version: 1.88.0-insider (user setup) Commit: Date: 2024-03-25T05:49:32.344Z Electron: 28.2.6 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0. GitHub Copilot Chat v0.14. (pre-release)
because of
To verify configure have a very wide view port ask AI to change some code make sure the input widget is full width of the zone widget

z-index: 3; } <ins> .monaco-workbench .zone-widget.inline-chat-widget .interactive-session { max-width: unset; } </ins> .monaco-workbench .zone-widget-container.inside-selection { background-color: var(--vscode-inlineChat-regionHighlight); }


Question:
Testing ! !
doesn't reproduce in the panel chat
I somehow suffer from this change which explicitly targets some monaco tokens...
This isn't nice but there's actually no other way to override the foreground color of an editor- because typically you have syntax highlighting. We do this for all the other "input box"-style editors. I think I opened a feature request when I did this. We should align this rule with your rule for coloring the decoration so that it can override it properly.
labeling so it gets verified
Thanks
in the latest insider's, still seeing this ! !
There is two separate issues with different steps. There is a difference between rendering of slash command and normal prompt text. the only useful/visible information in the original issue description is slash commands (please use words and not images to describe issues!). For verification you have not used slash commands but normal prompt text which is a different case. Please file a separate issue, use words/steps and don't rely on screen captures with just white on white text
Steps to reproduce/verify use HC light and dark theme open inline chat and type a slash command, e.d make sure the command is readable when selecting its text

background-color: var(--vscode-chat-list-background); } <ins> .interactive-item-container.interactive-request .header .monaco-toolbar { /* Take the partially-transparent background color override for request rows */ background-color: inherit; } </ins> .interactive-item-container .header .monaco-toolbar .checked.action-label, .interactive-item-container .header .monaco-toolbar .checked.action-label:hover { color: var(--vscode-inputOption-activeForeground) !important;


Question:
Testing ! !
doesn't reproduce in the panel chat
I somehow suffer from this change which explicitly targets some monaco tokens...
This isn't nice but there's actually no other way to override the foreground color of an editor- because typically you have syntax highlighting. We do this for all the other "input box"-style editors. I think I opened a feature request when I did this. We should align this rule with your rule for coloring the decoration so that it can override it properly.
labeling so it gets verified
Thanks
in the latest insider's, still seeing this ! !
There is two separate issues with different steps. There is a difference between rendering of slash command and normal prompt text. the only useful/visible information in the original issue description is slash commands (please use words and not images to describe issues!). For verification you have not used slash commands but normal prompt text which is a different case. Please file a separate issue, use words/steps and don't rely on screen captures with just white on white text
Steps to reproduce/verify use HC light and dark theme open inline chat and type a slash command, e.d make sure the command is readable when selecting its text

background-color: var(--vscode-inlineChat-regionHighlight); } <del> .monaco-workbench .inline-chat-slash-command { </del> <ins> .monaco-workbench .interactive-session .interactive-input-and-execute-toolbar .monaco-editor .inline-chat-slash-command { </ins> background-color: var(--vscode-chat-slashCommandBackground); <del> color: var(--vscode-chat-slashCommandForeground); </del> <ins> color: var(--vscode-chat-slashCommandForeground); /* Overrides the foreground color rule in chat.css */ </ins> border-radius: 4px; padding: 1px; }


Question: Testing In the screenshot below, "Chat: Insert at Cursor" should be "Chat: Insert into New File" !

private _getAccessibleViewHelpDialogContent(providerHasSymbols?: boolean): string { const navigationHint = this._getNavigationHint(); const goToSymbolHint = this._getGoToSymbolHint(providerHasSymbols); <del> const toolbarHint = localize('toolbar', "Navigate to the toolbar (Shift+Tab))."); </del> <ins> const toolbarHint = localize('toolbar', "Navigate to the toolbar (Shift+Tab)."); </ins> const chatHints = this._getChatHints(); let hint = localize('intro', "In the accessible view, you can:n");


Question: Testing In the screenshot below, "Chat: Insert at Cursor" should be "Chat: Insert into New File" !

if (insertIntoNewFileKb) { hint += localize('insertIntoNewFile', " - Insert the code block into a new file ({0}).n", insertIntoNewFileKb); } else { <del> hint += localize('insertIntoNewFileNoKb', " - Insert the code block into a new file by configuring a keybinding for the Chat: Insert at Cursor command.n"); </del> <ins> hint += localize('insertIntoNewFileNoKb', " - Insert the code block into a new file by configuring a keybinding for the Chat: Insert into New File command.n"); </ins> } if (runInTerminalKb) { hint += localize('runInTerminal', " - Run the code block in the terminal ({0}).n", runInTerminalKb);


Question: Testing In the screenshot below, "Chat: Insert at Cursor" should be "Chat: Insert into New File" !

let goToSymbolHint = ''; if (providerHasSymbols) { if (goToSymbolKb) { <del> goToSymbolHint = localize('goToSymbolHint', 'Go to a symbol ({0})', goToSymbolKb); </del> <ins> goToSymbolHint = localize('goToSymbolHint', 'Go to a symbol ({0}).', goToSymbolKb); </ins> } else { goToSymbolHint = localize('goToSymbolHintNoKb', 'To go to a symbol, configure a keybinding for the command Go To Symbol in Accessible View'); }


Question: Testing to filter e.g. Python Notice the non-extension entries remain at top Maybe this was by design, but I don't understand it. If I type python, don't I want to quickly select a python related entry?

// Add default items const productLabel = this.productService.nameLong; const marketPlaceLabel = localize("reportExtensionMarketplace", "Extension Marketplace"); <del> issuePicksConst.push( { label: productLabel, ariaLabel: productLabel, accept: () => this.commandService.executeCommand('workbench.action.openIssueReporter', { issueSource: IssueSource.VSCode }) }, { label: marketPlaceLabel, ariaLabel: marketPlaceLabel, accept: () => this.commandService.executeCommand('workbench.action.openIssueReporter', { issueSource: IssueSource.Marketplace }) }, { type: 'separator', label: localize('extensions', "Extensions") } ); </del> <ins> const productFilter = matchesFuzzy(filter, productLabel, true); const marketPlaceFilter = matchesFuzzy(filter, marketPlaceLabel, true); // Add product pick if product filter matches if (productFilter) { issuePicksConst.push({ label: productLabel, ariaLabel: productLabel, highlights: { label: productFilter }, accept: () => this.commandService.executeCommand('workbench.action.openIssueReporter', { issueSource: IssueSource.VSCode }) }); } // Add marketplace pick if marketplace filter matches if (marketPlaceFilter) { issuePicksConst.push({ label: marketPlaceLabel, ariaLabel: marketPlaceLabel, highlights: { label: marketPlaceFilter }, accept: () => this.commandService.executeCommand('workbench.action.openIssueReporter', { issueSource: IssueSource.Marketplace }) }); } issuePicksConst.push({ type: 'separator', label: localize('extensions', "Extensions") }); </ins> // creates menu from contributed const menu = this.menuService.createMenu(MenuId.IssueReporter, this.contextKeyService);


Question:
Note that both of these scenarios used to work. In the terminal inine chat, run a command like which yields just a chat message response. Try to tab to it. one cannot Run a command like which yields a code block response. Try to use to go from the input box to a code block response and vice versa. one cannot
Note that the keybindings are important because it's annoying as a SR /keyboard only user to have to tab through a bunch of things to reach the response.
This works for me, I do the following with success cmd+i, paste , press Enter wait for the response press tab repeatedly and reach the response
the tabbing part works for me in today's insider's
I'm able to spam Ctrl+Up on Windows to focus between the inputbox and the chat response, but I'm not able to spam Ctrl+Down to do the same. I'm unable to use either shortcut to focus from the inputbox directly into a code block within the chat response. Let me know if the behaviour is as expected or if there's some other steps I can follow.
I haven't tried windows yet. This won't directly focus the code editor, just the response.
this works on mac, could you pls try on windows?
The behavior seems wrong now and is quite disorienting: Input: ctrl+up will focus the response list ctrl+down will focus the response list Response list: ctrl+up does nothing ctrl+down does nothing Response code block: ctrl+up focuses the input ctrl+down focuses the response list I would expect: Input: ctrl+up does nothing ctrl+down will focus the response code block Response list: ctrl+up focuses the input Not sure? Response code block: ctrl+up focuses the input ctrl+down focuses the next code block, otherwise not sure
This issue was about cmdCtrl+up/down going between the response list and the input. This is unexpected, but unlikely to be attempted by the user IMO. Input: ctrlCmd+up will focus the response list This works on mac. Not sure why it doesn't on windows. Response list: ctrlCmd+up does nothing I didn't implement this yet, but can in April. Response code block: ctrl+up focuses the input ctrl+down focuses the response list
verified that this does work. I'm making a new issue about focusing the code block(s) and the bug with in the input focusing the list

return; } const contr = TerminalChatController.activeChatWidget || TerminalChatController.get(activeInstance); <del> contr?.chatWidget?.focusResponse(); </del> <ins> contr?.chatWidget?.inlineChatWidget.chatWidget.focusLastMessage(); </ins> } });


Question:
Note that both of these scenarios used to work. In the terminal inine chat, run a command like which yields just a chat message response. Try to tab to it. one cannot Run a command like which yields a code block response. Try to use to go from the input box to a code block response and vice versa. one cannot
Note that the keybindings are important because it's annoying as a SR /keyboard only user to have to tab through a bunch of things to reach the response.
This works for me, I do the following with success cmd+i, paste , press Enter wait for the response press tab repeatedly and reach the response
the tabbing part works for me in today's insider's
I'm able to spam Ctrl+Up on Windows to focus between the inputbox and the chat response, but I'm not able to spam Ctrl+Down to do the same. I'm unable to use either shortcut to focus from the inputbox directly into a code block within the chat response. Let me know if the behaviour is as expected or if there's some other steps I can follow.
I haven't tried windows yet. This won't directly focus the code editor, just the response.
this works on mac, could you pls try on windows?
The behavior seems wrong now and is quite disorienting: Input: ctrl+up will focus the response list ctrl+down will focus the response list Response list: ctrl+up does nothing ctrl+down does nothing Response code block: ctrl+up focuses the input ctrl+down focuses the response list I would expect: Input: ctrl+up does nothing ctrl+down will focus the response code block Response list: ctrl+up focuses the input Not sure? Response code block: ctrl+up focuses the input ctrl+down focuses the next code block, otherwise not sure
This issue was about cmdCtrl+up/down going between the response list and the input. This is unexpected, but unlikely to be attempted by the user IMO. Input: ctrlCmd+up will focus the response list This works on mac. Not sure why it doesn't on windows. Response list: ctrlCmd+up does nothing I didn't implement this yet, but can in April. Response code block: ctrl+up focuses the input ctrl+down focuses the response list
verified that this does work. I'm making a new issue about focusing the code block(s) and the bug with in the input focusing the list

focus(): void { this._inlineChatWidget.focus(); } <del> focusResponse(): void { const responseElement = this._inlineChatWidget.domNode.querySelector(ChatElementSelectors.ResponseEditor) || this._inlineChatWidget.domNode.querySelector(ChatElementSelectors.ResponseMessage); if (responseElement instanceof HTMLElement) { responseElement.focus(); } } </del> hasFocus(): boolean { return this._inlineChatWidget.hasFocus(); }


Question:
Note that both of these scenarios used to work. In the terminal inine chat, run a command like which yields just a chat message response. Try to tab to it. one cannot Run a command like which yields a code block response. Try to use to go from the input box to a code block response and vice versa. one cannot
Note that the keybindings are important because it's annoying as a SR /keyboard only user to have to tab through a bunch of things to reach the response.
This works for me, I do the following with success cmd+i, paste , press Enter wait for the response press tab repeatedly and reach the response
the tabbing part works for me in today's insider's
I'm able to spam Ctrl+Up on Windows to focus between the inputbox and the chat response, but I'm not able to spam Ctrl+Down to do the same. I'm unable to use either shortcut to focus from the inputbox directly into a code block within the chat response. Let me know if the behaviour is as expected or if there's some other steps I can follow.
I haven't tried windows yet. This won't directly focus the code editor, just the response.
this works on mac, could you pls try on windows?
The behavior seems wrong now and is quite disorienting: Input: ctrl+up will focus the response list ctrl+down will focus the response list Response list: ctrl+up does nothing ctrl+down does nothing Response code block: ctrl+up focuses the input ctrl+down focuses the response list I would expect: Input: ctrl+up does nothing ctrl+down will focus the response code block Response list: ctrl+up focuses the input Not sure? Response code block: ctrl+up focuses the input ctrl+down focuses the next code block, otherwise not sure
This issue was about cmdCtrl+up/down going between the response list and the input. This is unexpected, but unlikely to be attempted by the user IMO. Input: ctrlCmd+up will focus the response list This works on mac. Not sure why it doesn't on windows. Response list: ctrlCmd+up does nothing I didn't implement this yet, but can in April. Response code block: ctrl+up focuses the input ctrl+down focuses the response list
verified that this does work. I'm making a new issue about focusing the code block(s) and the bug with in the input focusing the list

} } <del> const enum ChatElementSelectors { ResponseEditor = '.chatMessageContent textarea', ResponseMessage = '.chatMessageContent', } </del>


Question: using Default Light + theme run peek references <img width="978" alt="Screenshot 2024-03-26 at 17 30 37" src=""

// Import the effects we need import { Color } from 'vs/base/common/color'; <del> import { registerColor, darken, lighten, ifDefinedThenElse, transparent } from 'vs/platform/theme/common/colorUtils'; </del> <ins> import { registerColor, darken, lighten, transparent } from 'vs/platform/theme/common/colorUtils'; </ins> // Import the colors we need import { foreground, contrastBorder, activeContrastBorder, focusBorder, iconForeground } from 'vs/platform/theme/common/colors/baseColors';


Question: using Default Light + theme run peek references <img width="978" alt="Screenshot 2024-03-26 at 17 30 37" src=""

nls.localize('highlight', 'List/Tree foreground color of the match highlights when searching inside the list/tree.')); export const listFocusHighlightForeground = registerColor('list.focusHighlightForeground', <del> { dark: listHighlightForeground, light: ifDefinedThenElse(listActiveSelectionBackground, listHighlightForeground, '#BBE7FF'), hcDark: listHighlightForeground, hcLight: listHighlightForeground }, </del> <ins> { dark: listHighlightForeground, light: listHighlightForeground, hcDark: listHighlightForeground, hcLight: listHighlightForeground }, </ins> nls.localize('listFocusHighlightForeground', 'List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree.')); export const listInvalidItemForeground = registerColor('list.invalidItemForeground',


Question:
Sometimes the default width for inline chat seems very wide: <img width="854" alt="image" src=""Maybe it could grow while typing and or allow to be resized.
decided against dynamic and going with a more reasonable default width of 360px

import { Emitter, Event } from 'vs/base/common/event'; import { DisposableStore } from 'vs/base/common/lifecycle'; import { IPosition, Position } from 'vs/editor/common/core/position'; <del> import { clamp } from 'vs/base/common/numbers'; </del> import { renderLabelWithIcons } from 'vs/base/browser/ui/iconLabel/iconLabels'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { inlineChatBackground } from 'vs/workbench/contrib/inlineChat/common/inlineChat';


Question:
Sometimes the default width for inline chat seems very wide: <img width="854" alt="image" src=""Maybe it could grow while typing and or allow to be resized.
decided against dynamic and going with a more reasonable default width of 360px

import { Range } from 'vs/editor/common/core/range'; import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; <ins> import { EditorOption } from 'vs/editor/common/config/editorOptions'; </ins> export class InlineChatContentWidget implements IContentWidget {


Question:
Sometimes the default width for inline chat seems very wide: <img width="854" alt="image" src=""Maybe it could grow while typing and or allow to be resized.
decided against dynamic and going with a more reasonable default width of 360px

beforeRender(): IDimension | null { <del> const contentWidth = this._editor.getLayoutInfo().contentWidth; const minWidth = Math.round(contentWidth * 0.38); const maxWidth = Math.round(contentWidth * 0.82); const width = clamp(220, minWidth, maxWidth); </del> <ins> const maxHeight = this._widget.input.inputEditor.getOption(EditorOption.lineHeight) * 5; </ins> const inputEditorHeight = this._widget.inputEditor.getContentHeight(); <del> this._widget.inputEditor.layout(new dom.Dimension(width, inputEditorHeight)); </del> <ins> this._widget.inputEditor.layout(new dom.Dimension(360, Math.min(maxHeight, inputEditorHeight))); </ins> // const actualHeight = this._widget.inputPartHeight; // return new dom.Dimension(width, actualHeight);


Question:
Sometimes the default width for inline chat seems very wide: <img width="854" alt="image" src=""Maybe it could grow while typing and or allow to be resized.
decided against dynamic and going with a more reasonable default width of 360px

display: none; } <ins> .monaco-workbench .inline-chat-content-widget.interactive-session .interactive-session { max-width: unset; } </ins> .monaco-workbench .inline-chat-content-widget.interactive-session .interactive-input-part .interactive-execute-toolbar { margin-bottom: 1px; }


Question: Testing Sometimes when I hovered over the button it would show the hover of that button over the button. When moving down to the button it would close the editor hover sometimes because the mouse would move over the hover. This could be solved by setting an anchor for the and hovers

import { Codicon } from 'vs/base/common/codicons'; import { ThemeIcon } from 'vs/base/common/themables'; import { onUnexpectedExternalError } from 'vs/base/common/errors'; <del> import { getDefaultHoverDelegate } from 'vs/base/browser/ui/hover/hoverDelegateFactory'; </del> import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; <del> import { ClickAction, KeyDownAction } from 'vs/base/browser/ui/hover/hoverWidget'; </del> <ins> import { ClickAction, HoverPosition, KeyDownAction } from 'vs/base/browser/ui/hover/hoverWidget'; </ins> import { KeyCode } from 'vs/base/common/keyCodes'; <del> import { IHoverService } from 'vs/platform/hover/browser/hover'; </del> <ins> import { IHoverService, WorkbenchHoverDelegate } from 'vs/platform/hover/browser/hover'; </ins> import { AsyncIterableObject } from 'vs/base/common/async'; import { LanguageFeatureRegistry } from 'vs/editor/common/languageFeatureRegistry'; import { getHoverProviderResultsAsAsyncIterable } from 'vs/editor/contrib/hover/browser/getHover';


Question: Testing Sometimes when I hovered over the button it would show the hover of that button over the button. When moving down to the button it would close the editor hover sometimes because the mouse would move over the hover. This could be solved by setting an anchor for the and hovers

this._openerService, this._keybindingService, this._hoverService, <ins> this._configurationService, </ins> context.onContentsChanged ); return this._renderedHoverParts;


Question: Testing Sometimes when I hovered over the button it would show the hover of that button over the button. When moving down to the button it would close the editor hover sometimes because the mouse would move over the hover. This could be solved by setting an anchor for the and hovers

private readonly _openerService: IOpenerService, private readonly _keybindingService: IKeybindingService, private readonly _hoverService: IHoverService, <ins> private readonly _configurationService: IConfigurationService, </ins> private readonly _onFinishedRendering: () => void, ) { super();


Question: Testing Sometimes when I hovered over the button it would show the hover of that button over the button. When moving down to the button it would close the editor hover sometimes because the mouse would move over the hover. This could be solved by setting an anchor for the and hovers

const isActionIncrease = action === HoverVerbosityAction.Increase; const actionElement = dom.append(container, $(ThemeIcon.asCSSSelector(isActionIncrease ? increaseHoverVerbosityIcon : decreaseHoverVerbosityIcon))); actionElement.tabIndex = 0; <ins> const hoverDelegate = new WorkbenchHoverDelegate('mouse', false, { target: container, position: { hoverPosition: HoverPosition.LEFT } }, this._configurationService, this._hoverService); </ins> if (isActionIncrease) { const kb = this._keybindingService.lookupKeybinding(INCREASE_HOVER_VERBOSITY_ACTION_ID); <del> store.add(this._hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), actionElement, kb ? </del> <ins> store.add(this._hoverService.setupUpdatableHover(hoverDelegate, actionElement, kb ? </ins> nls.localize('increaseVerbosityWithKb', "Increase Verbosity ({0})", kb.getLabel()) : nls.localize('increaseVerbosity', "Increase Verbosity"))); } else { const kb = this._keybindingService.lookupKeybinding(DECREASE_HOVER_VERBOSITY_ACTION_ID); <del> store.add(this._hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), actionElement, kb ? </del> <ins> store.add(this._hoverService.setupUpdatableHover(hoverDelegate, actionElement, kb ? </ins> nls.localize('decreaseVerbosityWithKb', "Decrease Verbosity ({0})", kb.getLabel()) : nls.localize('decreaseVerbosity', "Decrease Verbosity"))); }


Question:
Testing The keybinding does not work on windows due to quick open. Also the keybinding collides with the command. I wonder if this could be solved without registering keybindings. One idea could be that when the hover is focused the user could just use and on the keyboard to increase and decrease the hover (possibly also arrow keys could work). Make sure to mention in the hover of the increase and decrease actions what the keybinding or keyboard key is.
That's a very good point. I think we would still want ideally the + and - to be linked to keybindings so they can be configured by the user. I'll remove the keybindings, so they can simply be set by the users if they so wish. The current code already renders the keybindings if they are set: Perhaps they are not fetched correctly in your case because of the keybinding collisions. !

comment: ['Label for action that will increase the hover verbosity level.'] }, "Increase Hover Verbosity Level"), alias: 'Increase Hover Verbosity Level', <del> precondition: EditorContextKeys.hoverFocused, kbOpts: { kbExpr: EditorContextKeys.hoverFocused, primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KeyK, KeyMod.CtrlCmd | KeyCode.KeyP), weight: KeybindingWeight.EditorContrib } </del> <ins> precondition: EditorContextKeys.hoverFocused </ins> }); }


Question:
Testing The keybinding does not work on windows due to quick open. Also the keybinding collides with the command. I wonder if this could be solved without registering keybindings. One idea could be that when the hover is focused the user could just use and on the keyboard to increase and decrease the hover (possibly also arrow keys could work). Make sure to mention in the hover of the increase and decrease actions what the keybinding or keyboard key is.
That's a very good point. I think we would still want ideally the + and - to be linked to keybindings so they can be configured by the user. I'll remove the keybindings, so they can simply be set by the users if they so wish. The current code already renders the keybindings if they are set: Perhaps they are not fetched correctly in your case because of the keybinding collisions. !

comment: ['Label for action that will decrease the hover verbosity level.'] }, "Decrease Hover Verbosity Level"), alias: 'Decrease Hover Verbosity Level', <del> precondition: EditorContextKeys.hoverFocused, kbOpts: { kbExpr: EditorContextKeys.hoverFocused, primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KeyK, KeyMod.CtrlCmd | KeyCode.KeyM), weight: KeybindingWeight.EditorContrib } </del> <ins> precondition: EditorContextKeys.hoverFocused </ins> }); }


Question:
Testing on Linux I have 2 monitors: primary and secondary. I opened VS Code and maximized it on my secondary monitor. Then I dragged an aux window out and maximized it on my primary monitor. After closing and reopening VS Code, the maximized state of both my main window and my aux window were restored, but both were on my secondary monitor. The aux window was on top. I'm using Remote Desktop + Hyper V, so maybe something is going on there: Remote Desktop from Windows to another Windows machine. Hyper V to an Ubuntu VM.
Looks like which monitor is primary and which is secondary doesn't seem to matter as the same thing happens when swap the windows that aux and main are on.
I also experienced a variant of this: Main VS Code window maximized in primary monitor, 1 aux window maximized in primary monitor, 1 aux window maximized in secondary monitor Close VS Code Reopen VS Code All 3 windows (main and aux) are restored to max, but they're all restored to my primary monitor I'm testing on Windows 11 Insiders.

const fullscreen = isFullscreen(this.window); return { ...state, <del> bounds: this.maximized ? undefined : state.bounds, // ignore if maximized (fullscreen is not yet supported!) </del> <ins> bounds: state.bounds, </ins> mode: this.maximized ? AuxiliaryWindowMode.Maximized : fullscreen ? AuxiliaryWindowMode.Fullscreen : AuxiliaryWindowMode.Normal }; }


Question: Testing Steps: Use Windows PowerShell (not PowerShell Core) Turn on the terminal intellisense Type stuff is to the terminal

$completionPrefix = $commandLine # Get completions <del> $result = "`e]633;Completions" </del> <ins> $result = "$([char]0x1b)]633;Completions" </ins> if ($completionPrefix.Length -gt 0) { # Get and send completions $completions = TabExpansion2 -inputScript $completionPrefix -cursorColumn $cursorIndex


Question:
Testing ! This happened when updating the file on disk outside of vscode, I'll try to find a consistent repro
a notebook with several markdown headers in insiders the same notebook in stable and add a header :bug: outline in insiders is not updated (stable does update when doing this in reverse) a different markdown header in insiders :bug: screencheese
!
Thanks I can replicate this issue.
Giving the issue back to Aaron to verify. My Python install's a bit broken.

import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IMarkerService } from 'vs/platform/markers/common/markers'; import { IThemeService } from 'vs/platform/theme/common/themeService'; <del> import { IActiveNotebookEditor, ICellViewModel, INotebookEditor, type INotebookViewCellsUpdateEvent } from 'vs/workbench/contrib/notebook/browser/notebookBrowser'; </del> <ins> import { IActiveNotebookEditor, ICellViewModel, INotebookEditor } from 'vs/workbench/contrib/notebook/browser/notebookBrowser'; </ins> import { CellKind, NotebookCellsChangeType, NotebookSetting } from 'vs/workbench/contrib/notebook/common/notebookCommon'; import { INotebookExecutionStateService, NotebookExecutionType } from 'vs/workbench/contrib/notebook/common/notebookExecutionStateService'; import { OutlineChangeEvent, OutlineConfigKeys, OutlineTarget } from 'vs/workbench/services/outline/browser/outline';


Question:
Testing ! This happened when updating the file on disk outside of vscode, I'll try to find a consistent repro
a notebook with several markdown headers in insiders the same notebook in stable and add a header :bug: outline in insiders is not updated (stable does update when doing this in reverse) a different markdown header in insiders :bug: screencheese
!
Thanks I can replicate this issue.
Giving the issue back to Aaron to verify. My Python install's a bit broken.

private _uri: URI | undefined; private _entries: OutlineEntry[] = []; get entries(): OutlineEntry[] { <ins> if (this.delayedOutlineRecompute.isTriggered()) { this.delayedOutlineRecompute.cancel(); this._recomputeState(); } </ins> return this._entries; }


Question:
Testing ! This happened when updating the file on disk outside of vscode, I'll try to find a consistent repro
a notebook with several markdown headers in insiders the same notebook in stable and add a header :bug: outline in insiders is not updated (stable does update when doing this in reverse) a different markdown header in insiders :bug: screencheese
!
Thanks I can replicate this issue.
Giving the issue back to Aaron to verify. My Python install's a bit broken.

readonly outlineKind = 'notebookCells'; get activeElement(): OutlineEntry | undefined { <ins> if (this.delayedOutlineRecompute.isTriggered()) { this.delayedOutlineRecompute.cancel(); this._recomputeState(); } </ins> return this._activeEntry; } private readonly _outlineEntryFactory: NotebookOutlineEntryFactory; <del> private readonly delayRecomputeActive: () => void; </del> <ins> private readonly delayedOutlineRecompute: Delayer<void>;; </ins> constructor( private readonly _editor: INotebookEditor, private readonly _target: OutlineTarget,


Question:
Testing ! This happened when updating the file on disk outside of vscode, I'll try to find a consistent repro
a notebook with several markdown headers in insiders the same notebook in stable and add a header :bug: outline in insiders is not updated (stable does update when doing this in reverse) a different markdown header in insiders :bug: screencheese
!
Thanks I can replicate this issue.
Giving the issue back to Aaron to verify. My Python install's a bit broken.

@IConfigurationService private readonly _configurationService: IConfigurationService, ) { this._outlineEntryFactory = new NotebookOutlineEntryFactory(notebookExecutionStateService); <del> const delayerRecomputeActive = this._disposables.add(new Delayer(10)); this.delayRecomputeActive = () => delayerRecomputeActive.trigger(() => this._recomputeActive()); this._disposables.add(Event.debounce<void, void>( _editor.onDidChangeSelection, (last, _current) => last, 200 )(() => { this.delayRecomputeActive(); </del> <ins> const delayerRecomputeActive = this._disposables.add(new Delayer(200)); this._disposables.add(_editor.onDidChangeSelection(() => { delayerRecomputeActive.trigger(() => this._recomputeActive()); </ins> }, this)) <del> this._disposables.add(Event.debounce<INotebookViewCellsUpdateEvent, INotebookViewCellsUpdateEvent>( _editor.onDidChangeViewCells, (last, _current) => last ?? _current, 200 )(() => { this.delayRecomputeActive(); }, this) ); </del> // .3s of a delay is sufficient, 100-200s is too quick and will unnecessarily block the ui thread. // Given we're only updating the outline when the user types, we can afford to wait a bit. <del> const delayer = this._disposables.add(new Delayer<void>(300)); const delayedRecompute = () => delayer.trigger(() => this._recomputeState()); </del> <ins> this.delayedOutlineRecompute = this._disposables.add(new Delayer<void>(300)); const delayedRecompute = () => { delayerRecomputeActive.cancel(); // Active is always recomputed after a recomputing the outline state. this.delayedOutlineRecompute.trigger(() => this._recomputeState()); }; </ins> this._disposables.add(_configurationService.onDidChangeConfiguration(e => { if (e.affectsConfiguration(NotebookSetting.outlineShowMarkdownHeadersOnly) ||


Question:
Testing ! This happened when updating the file on disk outside of vscode, I'll try to find a consistent repro
a notebook with several markdown headers in insiders the same notebook in stable and add a header :bug: outline in insiders is not updated (stable does update when doing this in reverse) a different markdown header in insiders :bug: screencheese
!
Thanks I can replicate this issue.
Giving the issue back to Aaron to verify. My Python install's a bit broken.

return; } disposable.add(this._editor.textModel.onDidChangeContent(contentChanges => { <del> if (contentChanges.rawEvents.some(c => c.kind === NotebookCellsChangeType.ChangeCellContent)) { </del> <ins> if (contentChanges.rawEvents.some(c => c.kind === NotebookCellsChangeType.ChangeCellContent || c.kind === NotebookCellsChangeType.ChangeCellInternalMetadata || c.kind === NotebookCellsChangeType.Move || c.kind === NotebookCellsChangeType.ModelChange)) { </ins> delayedRecompute(); } }));


Question:
Testing ! This happened when updating the file on disk outside of vscode, I'll try to find a consistent repro
a notebook with several markdown headers in insiders the same notebook in stable and add a header :bug: outline in insiders is not updated (stable does update when doing this in reverse) a different markdown header in insiders :bug: screencheese
!
Thanks I can replicate this issue.
Giving the issue back to Aaron to verify. My Python install's a bit broken.

} })); <del> this.delayRecomputeActive(); </del> <ins> this._recomputeActive(); </ins> } private _recomputeActive(): { changeEventTriggered: boolean } {


Question: It seems that works workspace-relative unless an absolute glob pattern is used. I would clarify that from the settings description.

let customEditorLabelDescription = localize('workbench.editor.label.patterns', "Controls the rendering of the editor label. Each __Item__ is a pattern that matches a file path. Both relative and absolute file paths are supported. In case multiple patterns match, the longest matching path will be picked. Each __Value__ is the template for the rendered editor when the __Item__ matches. Variables are substituted based on the context:"); customEditorLabelDescription += 'n- ' + [ localize('workbench.editor.label.dirname', "`${dirname}`: name of the folder in which the file is located (e.g. `root/folder/file.txt -> folder`)."), <del> localize('workbench.editor.label.nthdirname', "`${dirname(N)}`: name of the nth parent folder in which the file is located (e.g. `N=1: root/folder/file.txt -> root`)."), </del> <ins> localize('workbench.editor.label.nthdirname', "`${dirname(N)}`: name of the nth parent folder in which the file is located (e.g. `N=1: root/folder/file.txt -> root`). Folders can be picked from the start of the path by using negative numbers (e.g. `N=-1: root/folder/file.txt -> root`). If the __Item__ is an absolute pattern path, the first folder (`N=-1`) refers to the first folder in the absoulte path, otherwise it corresponds to the workspace folder."), </ins> localize('workbench.editor.label.filename', "`${filename}`: name of the file without the file extension (e.g. `root/folder/file.txt -> file`)."), localize('workbench.editor.label.extname', "`${extname}`: the file extension (e.g. `root/folder/file.txt -> txt`)."), ].join('n- '); // intentionally concatenated to not produce a string that is too long for translations


Question:
Type: <bBug</ban existing remote project an embedded terminal in VSC "PORTS" tab shows 51 ports This is a vanilla-flavored nodejs service that uses one dedicated port determined by the remote environment (an AWS EC2 instance running Rocky Linux) -- and that dedicated port is not opened until the service is started. I expect at most 2-3 ports to be open at any one time. VS Code version: Code 1.88.1 (, 2024-04-10T17:41:02.734Z) OS version: WindowsNT x64 10.0. Modes: Remote OS version: Linux x64 4.18.0-477.27.1.el88.x8664 <details<summarySystem Info</summary </details<details<summaryExtensions (12)</summaryExtensionVersion ------ remote-ssh0.110.1 remote-ssh-edit0.86.0 remote-explorer0.4.3 java1.30.0 intellicode-api-usage-examples0.2.8 vscodeintellicode1.3.1 vscode-java-debug0.57.0 vscode-java-dependency0.23.6 vscode-java-pack0.26.0 vscode-java-test0.41.1 vscode-maven0.44.0 markdown-pdf1.5.0 </details<!-- generated by issue reporter --
Can you connect to your remote then share the following: the value of the setting the value of the setting A screen shot of the Ports view
I appreciate your prompt attention, thanks for looking at this. As you can see in the attached "Ports view", this morning there were 53 open ports at startup. I've attached a screenshot of the "Settings" view (searching for "remote.autoForwardPorts") and the "Ports view". I looked in the local "" (in ) and see no settings with the two names you requested. I similarly found nothing in the relevant "" file(s) on the remote server. Hopefully the attached screenshot of the "Settings" view provides the information you requested. ! Settings ! Ports view
is it possible you at some point ran something that listened on each of those ports? By default, VS Code will auto forward ports, but with the setting set to , which is what you have, we don't know when to stop forwarding the port. We also restore ports (setting ). I think the best thing we can do is change the default for SSH for to , which will let us know when to stop forwarding. I've made the appropriate PRs to get that changed.
If something ran that was listening on those ports, it was unknown to me. I don't knowingly do anything with ports on the local (Windows 10 pro) system. I manage multiple ports on the remote system, but each has a 4-digit port number. An aspect that may be of interest is that the startup behavior seems to be specific to this remote folder (). When I use VSC to open a sibling on the remote host (), the embedded terminal shows no forwarded ports at all. Screenshots below show this behavior. ! Startup VSC on ~/tms/backend/gate ! Ports view on ~/tms/backend/gate
We restore ports based on the folder, so it makes sense that you're seeing different ports depending on which folder you have open.
Hmm. It seems likely that at some point something was running and listening on those ports, otherwise we wouldn't have found them and auto forwarded them. I think the change to use by default that I mentioned above will resolve your issue in the future, but for now, I would suggest you unforward all those ports and set to .
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!

import { MainThreadTunnelServiceShape, MainContext, ExtHostContext, ExtHostTunnelServiceShape, CandidatePortSource, PortAttributesSelector, TunnelDto } from 'vs/workbench/api/common/extHost.protocol'; import { TunnelDtoConverter } from 'vs/workbench/api/common/extHostTunnelService'; import { extHostNamedCustomer, IExtHostContext } from 'vs/workbench/services/extensions/common/extHostCustomers'; <del> import { IRemoteExplorerService, PORT_AUTO_FORWARD_SETTING, PORT_AUTO_SOURCE_SETTING, PORT_AUTO_SOURCE_SETTING_OUTPUT } from 'vs/workbench/services/remote/common/remoteExplorerService'; </del> <ins> import { IRemoteExplorerService, PORT_AUTO_FORWARD_SETTING, PORT_AUTO_SOURCE_SETTING, PORT_AUTO_SOURCE_SETTING_HYBRID, PORT_AUTO_SOURCE_SETTING_OUTPUT } from 'vs/workbench/services/remote/common/remoteExplorerService'; </ins> import { ITunnelProvider, ITunnelService, TunnelCreationOptions, TunnelProviderFeatures, TunnelOptions, RemoteTunnel, ProvidedPortAttributes, PortAttributesProvider, TunnelProtocol } from 'vs/platform/tunnel/common/tunnel'; import { Disposable } from 'vs/base/common/lifecycle'; import type { TunnelDescription } from 'vs/platform/remote/common/remoteAuthorityResolver';


Question:
Type: <bBug</ban existing remote project an embedded terminal in VSC "PORTS" tab shows 51 ports This is a vanilla-flavored nodejs service that uses one dedicated port determined by the remote environment (an AWS EC2 instance running Rocky Linux) -- and that dedicated port is not opened until the service is started. I expect at most 2-3 ports to be open at any one time. VS Code version: Code 1.88.1 (, 2024-04-10T17:41:02.734Z) OS version: WindowsNT x64 10.0. Modes: Remote OS version: Linux x64 4.18.0-477.27.1.el88.x8664 <details<summarySystem Info</summary </details<details<summaryExtensions (12)</summaryExtensionVersion ------ remote-ssh0.110.1 remote-ssh-edit0.86.0 remote-explorer0.4.3 java1.30.0 intellicode-api-usage-examples0.2.8 vscodeintellicode1.3.1 vscode-java-debug0.57.0 vscode-java-dependency0.23.6 vscode-java-pack0.26.0 vscode-java-test0.41.1 vscode-maven0.44.0 markdown-pdf1.5.0 </details<!-- generated by issue reporter --
Can you connect to your remote then share the following: the value of the setting the value of the setting A screen shot of the Ports view
I appreciate your prompt attention, thanks for looking at this. As you can see in the attached "Ports view", this morning there were 53 open ports at startup. I've attached a screenshot of the "Settings" view (searching for "remote.autoForwardPorts") and the "Ports view". I looked in the local "" (in ) and see no settings with the two names you requested. I similarly found nothing in the relevant "" file(s) on the remote server. Hopefully the attached screenshot of the "Settings" view provides the information you requested. ! Settings ! Ports view
is it possible you at some point ran something that listened on each of those ports? By default, VS Code will auto forward ports, but with the setting set to , which is what you have, we don't know when to stop forwarding the port. We also restore ports (setting ). I think the best thing we can do is change the default for SSH for to , which will let us know when to stop forwarding. I've made the appropriate PRs to get that changed.
If something ran that was listening on those ports, it was unknown to me. I don't knowingly do anything with ports on the local (Windows 10 pro) system. I manage multiple ports on the remote system, but each has a 4-digit port number. An aspect that may be of interest is that the startup behavior seems to be specific to this remote folder (). When I use VSC to open a sibling on the remote host (), the embedded terminal shows no forwarded ports at all. Screenshots below show this behavior. ! Startup VSC on ~/tms/backend/gate ! Ports view on ~/tms/backend/gate
We restore ports based on the folder, so it makes sense that you're seeing different ports depending on which folder you have open.
Hmm. It seems likely that at some point something was running and listening on those ports, otherwise we wouldn't have found them and auto forwarded them. I think the change to use by default that I mentioned above will resolve your issue in the future, but for now, I would suggest you unforward all those ports and set to .
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!

.registerDefaultConfigurations([{ overrides: { 'remote.autoForwardPortsSource': PORT_AUTO_SOURCE_SETTING_OUTPUT } }]); break; } <ins> case CandidatePortSource.Hybrid: { Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration) .registerDefaultConfigurations([{ overrides: { 'remote.autoForwardPortsSource': PORT_AUTO_SOURCE_SETTING_HYBRID } }]); break; } </ins> default: // Do nothing, the defaults for these settings should be used. } }).catch(() => {


Question:
Type: <bBug</ban existing remote project an embedded terminal in VSC "PORTS" tab shows 51 ports This is a vanilla-flavored nodejs service that uses one dedicated port determined by the remote environment (an AWS EC2 instance running Rocky Linux) -- and that dedicated port is not opened until the service is started. I expect at most 2-3 ports to be open at any one time. VS Code version: Code 1.88.1 (, 2024-04-10T17:41:02.734Z) OS version: WindowsNT x64 10.0. Modes: Remote OS version: Linux x64 4.18.0-477.27.1.el88.x8664 <details<summarySystem Info</summary </details<details<summaryExtensions (12)</summaryExtensionVersion ------ remote-ssh0.110.1 remote-ssh-edit0.86.0 remote-explorer0.4.3 java1.30.0 intellicode-api-usage-examples0.2.8 vscodeintellicode1.3.1 vscode-java-debug0.57.0 vscode-java-dependency0.23.6 vscode-java-pack0.26.0 vscode-java-test0.41.1 vscode-maven0.44.0 markdown-pdf1.5.0 </details<!-- generated by issue reporter --
Can you connect to your remote then share the following: the value of the setting the value of the setting A screen shot of the Ports view
I appreciate your prompt attention, thanks for looking at this. As you can see in the attached "Ports view", this morning there were 53 open ports at startup. I've attached a screenshot of the "Settings" view (searching for "remote.autoForwardPorts") and the "Ports view". I looked in the local "" (in ) and see no settings with the two names you requested. I similarly found nothing in the relevant "" file(s) on the remote server. Hopefully the attached screenshot of the "Settings" view provides the information you requested. ! Settings ! Ports view
is it possible you at some point ran something that listened on each of those ports? By default, VS Code will auto forward ports, but with the setting set to , which is what you have, we don't know when to stop forwarding the port. We also restore ports (setting ). I think the best thing we can do is change the default for SSH for to , which will let us know when to stop forwarding. I've made the appropriate PRs to get that changed.
If something ran that was listening on those ports, it was unknown to me. I don't knowingly do anything with ports on the local (Windows 10 pro) system. I manage multiple ports on the remote system, but each has a 4-digit port number. An aspect that may be of interest is that the startup behavior seems to be specific to this remote folder (). When I use VSC to open a sibling on the remote host (), the embedded terminal shows no forwarded ports at all. Screenshots below show this behavior. ! Startup VSC on ~/tms/backend/gate ! Ports view on ~/tms/backend/gate
We restore ports based on the folder, so it makes sense that you're seeing different ports depending on which folder you have open.
Hmm. It seems likely that at some point something was running and listening on those ports, otherwise we wouldn't have found them and auto forwarded them. I think the change to use by default that I mentioned above will resolve your issue in the future, but for now, I would suggest you unforward all those ports and set to .
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!

export enum CandidatePortSource { None = 0, Process = 1, <del> Output = 2 </del> <ins> Output = 2, Hybrid = 3 </ins> } export interface PortAttributesSelector {


Question:
Type: <bBug</ban existing remote project an embedded terminal in VSC "PORTS" tab shows 51 ports This is a vanilla-flavored nodejs service that uses one dedicated port determined by the remote environment (an AWS EC2 instance running Rocky Linux) -- and that dedicated port is not opened until the service is started. I expect at most 2-3 ports to be open at any one time. VS Code version: Code 1.88.1 (, 2024-04-10T17:41:02.734Z) OS version: WindowsNT x64 10.0. Modes: Remote OS version: Linux x64 4.18.0-477.27.1.el88.x8664 <details<summarySystem Info</summary </details<details<summaryExtensions (12)</summaryExtensionVersion ------ remote-ssh0.110.1 remote-ssh-edit0.86.0 remote-explorer0.4.3 java1.30.0 intellicode-api-usage-examples0.2.8 vscodeintellicode1.3.1 vscode-java-debug0.57.0 vscode-java-dependency0.23.6 vscode-java-pack0.26.0 vscode-java-test0.41.1 vscode-maven0.44.0 markdown-pdf1.5.0 </details<!-- generated by issue reporter --
Can you connect to your remote then share the following: the value of the setting the value of the setting A screen shot of the Ports view
I appreciate your prompt attention, thanks for looking at this. As you can see in the attached "Ports view", this morning there were 53 open ports at startup. I've attached a screenshot of the "Settings" view (searching for "remote.autoForwardPorts") and the "Ports view". I looked in the local "" (in ) and see no settings with the two names you requested. I similarly found nothing in the relevant "" file(s) on the remote server. Hopefully the attached screenshot of the "Settings" view provides the information you requested. ! Settings ! Ports view
is it possible you at some point ran something that listened on each of those ports? By default, VS Code will auto forward ports, but with the setting set to , which is what you have, we don't know when to stop forwarding the port. We also restore ports (setting ). I think the best thing we can do is change the default for SSH for to , which will let us know when to stop forwarding. I've made the appropriate PRs to get that changed.
If something ran that was listening on those ports, it was unknown to me. I don't knowingly do anything with ports on the local (Windows 10 pro) system. I manage multiple ports on the remote system, but each has a 4-digit port number. An aspect that may be of interest is that the startup behavior seems to be specific to this remote folder (). When I use VSC to open a sibling on the remote host (), the embedded terminal shows no forwarded ports at all. Screenshots below show this behavior. ! Startup VSC on ~/tms/backend/gate ! Ports view on ~/tms/backend/gate
We restore ports based on the folder, so it makes sense that you're seeing different ports depending on which folder you have open.
Hmm. It seems likely that at some point something was running and listening on those ports, otherwise we wouldn't have found them and auto forwarded them. I think the change to use by default that I mentioned above will resolve your issue in the future, but for now, I would suggest you unforward all those ports and set to .
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!

export enum CandidatePortSource { None = 0, Process = 1, <del> Output = 2 </del> <ins> Output = 2, Hybrid = 3 </ins> } export type ResolverResult = (ResolvedAuthority | ManagedResolvedAuthority) & ResolvedOptions & TunnelInformation;


Question:
Using the workspace TS version, 5.5.0-dev.: ! ! !
Closing for verification

} private toSymbolInformation(item: Proto.NavtoItem): vscode.SymbolInformation | undefined { <del> if (!item.containerName || item.kind === 'alias') { </del> <ins> if (item.kind === 'alias' && !item.containerName) { </ins> return; }


Question:
Using the workspace TS version, 5.5.0-dev.: ! ! !
Closing for verification


Question:
I got the default font rendered in the parameter hint widget. It looks alien compared to the rest of the hover widget UI. Steps: chat sample line 21 type the following: will see the parameter hints with a weird font (default system?) ! fyi
I haven't been able to reproduce this Are you still seeing this issue? Does it only show up with specific functions?
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
Yes, I still see this. I see this for all parameter hovers. I have nailed this down to be due to this setting I got a new mac, so most likely I do not have Fira Code installed. So the Editor seems to fall back nicely to a good default font, and Parameter Hints falls back to a non coding font. Which looks like the gist of this bug. I will reopen this so you can chime in. Thanks

"--vscode-editorStickyScroll-scrollableWidth", "--vscode-editorStickyScroll-foldingOpacityTransition", "--window-border-color", <ins> "--vscode-parameterHintsWidget-editorFontFamily", "--vscode-parameterHintsWidget-editorFontFamilyDefault", </ins> "--workspace-trust-check-color", "--workspace-trust-selected-color", "--workspace-trust-unselected-color",


Question:
I got the default font rendered in the parameter hint widget. It looks alien compared to the rest of the hover widget UI. Steps: chat sample line 21 type the following: will see the parameter hints with a weird font (default system?) ! fyi
I haven't been able to reproduce this Are you still seeing this issue? Does it only show up with specific functions?
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
Yes, I still see this. I see this for all parameter hovers. I have nailed this down to be due to this setting I got a new mac, so most likely I do not have Fira Code installed. So the Editor seems to fall back nicely to a good default font, and Parameter Hints falls back to a non coding font. Which looks like the gist of this bug. I will reopen this so you can chime in. Thanks

border-bottom: 1px solid var(--vscode-editorHoverWidget-border); } <ins> .monaco-editor .parameter-hints-widget .code { font-family: var(--vscode-parameterHintsWidget-editorFontFamily), var(--vscode-parameterHintsWidget-editorFontFamilyDefault); } </ins> .monaco-editor .parameter-hints-widget .docs { padding: 0 10px 0 5px; white-space: pre-wrap;


Question:
I got the default font rendered in the parameter hint widget. It looks alien compared to the rest of the hover widget UI. Steps: chat sample line 21 type the following: will see the parameter hints with a weird font (default system?) ! fyi
I haven't been able to reproduce this Are you still seeing this issue? Does it only show up with specific functions?
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
Yes, I still see this. I see this for all parameter hovers. I have nailed this down to be due to this setting I got a new mac, so most likely I do not have Fira Code installed. So the Editor seems to fall back nicely to a good default font, and Parameter Hints falls back to a non coding font. Which looks like the gist of this bug. I will reopen this so you can chime in. Thanks

import { assertIsDefined } from 'vs/base/common/types'; import 'vs/css!./parameterHints'; import { ContentWidgetPositionPreference, ICodeEditor, IContentWidget, IContentWidgetPosition } from 'vs/editor/browser/editorBrowser'; <del> import { EditorOption } from 'vs/editor/common/config/editorOptions'; </del> <ins> import { EDITOR_FONT_DEFAULTS, EditorOption } from 'vs/editor/common/config/editorOptions'; </ins> import * as languages from 'vs/editor/common/languages'; import { ILanguageService } from 'vs/editor/common/languages/language'; import { IMarkdownRenderResult, MarkdownRenderer } from 'vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer';


Question:
I got the default font rendered in the parameter hint widget. It looks alien compared to the rest of the hover widget UI. Steps: chat sample line 21 type the following: will see the parameter hints with a weird font (default system?) ! fyi
I haven't been able to reproduce this Are you still seeing this issue? Does it only show up with specific functions?
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
Yes, I still see this. I see this for all parameter hovers. I have nailed this down to be due to this setting I got a new mac, so most likely I do not have Fira Code installed. So the Editor seems to fall back nicely to a good default font, and Parameter Hints falls back to a non coding font. Which looks like the gist of this bug. I will reopen this so you can chime in. Thanks

if (!this.domNodes) { return; } const fontInfo = this.editor.getOption(EditorOption.fontInfo); <del> this.domNodes.element.style.fontSize = `${fontInfo.fontSize}px`; this.domNodes.element.style.lineHeight = `${fontInfo.lineHeight / fontInfo.fontSize}`; </del> <ins> const element = this.domNodes.element; element.style.fontSize = `${fontInfo.fontSize}px`; element.style.lineHeight = `${fontInfo.lineHeight / fontInfo.fontSize}`; element.style.setProperty('--vscode-parameterHintsWidget-editorFontFamily', fontInfo.fontFamily); element.style.setProperty('--vscode-parameterHintsWidget-editorFontFamilyDefault', EDITOR_FONT_DEFAULTS.fontFamily); </ins> }; updateFont();


Question:
I got the default font rendered in the parameter hint widget. It looks alien compared to the rest of the hover widget UI. Steps: chat sample line 21 type the following: will see the parameter hints with a weird font (default system?) ! fyi
I haven't been able to reproduce this Are you still seeing this issue? Does it only show up with specific functions?
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
Yes, I still see this. I see this for all parameter hovers. I have nailed this down to be due to this setting I got a new mac, so most likely I do not have Fira Code installed. So the Editor seems to fall back nicely to a good default font, and Parameter Hints falls back to a non coding font. Which looks like the gist of this bug. I will reopen this so you can chime in. Thanks

} const code = dom.append(this.domNodes.signature, $('.code')); <del> const fontInfo = this.editor.getOption(EditorOption.fontInfo); code.style.fontSize = `${fontInfo.fontSize}px`; code.style.fontFamily = fontInfo.fontFamily; </del> const hasParameters = signature.parameters.length > 0; const activeParameterIndex = signature.activeParameter ?? hints.activeParameter;


Question:
Type: <bBug</bThe terminal in VSCode - insiders is unable to display special characters in terminals after latest update How it looks in VSCode: ! How it looks in VSCode - insiders ! The font settings are the exact same for both versions VS Code version: Code - Insiders 1.90.0-insider (, 2024-05-03T05:49:15.006Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (40)</summaryExtensionVersion ------ better-comments3.0.2 TabOut0.2.2 Bookmarks13.5.0 doxdocgen1.4.0 githistory0.6.20 gitlens14.9.1 copilot1.184.0 copilot-chat0.14.1 latex-workshop9.20.1 rainbow-csv3.11.0 git-graph1.30.0 autopep82024.0.0 debugpy2024.4.0 isort2023.10.1 pylint2023.10.1 python2024.4.1 vscode-pylance2024.4.1 jupyter2024.4.0 jupyter-keymap1.1.2 jupyter-renderers1.0.17 tensorboard2023.10. vscode-jupyter-cell-tags0.1.9 vscode-jupyter-powertoys0.1.1 vscode-jupyter-slideshow0.1.6 remote-wsl0.88.2 cpptools1.20.3 cpptools-extension-pack1.3.0 hexeditor1.10.0 vsliveshare1.0.5918 autodocstring0.6.1 advanced-new-file1.2.2 material-icon-theme5.1.0 r-debugger0.5.4 r2.8.2 markdown-preview-enhanced0.8.13 errorlens3.17.0 intellicode-api-usage-examples0.2.8 vscodeintellicode1.3.1 markdown-all-in-one3.6.2 material-theme3.17.2 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
can you share your Also are you using Windows PowerShell () or pwsh 6+? Could you get the version of that via ?
Same issue for us using bash 5.0.17(1) so might not be pwsh dependent. Terminal prompt now not showing special characters on latest insiders update 1.90.0 e.g. x1b[01x3b34m~/code/project1x1b[00m (main))
actually got a fix in for bash in
Where can i get the The powershell version is: 7.4.2
I have the same exact problem, and the following suggestion finally fixed it on my end:
I am not sure I understand what the comment is trying to say. I am supposed to replace my with the one from commit and
I agree, the instructions could have been clearer. The commit selection does seem a bit random, but what I did was clicking 'Browse files' on the commit and found the from that repository version. Here's a link to get there directly:
It was pushed to the official build. I'm having this issue and I dont rememeber ever joining any kind of insider program.
Related on Stack Overflow:
thank you so much! This was what fixed it for me after trying everything yesterday. Some more clarity or directions from the dev side would have been nice, but now its back to normal after all!
Thanks replacing the shellintegration.ps1 from this commit fixed it for me. The location of the file is:
In addition to the semi-permanent solution above, I have found that you can simply type (for PowerShell 7) or (for PowerShell 5) in the terminal, and it will launch a brand new, yet identical terminal in the current working directory - but without the gibberish.
FYI, I see this in the regular code branch Version: 1.90.0 (user setup) Commit: Date: 2024-06-04T19:33:54.889Z Electron: 29.4.0 ElectronBuildId: Chromium: 122.0.6261.156 20.9.0 V8: 12.2.281.27-electron.0 OS: Windows_NT x64 10.0. !
To verify: oh-my-posh a PowerShell terminal oh-my-posh, you should not see the escapes as shown above
Same issue here. oh-my-posh, powershell, issue only with vscode, windows term looks as intended. !
This should be fixed in v1.90.2 which was just released
Can confirm as fixed. Thanks for the work!
confirm as fixed and work well without needing to disable setting! !
Looks good again!
Looks good to me too!!
This morning, I updated my VS Code, activated the setting, but I am still experiencing the same issue (especially when I try to clear the terminal with CTRL+L). I am using Windows 10 Pro for Workstations x64, AMD Ryzen 5 5600X 6-Core Processor, and Nvidia 720 GPU. !
Still same issue
what shell/prompt is that?
It's the PowerShell from the Microsoft Store. Special characters appear when I press Ctrl + L to clear the terminal. I also have the same problem in Git Bash, but it happens when I execute a command. In both cases, I am using Oh My Posh. !
I was also having a related? problem with PowerShell integration since the 1.90 release. The recent 1.90.2 update has changed the outcome a little, but not fixed it. I get output like the below when I open a new pwsh terminal, and often the terminal stops responding after executing a command or two. I have this PowerShell profile. I thought any of PSFzf, zoxide, or the encoding settings could be the culprit, so I tried removing each one. Oddly, removing any combination of them doesn't fix the problem, but completely blanking out the file fixes it (second image below). It all worked fine in vscode prior to 1.90. ! !
you have the experimental suggest setting enabled, disabling that will fix it. What version of PowerShell is that you're using? Currently in Insiders we force suggest to be disabled on Windows PowerShell (5), but if you're experiencing it in a latter version maybe we need to disable it in older versions of Windows too.
Are you referring to a different setting? (I was wrong; see below.) (Not sure if it's relevant, but PowerShell suggestions do work in Windows Terminal.) ! !
OOPS, I did have an old version of that setting in my , and removing it did indeed fix the problem. Thank you.
Is there a separate issue tracking this behavior with ? I do not use OhMyPosh and am still getting the same behavior with VSCode . ! The workaround of invoking from within the VSCode terminal does work.

function Global:__VSCode-Escape-Value([string]$value) { # NOTE: In PowerShell v6.1+, this can be written `$value -replace '…', { … }` instead of `[regex]::Replace`. # Replace any non-alphanumeric characters. <del> [regex]::Replace($value, "[$([char]0x1b)n;]", { param($match) </del> <ins> [regex]::Replace($value, "[$([char]0x00)-$([char]0x1f)n;]", { param($match) </ins> # Encode the (ascii) matches as `x<hex>` -Join ( [System.Text.Encoding]::UTF8.GetBytes($match.Value) | ForEach-Object { 'x{0:x2}' -f $_ }


Question:
This extension wants me to install it, also has a reload, and has a restart button. The restart button doesn't do anything. This is just in the VS Code repo <img width="476" alt="image" src=""
Can you please share the following file F1 Open Extensions Folder Share file
What do you see in Installed Extensions view? Also What version of that extension is running in Running Extensions editor - F1 Show Running Extensions? Is there a message when you hover on Restart Extensions button?
Installed <img width="470" alt="image" src=""Running view <img width="917" alt="image" src=""Hover of restart <img width="470" alt="image" src=""Ok, so it does appear I have this extension installed. And it wants me to restart it to uninstall it? And then to install it as a workspace extension? Clicking the restart button doesn't do anything and I didn't request the extension be uninstalled
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!

this._scanDevelopedExtensions(language, extensionDevelopmentPath) ]); <del> return dedupExtensions(builtinExtensions, [...installedExtensions, ...workspaceInstalledExtensions], developedExtensions, this._logService); </del> <ins> return dedupExtensions(builtinExtensions, installedExtensions, workspaceInstalledExtensions, developedExtensions, this._logService); </ins> } private async _scanDevelopedExtensions(language: string, extensionDevelopmentPaths?: string[]): Promise<IExtensionDescription[]> {


Question:
This extension wants me to install it, also has a reload, and has a restart button. The restart button doesn't do anything. This is just in the VS Code repo <img width="476" alt="image" src=""
Can you please share the following file F1 Open Extensions Folder Share file
What do you see in Installed Extensions view? Also What version of that extension is running in Running Extensions editor - F1 Show Running Extensions? Is there a message when you hover on Restart Extensions button?
Installed <img width="470" alt="image" src=""Running view <img width="917" alt="image" src=""Hover of restart <img width="470" alt="image" src=""Ok, so it does appear I have this extension installed. And it wants me to restart it to uninstall it? And then to install it as a workspace extension? Clicking the restart button doesn't do anything and I didn't request the extension be uninstalled
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!

all.push(...await this.workbenchExtensionManagementService.getInstalledWorkspaceExtensions(true)); } <del> // dedup user and system extensions by giving priority to user extensions. </del> <ins> // dedup workspace, user and system extensions by giving priority to workspace first and then to user extension. </ins> const installed = groupByExtension(all, r => r.identifier).reduce((result, extensions) => { <del> const extension = extensions.length === 1 ? extensions[0] : extensions.find(e => e.type === ExtensionType.User) || extensions.find(e => e.type === ExtensionType.System); result.push(extension!); </del> <ins> if (extensions.length === 1) { result.push(extensions[0]); } else { let workspaceExtension: ILocalExtension | undefined, userExtension: ILocalExtension | undefined, systemExtension: ILocalExtension | undefined; for (const extension of extensions) { if (extension.isWorkspaceScoped) { workspaceExtension = extension; } else if (extension.type === ExtensionType.User) { userExtension = extension; } else { systemExtension = extension; } } const extension = workspaceExtension ?? userExtension ?? systemExtension; if (extension) { result.push(extension); } } </ins> return result; }, []);


Question:
This extension wants me to install it, also has a reload, and has a restart button. The restart button doesn't do anything. This is just in the VS Code repo <img width="476" alt="image" src=""
Can you please share the following file F1 Open Extensions Folder Share file
What do you see in Installed Extensions view? Also What version of that extension is running in Running Extensions editor - F1 Show Running Extensions? Is there a message when you hover on Restart Extensions button?
Installed <img width="470" alt="image" src=""Running view <img width="917" alt="image" src=""Hover of restart <img width="470" alt="image" src=""Ok, so it does appear I have this extension installed. And it wants me to restart it to uninstall it? And then to install it as a workspace extension? Clicking the restart button doesn't do anything and I didn't request the extension be uninstalled
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!

if (isUninstalled) { const canRemoveRunningExtension = runningExtension && this.extensionService.canRemoveExtension(runningExtension); <del> const isSameExtensionRunning = runningExtension && (!extension.server || extension.server === this.extensionManagementServerService.getExtensionManagementServer(toExtension(runningExtension))); </del> <ins> const isSameExtensionRunning = runningExtension && (!extension.server || extension.server === this.extensionManagementServerService.getExtensionManagementServer(toExtension(runningExtension))) && (!extension.resourceExtension || this.uriIdentityService.extUri.isEqual(extension.resourceExtension.location, runningExtension.extensionLocation)); </ins> if (!canRemoveRunningExtension && isSameExtensionRunning && !runningExtension.isUnderDevelopment) { return { action: reloadAction, reason: nls.localize('postUninstallTooltip', "Please {0} to complete the uninstallation of this extension.", reloadActionLabel) }; }


Question:
This extension wants me to install it, also has a reload, and has a restart button. The restart button doesn't do anything. This is just in the VS Code repo <img width="476" alt="image" src=""
Can you please share the following file F1 Open Extensions Folder Share file
What do you see in Installed Extensions view? Also What version of that extension is running in Running Extensions editor - F1 Show Running Extensions? Is there a message when you hover on Restart Extensions button?
Installed <img width="470" alt="image" src=""Running view <img width="917" alt="image" src=""Hover of restart <img width="470" alt="image" src=""Ok, so it does appear I have this extension installed. And it wants me to restart it to uninstall it? And then to install it as a workspace extension? Clicking the restart button doesn't do anything and I didn't request the extension be uninstalled
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!

} catch (error) { this._logService.error(error); } <del> return dedupExtensions(system, user, development, this._logService); </del> <ins> return dedupExtensions(system, user, [], development, this._logService); </ins> } protected async _resolveExtensionsDefault() {


Question:
This extension wants me to install it, also has a reload, and has a restart button. The restart button doesn't do anything. This is just in the VS Code repo <img width="476" alt="image" src=""
Can you please share the following file F1 Open Extensions Folder Share file
What do you see in Installed Extensions view? Also What version of that extension is running in Running Extensions editor - F1 Show Running Extensions? Is there a message when you hover on Restart Extensions button?
Installed <img width="470" alt="image" src=""Running view <img width="917" alt="image" src=""Hover of restart <img width="470" alt="image" src=""Ok, so it does appear I have this extension installed. And it wants me to restart it to uninstall it? And then to install it as a workspace extension? Clicking the restart button doesn't do anything and I didn't request the extension be uninstalled
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!

import * as semver from 'vs/base/common/semver/semver'; // TODO: @sandy081 merge this with deduping in extensionsScannerService.ts <del> export function dedupExtensions(system: IExtensionDescription[], user: IExtensionDescription[], development: IExtensionDescription[], logService: ILogService): IExtensionDescription[] { </del> <ins> export function dedupExtensions(system: IExtensionDescription[], user: IExtensionDescription[], workspace: IExtensionDescription[], development: IExtensionDescription[], logService: ILogService): IExtensionDescription[] { </ins> const result = new ExtensionIdentifierMap<IExtensionDescription>(); system.forEach((systemExtension) => { const extension = result.get(systemExtension.identifier);


Question:
This extension wants me to install it, also has a reload, and has a restart button. The restart button doesn't do anything. This is just in the VS Code repo <img width="476" alt="image" src=""
Can you please share the following file F1 Open Extensions Folder Share file
What do you see in Installed Extensions view? Also What version of that extension is running in Running Extensions editor - F1 Show Running Extensions? Is there a message when you hover on Restart Extensions button?
Installed <img width="470" alt="image" src=""Running view <img width="917" alt="image" src=""Hover of restart <img width="470" alt="image" src=""Ok, so it does appear I have this extension installed. And it wants me to restart it to uninstall it? And then to install it as a workspace extension? Clicking the restart button doesn't do anything and I didn't request the extension be uninstalled
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!

} result.set(userExtension.identifier, userExtension); }); <ins> workspace.forEach(workspaceExtension => { const extension = result.get(workspaceExtension.identifier); if (extension) { logService.warn(localize('overwritingWithWorkspaceExtension', "Overwriting {0} with Workspace Extension {1}.", extension.extensionLocation.fsPath, workspaceExtension.extensionLocation.fsPath)); } result.set(workspaceExtension.identifier, workspaceExtension); }); </ins> development.forEach(developedExtension => { logService.info(localize('extensionUnderDevelopment', "Loading development extension at {0}", developedExtension.extensionLocation.fsPath)); const extension = result.get(developedExtension.identifier);


Question:
This extension wants me to install it, also has a reload, and has a restart button. The restart button doesn't do anything. This is just in the VS Code repo <img width="476" alt="image" src=""
Can you please share the following file F1 Open Extensions Folder Share file
What do you see in Installed Extensions view? Also What version of that extension is running in Running Extensions editor - F1 Show Running Extensions? Is there a message when you hover on Restart Extensions button?
Installed <img width="470" alt="image" src=""Running view <img width="917" alt="image" src=""Hover of restart <img width="470" alt="image" src=""Ok, so it does appear I have this extension installed. And it wants me to restart it to uninstall it? And then to install it as a workspace extension? Clicking the restart button doesn't do anything and I didn't request the extension be uninstalled
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!

} const system = scannedSystemExtensions.map(e => toExtensionDescriptionFromScannedExtension(e, false)); <del> const userGlobal = scannedUserExtensions.map(e => toExtensionDescriptionFromScannedExtension(e, false)); const userWorkspace = workspaceExtensions.map(e => toExtensionDescription(e, false)); </del> <ins> const user = scannedUserExtensions.map(e => toExtensionDescriptionFromScannedExtension(e, false)); const workspace = workspaceExtensions.map(e => toExtensionDescription(e, false)); </ins> const development = scannedDevelopedExtensions.map(e => toExtensionDescriptionFromScannedExtension(e, true)); <del> const r = dedupExtensions(system, [...userGlobal, ...userWorkspace], development, this._logService); </del> <ins> const r = dedupExtensions(system, user, workspace, development, this._logService); </ins> if (!hasErrors) { const disposable = this._extensionsScannerService.onDidChangeCache(() => {


class MenuInfoSnapshot { protected _menuGroups: MenuItemGroup[] = []; <ins> private _allMenuIds: Set<MenuId> = new Set(); </ins> private _structureContextKeys: Set<string> = new Set(); private _preconditionContextKeys: Set<string> = new Set(); private _toggledContextKeys: Set<string> = new Set();


protected readonly _collectContextKeysForSubmenus: boolean, ) { this.refresh(); <ins> this._allMenuIds.add(_id); } get allMenuIds(): ReadonlySet<MenuId> { return this._allMenuIds; </ins> } get structureContextKeys(): ReadonlySet<string> {


// reset this._menuGroups.length = 0; <ins> this._allMenuIds.clear(); </ins> this._structureContextKeys.clear(); this._preconditionContextKeys.clear(); this._toggledContextKeys.clear();


} group[1].push(item); <del> // keep keys for eventing this._collectContextKeys(item); </del> <ins> // keep keys and submenu ids for eventing this._collectContextKeysAndSubmenuIds(item); </ins> } }


return menuItems; } <del> private _collectContextKeys(item: IMenuItem | ISubmenuItem): void { </del> <ins> private _collectContextKeysAndSubmenuIds(item: IMenuItem | ISubmenuItem): void { </ins> MenuInfoSnapshot._fillInKbExprKeys(item.when, this._structureContextKeys);


} 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> } }


}, options.eventDebounceDelay); this._disposables.add(rebuildMenuSoon); this._disposables.add(MenuRegistry.onDidChangeMenu(e => { <del> if (e.has(id)) { rebuildMenuSoon.schedule(); </del> <ins> for (const id of this._menuInfo.allMenuIds) { if (e.has(id)) { rebuildMenuSoon.schedule(); break; } </ins> } }));


Question:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --Related For migrating towards ESM in VSCode, it seems the tsconfig option could be useful, ensuring that imports are compatible with ESM. For example, this typescript code transpiled to javascript would cause a runtime error because of the export: The rule would enforce a type only import for : Enabling the tsconfig option in VSCode, it seems these files would need to adjusted:
We reverted this because we learnt, albeit very late, that it has disabled inlining of const enums. See

"sourceMap": false, "allowJs": true, "resolveJsonModule": true, <ins> "isolatedModules": true, </ins> "outDir": "../out/vs", "types": [ "mocha",


Question:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --Related For migrating towards ESM in VSCode, it seems the tsconfig option could be useful, ensuring that imports are compatible with ESM. For example, this typescript code transpiled to javascript would cause a runtime error because of the export: The rule would enforce a type only import for : Enabling the tsconfig option in VSCode, it seems these files would need to adjusted:
We reverted this because we learnt, albeit very late, that it has disabled inlining of const enums. See

*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <del> declare const enum LoaderEventType { </del> <ins> declare enum LoaderEventType { </ins> LoaderAvailable = 1, BeginLoadingScript = 10,