Question: test('* star', () => { linkAllowedByRules('https://a.x.org', ['https://*.x.org']); linkAllowedByRules('https://a.b.x.org', ['https://*.x.org']); <del> linkAllowedByRules('https://a.x.org', ['https://a.x.*']); linkAllowedByRules('https://a.x.org', ['https://a.*.org']); linkAllowedByRules('https://a.x.org', ['https://*.*.org']); linkAllowedByRules('https://a.b.x.org', ['https://*.b.*.org']); linkAllowedByRules('https://a.a.b.x.org', ['https://*.b.*.org']); </del> }); test('no scheme', () => {

Issue Type: <bBug</bWrite http://192.168.1.7:3000/ into a text file. Command-click it to try to open the link. You will get an alert asking whether you want to open the external website. Click “Configure Trusted Domains”. <img width="1025" alt="link and dialog asking to confirm opening external website" src="https://user-"Look at the second option in the menu. It says “Trust 1.7:3000 and all its subdomains”. But 1.7:3000 is not a valid address. <img width="1024" alt="link and menu with buggy entry “Trust 1.7:3000 and all its subdomains”" src="https://user-"I can only guess that VS Code thinks that “7” is a TLD and “1.7” is a full domain name. What I actually want to do is whitelist opening all links to IP addresses like . In other words, white-list the subnet . At least, I think that makes sense. But I am not a network engineer, so if it makes more sense to recommend to the user whitelisting some other subnet such as , or whitelisting only the address but on any port, that would be fine too. VS Code version: Code 1.40.1 (, 2019-11-13T16:47:44.719Z) OS version: Darwin x64 18.7.0


Question: @IInstantiationService private readonly _instantiationService: IInstantiationService, @IConfigurationService private readonly _configurationService: IConfigurationService, @ILifecycleService private readonly _lifecycleService: ILifecycleService, <del> @IContextKeyService _contextKeyService: IContextKeyService, </del> <ins> @IContextKeyService private _contextKeyService: IContextKeyService, </ins> @IDialogService private readonly _dialogService: IDialogService ) { super();

Type: <bBug</bPinning a terminal editor does not set some of the context variables that are normally set when pining a text editor. Here are the ones I've noticed: activeEditorIsDirty activeEditorIsFirstInGroup activeEditorIsLastInGroup activeEditorIsNotPreview activeEditorIsPinned In the case of activeEditorIsPinned this makes it impossible to detect if the current terminal editor is pinned. Since there is no command to toggle the pin on an editor this means it's not possible to create a single keybinding that can intelligently pin and unpin the current terminal editor. In the case of activeEditorIsLastInGroup it means it's not possible to create a keybinding to move a terminal editor out of the "pinned section" of editors in the current group. When editors are pinned they are moved to the left side of the current editor group. When moving an editor to the previous position in the current group if it happens to cross into the pinned section it will become pinned. But the inverse is not possible: you cannot move a pinned editor out of the pinned section unless there happens to be something else unpinned to the right of it. So I have a keybinding to unpin the current editor if it's the last editor in the current group. Since terminal editors don't set the required context they break this binding. Steps to Repro: Open a terminal in the editor area Pin the terminal editor Inspect context keys Notice activeEditorIsPinned is not set VS Code version: Code - Insiders 1.76.0-insider (, 2023-02-10T16:22:19.445Z) OS version: WindowsNT x64 10.0. Modes: Sandboxed: Yes <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
The type of editor should not play any role in this. I somewhat doubt this is a bug in our code, so setting label that we need confirmation. Open for help, investigation, suggested fixes, PR.
This one I cannot confirm or reproduce. See this gif where I open a terminal, pin it and then inspect the context keys: ! What are some exact steps?
Looks like it depends where you click when inspecting context keys.


Question: @IInstantiationService private readonly _instantiationService: IInstantiationService, @IConfigurationService private readonly _configurationService: IConfigurationService, @ILifecycleService private readonly _lifecycleService: ILifecycleService, <del> @IContextKeyService _contextKeyService: IContextKeyService, </del> <ins> @IContextKeyService private _contextKeyService: IContextKeyService, </ins> @IDialogService private readonly _dialogService: IDialogService ) { super();

I'm clicking inside the terminal, where my cursor is, because I'm attempting to make keybindings that work when using the terminal. You're clicking the editor tab. So it appears the context is set for the editor, but when you focus the terminal within it that context is removed. Interestingly I still see some of the context so not all of it is removed.
Quite likely that the terminal itself sets its own context keys.
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
/verified, but while confirming the fix I noticed more issues with these context keys


Question: scheme: 'file', path: '/path/test.file', fsPath: '/path/test.file'.replace(///g, isWindows ? '' : '/'), <ins> _sep: isWindows ? 1 : undefined, </ins> }); assert.ok(uri.toString());

The cache is preserved throughout URI serialization. We should invalidate it when the URI crosses platform boundaries. Related to


Question: import { generateUuid } from 'vs/base/common/uuid'; import { getActiveWindow, runWhenWindowIdle } from 'vs/base/browser/dom'; import { mainWindow } from 'vs/base/browser/window'; <ins> import { shouldUseEnvironmentVariableCollection } from 'vs/platform/terminal/common/terminalEnvironment'; </ins> const enum ProcessConstants { /**

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes/No <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --Version: 1.85.0-insider OS: Linux (codespaces) Steps to Reproduce: in the terminal prompt is contributed via env collection by Python extension. Normal terminal: ! Hovering says that collection is applied. Hidden terminal: ! Although it says that no environment collection is contributed upon hovering, collection is still applied as can be seen in the terminal prompt.
it seems like this is actually a bug where the initially hidden terminal doesn't show the applied environments but should? Making a terminal hidden was just meant to be about visibility, not environment?
I'm fine if we change hidden terminals to also apply environment collection, as long as we get support for Python extension decided not to send activate commands to hidden terminals: , as hidden terminals are considered private terminals belonging to a specific extension. One could probably argue similarly for not applying environment collection to such terminals.
Based on offline discussion we're continue to go with NOT applying environment collection to hidden terminals, due to it affecting remote scenarios.
We investigated that env collection from shell integration in unix is still being applied on hidden terminals, i.e is still being applied when it should not. Any further updates?
Code to disable for terminals: Where vars are set:
I cannot reproduce this on Windows or macOS. Steps: Code - OSS a terminal and verify the environment does not include terminal-sample from vscode-extension-samples via symlink a terminal and verify the environment does and select the new terminal and verify the environment does not include Maybe you had the variable set in the parent environment (main/server?) which is why it showed up?


Question: import { generateUuid } from 'vs/base/common/uuid'; import { getActiveWindow, runWhenWindowIdle } from 'vs/base/browser/dom'; import { mainWindow } from 'vs/base/browser/window'; <ins> import { shouldUseEnvironmentVariableCollection } from 'vs/platform/terminal/common/terminalEnvironment'; </ins> const enum ProcessConstants { /**

Please try it on Linux (codespaces), stated in the original report, this issue doesn't exist on Windows. And I don't have a macOS to verify.
Thanks, missed the remote bit
Seems like this behavior has now changed with: So we should either reopen this one or , to accomplish
you can accomplish by using
I see, suppose if is , but no is passed explicitly, I assume system environment variables and shell initialization scripts are still applied? What does window's environment mean here and will it be applied if is , but no is passed.
We don't have any environment to provide, all we want to do is skip applying env collection while the rest of the environment stays as-is, can you guide us on how to exactly use to achieve that? Also, we would expect shell integration to be active.
basing the environment on should do the trick
Gotcha, will try that. I assume shell initialization and integration scripts are still run?
looking at the code, I think shell integration does activate even when strictEnv is set
What are some verification steps for this issue? For example, how do I get Python deactivate to show up?
steps at , remote only
Actually we reverted the change made in this issue with , so even hidden terminals have environment collection applied by default now.
:+1: So the steps are: a terminal and verify the environment does not include terminal-sample from vscode-extension-samples via symlink a terminal and verify the environment does and select the new terminal and verify the environment does include
How do I do step 3? Am I opening the terminal-sample workspace after cloning and creating a symlink to it?
you can build the extension and do it in the insiders extension development host


Question: overviewRulerLanes = 63, parameterHints = 64, peekWidgetDefaultFocus = 65, <del> quickSuggestions = 66, quickSuggestionsDelay = 67, readOnly = 68, renderControlCharacters = 69, renderIndentGuides = 70, renderFinalNewline = 71, renderLineHighlight = 72, renderValidationDecorations = 73, renderWhitespace = 74, revealHorizontalRightPadding = 75, roundedSelection = 76, rulers = 77, scrollbar = 78, scrollBeyondLastColumn = 79, scrollBeyondLastLine = 80, selectionClipboard = 81, selectionHighlight = 82, selectOnLineNumbers = 83, semanticHighlighting = 84, showFoldingControls = 85, showUnused = 86, snippetSuggestions = 87, smoothScrolling = 88, stopRenderingLineAfter = 89, suggest = 90, suggestFontSize = 91, suggestLineHeight = 92, suggestOnTriggerCharacters = 93, suggestSelection = 94, tabCompletion = 95, useTabStops = 96, wordSeparators = 97, wordWrap = 98, wordWrapBreakAfterCharacters = 99, wordWrapBreakBeforeCharacters = 100, wordWrapColumn = 101, wordWrapMinified = 102, wrappingIndent = 103, wrappingStrategy = 104, editorClassName = 105, pixelRatio = 106, tabFocusMode = 107, layoutInfo = 108, wrappingInfo = 109 </del> <ins> definitionLinkOpensInPeek = 66, quickSuggestions = 67, quickSuggestionsDelay = 68, readOnly = 69, renderControlCharacters = 70, renderIndentGuides = 71, renderFinalNewline = 72, renderLineHighlight = 73, renderValidationDecorations = 74, renderWhitespace = 75, revealHorizontalRightPadding = 76, roundedSelection = 77, rulers = 78, scrollbar = 79, scrollBeyondLastColumn = 80, scrollBeyondLastLine = 81, selectionClipboard = 82, selectionHighlight = 83, selectOnLineNumbers = 84, semanticHighlighting = 85, showFoldingControls = 86, showUnused = 87, snippetSuggestions = 88, smoothScrolling = 89, stopRenderingLineAfter = 90, suggest = 91, suggestFontSize = 92, suggestLineHeight = 93, suggestOnTriggerCharacters = 94, suggestSelection = 95, tabCompletion = 96, useTabStops = 97, wordSeparators = 98, wordWrap = 99, wordWrapBreakAfterCharacters = 100, wordWrapBreakBeforeCharacters = 101, wordWrapColumn = 102, wordWrapMinified = 103, wrappingIndent = 104, wrappingStrategy = 105, editorClassName = 106, pixelRatio = 107, tabFocusMode = 108, layoutInfo = 109, wrappingInfo = 110 </ins> } export const EditorOptions: { acceptSuggestionOnCommitCharacter: IEditorOption<EditorOption.acceptSuggestionOnCommitCharacter, boolean>;

<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --When we use to jump to definition, would open the definition in a new window, which is inconvenient for me. It would be better if we can choose where to open definition, like in . !
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.492 --- <!-- score: 0.467 --<!-- potentialduplicatescomment --
Nice suggestion. If you agree with this, I'll create a setting so one can choose if 'ctrl+click' always opens the peek view.
Normally, ctrl+click runs and cmd+ctrl+click opens . With this setting enabled, they both run . I don't think that's expected. Possibly change to ?
you can reopen verification-found issues
Uhm, I'll take a look on that. Thanks for your feedback!
Please file a bug and don't reopen feature requests
I created


Question: return ''; } }, <del> expandOnlyOnTwistieClick: (element: any) => { if (element instanceof CommentsModel || element instanceof ResourceWithCommentThreads) { return false; } return true; }, </del> <ins> expandOnlyOnTwistieClick: true, </ins> collapseByDefault: false, overrideStyles: options.overrideStyles, filter: options.filter,

Testing comments view open and scrolled to the top of the file enter in the node :bug: I get scrolled to the first comment
This also happens if I expand the node after collapsing it, which I found a bit surprising, as I didn't hit enter on a specific comment, just the file node
There are a couple problems here: We should only expand/collapse the file node when the twisty is clicked/entered (we should have both an action and an expand/collapse with the file is clicked/entered) We should just open the file and not scroll to a comment when the file node is clicked/entered.
Actually, since you're opening the file from the Comments view, it makes sense to reveal the first comment. I'm just going to fix the expand/collapse + action issue.
I just verified this by making sure that clicking on the node doesn't expand/collapse the node (only the twistie can). Please lmk if that's sufficient!
That is sufficient!


Question: this._onDidCustomEvent = new Emitter<debug.DebugEvent>(); this.sessionStates = new Map<string, debug.State>(); this.allProcesses = new Map<string, debug.IProcess>(); <ins> this.fetchThreadsSchedulers = new Map<string, RunOnceScheduler>(); </ins> this.configurationManager = this.instantiationService.createInstance(ConfigurationManager); this.toDispose.push(this.configurationManager);

Performance Issue When using VS Code to debug a java program with many threads (~500) the UI becomes generally unresponsive and sometimes freezes for about 10-20 seconds when hitting/continuing from a breakpoint. The problem seems to be that VS Code tries to refresh the "Call Stack" very often (and each refresh takes 100-200ms with that many threads) VS Code version: Code 1.20.1 (, 2018-02-13T15:23:28.607Z) OS version: Darwin x64 17.4.0 <details<summarySystem Info</summary </details<details<summaryWorkspace Info</summary</details<details<summaryExtensions (10)</summaryExtensionVersion ------ vscode-eslint1.4.6 tslint1.0.28 prettier-vscode1.1.3 python2018.1.0 debugger-for-chrome4.1.0 java0.19.0 lwc-vscode0.11.2 perforce3.1.0 rewrap1.7.1 vscode-java-debug0.6.0 (1 theme extensions excluded) </detailsReproduces only with extensions VS Code example stack trace when freezing: <img width="349" alt="stack-trace" src="https://user-"
fixes this
once the insiders build is out on Friday you can try this out with your PR and let us know if all is good now - thanks
Will do, thx!
tried with the 2018-03-09T05:17:20.534Z insiders build and it worked great
great, adding verified label.


Question: assert.deepStrictEqual(actual, EXPECTED); }); <ins> test('cursorWordAccessibilityLeft', () => { const EXPECTED = ['|   /* |Just |some   |more   |text |a+= |3 +|5-|3 + |7 */  '].join('n'); const [text,] = deserializePipePositions(EXPECTED); const actualStops = testRepeatedActionAndExtractPositions( text, new Position(1000, 1000), ed => cursorWordAccessibilityLeft(ed), ed => ed.getPosition()!, ed => ed.getPosition()!.equals(new Position(1, 1)) ); const actual = serializePipePositions(text, actualStops); assert.deepStrictEqual(actual, EXPECTED); }); test('cursorWordAccessibilityRight', () => { const EXPECTED = ['   /* |Just |some   |more   |text |a+= |3 +|5-|3 + |7 */  |'].join('n'); const [text,] = deserializePipePositions(EXPECTED); const actualStops = testRepeatedActionAndExtractPositions( text, new Position(1, 1), ed => cursorWordAccessibilityRight(ed), ed => ed.getPosition()!, ed => ed.getPosition()!.equals(new Position(1, 50)) ); const actual = serializePipePositions(text, actualStops); assert.deepStrictEqual(actual, EXPECTED); }); </ins> test('deleteWordLeft for non-empty selection', () => { withTestCodeEditor([ '    tMy First Linet ',

Type: <bBug</bCC [I cannot easily find my authored issue so I am creating a new] Ctrl+LeftArrow and Ctrl+RightArrow does not work in the Output View (Ctrl+Shift+U) area. This happens on Windows. This means screen reader users cannot navigate word by word within the output view. Ctrl+Shift+U to focus in the Output View Choose any output (e.g., terminal) if you can navigate word by word via Ctrl+LeftArrow or Ctrl+RightArrow VS Code version: Code - Insiders 1.92.0-insider (, 2024-07-12T05:08:08.550Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (125)</summaryExtensionVersion ------ vscode-openapi4.27.0 zotenote1.0.1 android-dev-ext1.4.0 aiprm-lang0.0.2 Bookmarks13.5.0 openscad1.2.2 spellright3.0.134 zoterolatex0.4.1 mermaid-markdown-syntax-highlighting1.6.0 external-pdf1.2.0 doxdocgen1.4.0 vscode-markdownlint0.53.0 vscode-eslint3.0.10 vscode-quick-select0.2.9 vscode-deno3.38.0 gitlens14.6.1 EditorConfig0.16.4 prettier-vscode10.1.0 figma-vscode-extension0.3.5 vscode-firefox-debug2.9.10 shell-format7.2.5 vscode-google-translate1.4.13 codespaces1.17.1 copilot1.213.0 copilot-chat0.18. remotehub0.62.0 vscode-github-actions0.26.2 vscode-pull-request-github0.93.


Question: assert.deepStrictEqual(actual, EXPECTED); }); <ins> test('cursorWordAccessibilityLeft', () => { const EXPECTED = ['|   /* |Just |some   |more   |text |a+= |3 +|5-|3 + |7 */  '].join('n'); const [text,] = deserializePipePositions(EXPECTED); const actualStops = testRepeatedActionAndExtractPositions( text, new Position(1000, 1000), ed => cursorWordAccessibilityLeft(ed), ed => ed.getPosition()!, ed => ed.getPosition()!.equals(new Position(1, 1)) ); const actual = serializePipePositions(text, actualStops); assert.deepStrictEqual(actual, EXPECTED); }); test('cursorWordAccessibilityRight', () => { const EXPECTED = ['   /* |Just |some   |more   |text |a+= |3 +|5-|3 + |7 */  |'].join('n'); const [text,] = deserializePipePositions(EXPECTED); const actualStops = testRepeatedActionAndExtractPositions( text, new Position(1, 1), ed => cursorWordAccessibilityRight(ed), ed => ed.getPosition()!, ed => ed.getPosition()!.equals(new Position(1, 50)) ); const actual = serializePipePositions(text, actualStops); assert.deepStrictEqual(actual, EXPECTED); }); </ins> test('deleteWordLeft for non-empty selection', () => { withTestCodeEditor([ '    tMy First Linet ',

cloudcode2.14.0 overleaf-workshop0.13.0 cslpreview0.2.2 path-autocomplete1.25.0 latex-workshop10.1.0 lilypond-syntax0.1.1 scheme0.2.0 better-cpp-syntax1.17.2 commitlint2.6.0 language-julia1.90.1 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 language-matlab1.2.4 zotero0.1.11 git-graph1.30.0 azure-dev0.8.3 vscode-azureappservice0.25.2 vscode-azurecontainerapps0.6.1 vscode-azurefunctions1.15.1 vscode-azureresourcegroups0.8.3 vscode-azurestaticwebapps0.12.2 vscode-azurestorage0.16.0 vscode-azurevirtualmachines0.6.5 vscode-cosmosdb0.22.0 vscode-docker1.29.1 vscode-edge-devtools2.1.5 black-formatter2024.3. debugpy2024.9. flake82023.13. isort2023.13. python2024.11. vscode-pylance2024.7.1 jupyter2024.6. jupyter-keymap1.1.2 jupyter-renderers1.0.18 vscode-jupyter-cell-tags0.1.8 vscode-jupyter-slideshow0.1.5 remote-containers0.377.0 remote-ssh0.113. remote-ssh-edit0.86.0 remote-wsl0.81.8 vscode-remote-extensionpack0.25.0 azure-account0.12.0 azure-repos0.38.0 cmake-tools1.18.43 cpptools1.21.0 cpptools-extension-pack1.3.0 js-debug-nightly2024.7.517 powershell2024.3.2 remote-explorer0.5. remote-repositories0.40.0 remote-server1.6.


Question: assert.deepStrictEqual(actual, EXPECTED); }); <ins> test('cursorWordAccessibilityLeft', () => { const EXPECTED = ['|   /* |Just |some   |more   |text |a+= |3 +|5-|3 + |7 */  '].join('n'); const [text,] = deserializePipePositions(EXPECTED); const actualStops = testRepeatedActionAndExtractPositions( text, new Position(1000, 1000), ed => cursorWordAccessibilityLeft(ed), ed => ed.getPosition()!, ed => ed.getPosition()!.equals(new Position(1, 1)) ); const actual = serializePipePositions(text, actualStops); assert.deepStrictEqual(actual, EXPECTED); }); test('cursorWordAccessibilityRight', () => { const EXPECTED = ['   /* |Just |some   |more   |text |a+= |3 +|5-|3 + |7 */  |'].join('n'); const [text,] = deserializePipePositions(EXPECTED); const actualStops = testRepeatedActionAndExtractPositions( text, new Position(1, 1), ed => cursorWordAccessibilityRight(ed), ed => ed.getPosition()!, ed => ed.getPosition()!.equals(new Position(1, 50)) ); const actual = serializePipePositions(text, actualStops); assert.deepStrictEqual(actual, EXPECTED); }); </ins> test('deleteWordLeft for non-empty selection', () => { withTestCodeEditor([ '    tMy First Linet ',

vscode-github-issue-notebooks0.0.130 vscode-node-azure-pack1.2.0 vscode-selfhost-test-provider0.3.25 vscode-serial-monitor0.12.0 vscode-speech0.10.0 vscode-speech-language-pack-ko-kr0.4.0 vsliveshare1.0.5932 windows-ai-studio0.3.3 autodocstring0.6.1 pandocciter0.10.4 publisher1.1.3 shiny1.0.0 shinyuieditor0.5.0 quarto1.113.0 r-debugger0.5.4 java1.32.0 vscode-xml0.27.1 vscode-yaml1.14.0 r2.8.4 multi-command1.6.0 AudioQ0.0.2 vscode-deepl1.1.1 abc-music0.4.0 lua3.9.3 latex-utilities0.4.14 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.58.0 vscode-java-dependency0.23.7 vscode-java-pack0.27.0 vscode-java-test0.41.1 vscode-maven0.44.0 zotero-cite0.8.6 markdown-all-in-one3.6.2 grammarly0.25.0 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
do you know why this isn't currently supported?
It seems to work for me in Mac, are you seeing it otherwise?
It does work for me, although sometimes with the screen reader enabled, it's reading the word then a whole chunk of text. I'll try on windows.
It’s not working in Windows.
Can reproduce on windows. I see that this is happening because there's a part of the when clause for and of for windows
Removing that from the clause fixes it. Looks like that condition was to fix this can you try removing that condition from the clause and seeing if you experience any consequences of doing so?


Question: }); } <del> public toggleShowBaseAtTop(): void { </del> <ins> public toggleShowBaseTop(): void { const showBaseTop = this._layoutMode.value.showBase && this._layoutMode.value.showBaseAtTop; </ins> this.setLayout({ ...this._layoutMode.value, <del> showBaseAtTop: !this._layoutMode.value.showBaseAtTop, </del> <ins> showBaseAtTop: true, showBase: !showBaseTop, }); } public toggleShowBaseCenter(): void { const showBaseCenter = this._layoutMode.value.showBase && !this._layoutMode.value.showBaseAtTop; this.setLayout({ ...this._layoutMode.value, showBaseAtTop: false, showBase: !showBaseCenter, </ins> }); }

This looks and reads a bit weird to me: <img width="262" alt="image" src="https://user-"This does not really do anything when I am in Column Layout which I think is even the default.
Can context menu entries be hidden when a context key condition fails?
I think or the clause of the command, I always forget: knows for sure
precondition just disables that entry, it doesn't hide it
try with:
It is the clause that defines if an item appears in the menu
In addition to hiding this when it doesn't apply: can we find a better solution for when it applies. Can we have for column mode Show Base for mixed mode (radio-logic for these two) Show Base At Top Show Base In Middle
Fixed <img width="167" alt="image" src="https://user-"
I still find this weird: <img width="198" alt="image" src="https://user-"Throwing in some ideas: Column Layout I would think just a toggle for the base is fine so that it becomes a single entry. Mixed Layout A radio group of 3 entries: "Hide Base", "Show Base Top", "Show Base Center". Alternatively if we worry about too many entries, we could also do a submenu for "Base" specifically with these options.
Jo's suggestion in is also fine, but I think we need that third entry to allow for hiding when in mixed layout.
Verification steps: Open a merge conflict and verify these menu entries: ! !


Question: @IClipboardService private readonly _clipboardService: IClipboardService, @IThemeService private readonly _themeService: IThemeService, @IConfigurationService private readonly _configurationService: IConfigurationService, <del> @ILogService private _logService: ILogService </del> <ins> @ILogService private _logService: ILogService, @IStorageService private readonly _storageService: IStorageService, </ins> ) { this._disposables = []; this._skipTerminalCommands = [];

Upstream:
It's not true that it takes very long. It does not get visible at all. I have to downsize the terminal pane to a certain size to make it visible again. In my case it's about 5-10 lines. Seems to me that the canvas is not resized properly. There are no problems if I disable GPU rendering (code --disable-gpu). Also without any noticeable performance issues. Would be nice to have a flag in the preferences to disable GPU rendering as a quick workaround. One of the reasons for using code (instead of Atom or Sublime) was the integrated terminal which seems to be broken since the new canvas rendering was introduced. My System Config: OS X 10.11.6, GPU: NVidia 8800, 4GB RAM
that will probably get fixed as part of this as well, it's probably something to do with your GPU/Chromium not liking the texture sizes above a certain size.


Question: } export class TerminalInstance implements ITerminalInstance { <del> private static readonly WINDOWS_EOL_REGEX = /r?n/g; </del> <ins> private static readonly EOL_REGEX = /r?n/g; </ins> private static _terminalProcessFactory: ITerminalProcessFactory = new StandardTerminalProcessFactory(); private static _lastKnownDimensions: Dimension = null;

VSCode Version: Version 1.12.2 (1.12.2) OS Version: OS X E Capitan 10.11.6 Steps to Reproduce: integrated terminal <kbdctrl+`</kbdterminal: key combination <kbdctrl + j</kbdExpected Cursor moves back a word, this the behavior that iTerm and exhibit Actual Newline is sent, essentially the same as using <kbdreturn</kbd
doesn't seem to be in the path in for me?
It's in zsh which is in mac by default? So just type in
Works for me, if you remove the backtick from your command: Not
Oh that was a typo, I am using Hmm that works in the integrated terminal for you? Using zsh without a .zshrc: Expected (in iTerm): ! <kbdctrl + j</kbdcauses the cursor to jump back to the beginning of each word. Actual (in integrated terminal): ! Should have probably left this gif linger a bit longer but at the end it says: As if you had just pressed <kbdreturn</kbd.
FYI, I just tried rebinding <kbdctrl + j</kbdwith bash's native binding commands: Again this works in iTerm and but not in the integrated terminal. Expected Terminal screen should be cleared Actual Newline is sent, essentially the same as using return
Hm I doesn't seem to be working anymore, maybe I didn't test it right or something. I looked into it a little bit, it seems to work fine in the demo which is the underlying library used. so that's why it's happening. The question is why does it work in the demo but not VS Code. It definitely gets registered within zsh inside VS Code: <img width="430" alt="screen shot 2017-05-17 at 9 50 05 pm" src=""Stepping through the code nothing stuck out as misbehaving through when run inside VS Code; they appear to both be sending 'n'. Nothing in the seems to be wrong either.
Aw I was really of hoping it was something wrong with my local configuration. Also I got the same behavior when trying it on windows + cygwin with a fresh install of vscode, <kbdctrl + j</kbdnot being distinguished from newline.
Hey just wondering if there was any progress on this?


Question: } export class TerminalInstance implements ITerminalInstance { <del> private static readonly WINDOWS_EOL_REGEX = /r?n/g; </del> <ins> private static readonly EOL_REGEX = /r?n/g; </ins> private static _terminalProcessFactory: ITerminalProcessFactory = new StandardTerminalProcessFactory(); private static _lastKnownDimensions: Dimension = null;

If this is low priority could one of the contributors point me a area/file that might be causing the issue? Thanks!
I can't look into it any further right now, I'm pretty stumped on where to go from here though. It's a pretty technical problem so it might not be the easiest thing to jump in to. If you want to you can start by cloning and trying to reproduce it using the demo. If you can reproduce it you can check what's sent to the backend by loading up devtools and debugging If works fine, it would be a matter of doing a similar exercise but figuring out why VS Code behaves different by debugging similar code.
(Copied from ) This was happening because ctrl+j translates to (see ) and since we normalized to all input to the pty, this was getting lost and converted to a new line. The fix here is to never "sanitize" data that has already been processed by (ie. key strokes and paste) as knows how to handle them. We only need to process text that we send directly to the terminal such as a script the user is running or text being pasted into vim, etc.
Hmm just updated to 1.14.1 and this still isn't working for me... !
This will only be in 1.15.
Oh okay thanks.


Question: // never wrap hidden editor result.wordWrapOverride1 = 'off'; result.wordWrapOverride2 = 'off'; <ins> result.stickyScroll = { enabled: false }; </ins> } else { result.wordWrapOverride1 = this._options.diffWordWrap; }

enable sticky scroll open a diff editor in a TS file toggle inline diff observe that the original line numbers are garbled We could disable sticky scroll in the original editor when the diff editor is rendered to be inline here --


Question: KeybindingsRegistry.registerCommandAndKeybindingRule({ id: 'scm.clearInput', weight: KeybindingWeight.WorkbenchContrib, <del> when: ContextKeyExpr.has('scmRepository'), </del> <ins> when: ContextKeyExpr.and(ContextKeyExpr.has('scmRepository'), SuggestContext.Visible.toNegated()), </ins> primary: KeyCode.Escape, handler: async (accessor) => { const scmService = accessor.get(ISCMService);

Type my long commit message Type and suggest widget for issues pops up aggressively Press esc to get rid of it All the commit text is gone I think this is new?


Question: this.compressedFocusFirstContext = ExplorerCompressedFirstFocusContext.bindTo(contextKeyService); this.compressedFocusLastContext = ExplorerCompressedLastFocusContext.bindTo(contextKeyService); this.viewHasSomeCollapsibleRootItem = ViewHasSomeCollapsibleRootItemContext.bindTo(contextKeyService); <ins> this.viewVisibleContextKey = ExplorerViewletVisibleContext.bindTo(contextKeyService); </ins> this.explorerService.registerView(this); }

open explorer select a file press and to copy paste a file in place :bug: nothing happens, in the past I would get a copy of the file
Hmmm. I cannot repro this and am able to copy and paste. Do you have any custom keybindings? What is your setting?
It's the default, this is from the keybindings log
Hmmm I wonder what has happening with your keybindings. Here's mine triggering the explorer specific ones with the proper when clauses. Is your explorer in a non-default position (i.e. not the activity bar)
This gets more and more interesting... The keybinding is there and not (re)configured but it looks like something is wrong with context keys. The seems AWOL. Maybe that's because I moved the explorer around very much last endgame? <img width="2819" alt="Screenshot 2023-03-01 at 16 55 16" src="https://user-"
Think I found the bug. the folders view to the right sidebar the remaining explorer view container in the activity bar Can't copy and past in the explorer anymore
I know this is very early into the next release cycle, but could this be released in a patch to stable VSCode? I have been bitten by this in stable VSCode after the February 2023 update, by dragging Explorer over to the secondary sidebar. Or is there a workaround to restore functioning of these keys, other than resetting the user profile altogether? I've tried dragging the Explorer menu back, and also right-clicking and selecting "Reset Location". Neither seems to "restore" the functionality of these keys. This affects any command using in , such as deleting a file with the Delete key (hopefully people find this issue instead of creating a new one for every such broken key). The workaround I've managed to apply is to manually remove from every expression possible, which may have side effects, but it works in a pinch. Copy all the keybindings below (expand for details, grab bindings between the comments) into your to fix this in a pinch. <details</summary</details
Does the command in the command palette not fix it for you? This will reset all your views to their default positions.
My keybindings workaround bypassed the issue on my home computer yesterday.


Question: this.compressedFocusFirstContext = ExplorerCompressedFirstFocusContext.bindTo(contextKeyService); this.compressedFocusLastContext = ExplorerCompressedLastFocusContext.bindTo(contextKeyService); this.viewHasSomeCollapsibleRootItem = ViewHasSomeCollapsibleRootItemContext.bindTo(contextKeyService); <ins> this.viewVisibleContextKey = ExplorerViewletVisibleContext.bindTo(contextKeyService); </ins> this.explorerService.registerView(this); }

Now I'm at work (both are Windows machines, VSCode up to date), and I went to try your approach. However, I have a lot of menus in my secondary sidebar, so I didn't want to on my main profile, so I did the following: Ensure my workaround from before is commented out Export the profile as Import the profile Switch to that profile Verify that the key doesn't work First, try the less invasive, right-click on Explorer button in secondary sidebar and click key, and others, works again, even when putting the Explorer back in the secondary sidebar Curiously, switching back to the profile, the key, and others, works again, even when putting the Explorer back in the secondary sidebar Never had to go the nuclear option and So, some funny business related to one of the steps above, probably the settings profile shuffle, restored basic functionality of those keys, without having to manually tweak the expressions as before, and without having to go nuclear and . It's possible to work around this with some UI shuffling, but your mileage may vary. My initial request to backport the patch to stable VSCode is not so serious since there are a few workarounds documented here. Also, thanks for the quick work in the PR! I'm looking forward for this behavior to stabilize in future versions, since secondary sidebar Explorer view (without the compromise of moving the whole primary sidebar over) is great!


Question: this.compressedFocusFirstContext = ExplorerCompressedFirstFocusContext.bindTo(contextKeyService); this.compressedFocusLastContext = ExplorerCompressedLastFocusContext.bindTo(contextKeyService); this.viewHasSomeCollapsibleRootItem = ViewHasSomeCollapsibleRootItemContext.bindTo(contextKeyService); <ins> this.viewVisibleContextKey = ExplorerViewletVisibleContext.bindTo(contextKeyService); </ins> this.explorerService.registerView(this); }

mac select an entry in the explorer press to trigger rename the file is being opened, no rename log
tested on windows and this doesn't work for me - not sure if it's necessarily platform specific
Steps to verify explorer that keybindings still work for the explorer
Mac Pro (Intel 2019) user here. I also have the same problem. Before pressing can rename files but now it just navigates to the file editor window.
This will be fixed in the next release which comes out sometime this week. In the meantime -should fix it for you.
Thank you for prompt reply. Yes, it works fine now!!


Question: "statusBarItem.remoteBackground": "#16825D", "sideBarSectionHeader.background": "#0000", "sideBarSectionHeader.border": "#61616130", <del> "notebook.cellFocusBackground": "#c8ddf150", </del> <ins> "notebook.focusedCellBackground": "#c8ddf150", </ins> "notebook.cellBorderColor": "#dae3e9", "notebook.outputContainerBackgroundColor": "#c8ddf150", "notebook.focusedCellShadow": "#00315040"

! Which causes the output bg to look slightly off: ! This should be , probably happened after the color token name changes during endgame testing.


Question: .extensions-viewlet > .extensions .extension-list-item.loading > .icon-container { display: none; } <ins> .extensions-viewlet.narrow > .extensions .extension-list-item > .icon-container { display: flex; align-items: flex-start; padding-top: 10px; } </ins> .extensions-viewlet.narrow > .extensions .extension-list-item > .icon-container > .icon { width: 24px; height: 24px; <del> padding-top: 8px; padding-right: 6px; </del> <ins> padding-right: 8px; </ins> } .extensions-viewlet:not(.narrow) > .extensions .extension-list-item > .details > .header-container > .header > .extension-remote-badge-container,

While helping Marketplace improve extension search I noticed that for most queries there are no more than 5 good results. And we currently show an infinite list which depending on Monitor size would show 10 - 20 extensions. Also we sometimes struggle with the small size of extension items in the list - not enough space for all the decorations we would like to render. Based on the two above, I suggest we explore with increasing the vertical size of the extension items in the list. Ideally this would allow to present the information in a cleaner way when users search for extensions. I am not sure how this would effect the list of installed and recommended extensions. Ideally we would also increase the size of those to be consistent, but for those cases I am not convinced if it would be a win. what do you think? for ux thoughts Example from my screen !
From a visual standpoint it makes sense to explore giving these some breathing room. As far as solving for quality results, I don't know if making them bigger will necessarily solve that problem alone. It could be that we have a sort of "Top Results" section up top with the remaining results in another section. Just one idea off the top of my head.
I agree its worth exploring it give more space for an extension in the viewlet. But this might impact if the size of the screen is smaller.
We closed this issue because we in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider. If you wonder what we are up to, please see our and . Thanks for your understanding, and happy coding!
I see this is merged and should be latest VS Code Insiders but I do not see any changes in my VS Code Insiders. am I missing something here?
I'm seeing the latest after updating: <img width="320" alt="CleanShot 2023-01-03 at 08 48 48 src="https://user-"<img width="328" alt="CleanShot 2023-01-03 at 08 49 32 src="https://user-"
I just got the update. Looks ok to me - I will need some time to adjust. Let's see what insiders users and the rest of the team says :)


Question: } } }); this.registerExtensionAction({ id: SwitchToReleasedVersionAction.ID, title: SwitchToReleasedVersionAction.TITLE,

<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --I saw and created this issue anyway because I think that issue is a) too old b) has too many other things going on. <!-- Describe the feature you'd like. --For me, personally, I'd like a simple way to enable/disable automatic extension updates per extension. I really care about updates for many of them and want to read the changelog before I update but for some, like Copilot, who get several updates a day, I really just want to always be on the latest. Copying section 7 from the above: Users could opt-out of Auto-Update for specific extensions, with toggle button next to Disable/Uninstall in Extensions Sidebar (under gear icon menu) and next to those buttons in Extensions Detail Page. This could allow users to stick with previous versions before new high-risk permissions became required This could allow avoiding updating to problematic versions of extensions until issues are resolved. This could allow users to manually review/approve updates based on reviews and changelog for higher (security or reliability) risk extensions This could be controlled per extension without disabling globally as may be desired by default for most extensions. Can be set per extension to "Default" vs Auto-Update vs. Disable Automates, like with Firefox, with Default behavior controlled through global setting. Could provide Undo Update button or choose from version history (like with Chrome/Firefox extension stores) on extension details page, to enable rollback to previous version after an update causes issues, instead of just disabling until if/when ever fixed.
Have you tried to select specific version for extension? This should effectively force version and prevent updates.
No, would that still show if there was an update available?
It should show. Also September 22 update had few updates to including . Check it out
Supported auto updating options per extension/publisher <img width="550" alt="image" src=""This is enabled when auto update mode is disabled or set to (new config)


Question: 'type': 'object', 'properties': { 'problems.decorations.enabled': { <del> 'markdownDescription': localize('markers.showOnFile', "Show Errors & Warnings on files and folder. Overwritten by `#problems.visibility#` when `{0}` is off.", `problems.visibility`), </del> <ins> 'markdownDescription': localize('markers.showOnFile', "Show Errors & Warnings on files and folder. Overwritten by `#problems.visibility#` when it is off."), </ins> 'type': 'boolean', 'default': true }

Testing Why is the setting name linked once and once it just shows the ID? Both should be linked, or maybe you can rephrase it to just use the setting name once like <img width="548" alt="image" src=""
That's a good point yeah


Question: Range.fromPositions(primaryPosition, primaryEditEndPosition) ); const positionWithinTextEdit = subtractPositions(primaryPosition, primaryEditStartPosition); <ins> if (positionWithinTextEdit.lineNumber < 1) { onUnexpectedError(new BugIndicatingError( `positionWithinTextEdit line number should be bigger than 0. Invalid subtraction between ${primaryPosition.toString()} and ${primaryEditStartPosition.toString()}` )); return []; } </ins> const secondaryEditText = substringPos(primaryEdit.text, positionWithinTextEdit); return secondaryPositions.map(pos => { const posEnd = addPositions(subtractPositions(pos, primaryEditStartPosition), primaryEditEndPosition);

There is a injected text that is left over on line 52: <img width="883" alt="image" src=""Saw this stack-trace, I'm not sure if it's related or not:
I am trying to reproduce this issue but am currently not able to. Do you know what is the file you were triggering inline completions on, and what inline completions you saw ?


Question: dependencies: object-keys "~0.4.0" <del> xterm-addon-search@0.9.0-beta.39: version "0.9.0-beta.39" resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.9.0-beta.39.tgz#e8376e1485ee7d763c07d1a8f1354114f65b3e3e" integrity sha512-h45wkecgfqXXoAUqgNytAfSd6g0xNT6rZy/enVaEU0aes7QoL9pxHUKkCry8PP6hs03Slk0VxQ4AGsbSZGvK/w== </del> <ins> xterm-addon-search@0.9.0-beta.41: version "0.9.0-beta.41" resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.9.0-beta.41.tgz#0992da36fe01ff6d71449265a9dabeef7f9d0a3f" integrity sha512-b1vuWR5JZ8QIiObbKkwSzpzf4x0B9hdzGCHJG+PXWT/xbxk65DOe/X9rgrRyOnCWe5ylQGG4DIHTiREigTp0lg== </ins> <del> xterm-addon-serialize@0.7.0-beta.13: version "0.7.0-beta.13" resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.7.0-beta.13.tgz#5c859c8657cab7f28405aab1a0715daf54bc7714" integrity sha512-TYFlm/gds0pOmpzXw7ZWx8Cy48lMaOZZqZgfm5pWU37HPvzfKxXSVdYL1biWpRCH2zCH+3cWmOma8W1pBRr+Eg== </del> <ins> xterm-addon-serialize@0.7.0-beta.15: version "0.7.0-beta.15" resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.7.0-beta.15.tgz#0f7d5f9b423802ac67c2a891d74de530a4fe6a65" integrity sha512-gO/dxqGgOAuj7DN2ETTeCHyalkb655XogZh5408CmH5D6mjI1lxqVLGUdiFeBVU/OHfWZT2PZ95k06VXqLU5kA== </ins> xterm-addon-unicode11@0.4.0-beta.3: version "0.4.0-beta.3" resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.4.0-beta.3.tgz#f350184155fafd5ad0d6fbf31d13e6ca7dea1efa" integrity sha512-FryZAVwbUjKTmwXnm1trch/2XO60F5JsDvOkZhzobV1hm10sFLVuZpFyHXiUx7TFeeFsvNP+S77LAtWoeT5z+Q== <del> xterm-addon-webgl@0.12.0-beta.41: version "0.12.0-beta.41" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.12.0-beta.41.tgz#17dbca975b6e9b34526ebc57f4de59ee295da1b6" integrity sha512-wvQxC5diMYEJEMaILfz+4CWB2GgtzjzNQRNDnK7R7Y9wDI+P4idDlQKgyH0nA93sl9R4zgqlBVha//wuq4vfZg== </del> <ins> xterm-addon-webgl@0.12.0-beta.43: version "0.12.0-beta.43" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.12.0-beta.43.tgz#916ed4e390371403aab0d277097cd8a61be436e8" integrity sha512-hGXfwT6TOmp0tBDiS/iF8s0SLHLd3shJ5zQyS4HNtq99B5cEhHhwaUAZAfjLt5rnUt0kvqR9YWtGsDux5dWVLA== </ins> <del> xterm-headless@4.19.0-beta.60: version "4.19.0-beta.60" resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-4.19.0-beta.60.tgz#ccd09a7c69ba487d3fd87d6a8d159f1a6a10e9b2" integrity sha512-mJ24BRnEDCASJDTGFZysZxiXkCmed3eMFiWCPvIF48LVrqxt1cImoVKBlxqkdgUkHKjfF2c92S1TTBL5aT1I0w== </del> <ins> xterm-headless@4.19.0-beta.67: version "4.19.0-beta.67" resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-4.19.0-beta.67.tgz#fe44a243974bf307c9a0694114ab45289734c7f9" integrity sha512-rpxUsE/te2LN4B/erI108uaAhuLTUsnRl9zIZgcqMqZGFRqDUTtyVM05jIA/8A32g06wFd3WioTkeKc6ow+sLg== </ins> <del> xterm@4.19.0-beta.60: version "4.19.0-beta.60" resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.19.0-beta.60.tgz#de89d93153ae3ec17b53f3e5d03b8ea859126081" integrity sha512-YQjvp4xtSAyNm9+gF4OA5+QzkSWdKMCy4WABETpe7CsrEGx+mJVoXCZ9wgopmvwRXz7DeJvKM5dWz1HPjVLDtA== </del> <ins> xterm@4.19.0-beta.67: version "4.19.0-beta.67" resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.19.0-beta.67.tgz#9a7d79be64469c91bb693b9f5a50b5a22e921cd3" integrity sha512-4bYTnT6g91N5QId1qPaiSvkpsxMQYpuPdPJItvBZFOcQLTuFSX85x5NeFuDvhNqi33eMFPimyGhzH/JvAV1v/Q== </ins> y18n@^3.2.1: version "3.2.2"

https://user-
Related ,
happening bc the first line's marker isn't disposed of (and thus the decoration isn't either) !
so maybe we should have some API on xterm like so that can be handled specially?
oh here's the issue that solved but looks like that actually wasn't solved anyway
Just to confirm, to verify this issue, are you typing commands followed by the clear command in between? Or are you clearing the terminal another way?
Typing and clearing
Pretty sure this is the command, not run in the terminal


Question: dependencies: object-keys "~0.4.0" <del> xterm-addon-search@0.9.0-beta.39: version "0.9.0-beta.39" resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.9.0-beta.39.tgz#e8376e1485ee7d763c07d1a8f1354114f65b3e3e" integrity sha512-h45wkecgfqXXoAUqgNytAfSd6g0xNT6rZy/enVaEU0aes7QoL9pxHUKkCry8PP6hs03Slk0VxQ4AGsbSZGvK/w== </del> <ins> xterm-addon-search@0.9.0-beta.41: version "0.9.0-beta.41" resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.9.0-beta.41.tgz#0992da36fe01ff6d71449265a9dabeef7f9d0a3f" integrity sha512-b1vuWR5JZ8QIiObbKkwSzpzf4x0B9hdzGCHJG+PXWT/xbxk65DOe/X9rgrRyOnCWe5ylQGG4DIHTiREigTp0lg== </ins> <del> xterm-addon-serialize@0.7.0-beta.13: version "0.7.0-beta.13" resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.7.0-beta.13.tgz#5c859c8657cab7f28405aab1a0715daf54bc7714" integrity sha512-TYFlm/gds0pOmpzXw7ZWx8Cy48lMaOZZqZgfm5pWU37HPvzfKxXSVdYL1biWpRCH2zCH+3cWmOma8W1pBRr+Eg== </del> <ins> xterm-addon-serialize@0.7.0-beta.15: version "0.7.0-beta.15" resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.7.0-beta.15.tgz#0f7d5f9b423802ac67c2a891d74de530a4fe6a65" integrity sha512-gO/dxqGgOAuj7DN2ETTeCHyalkb655XogZh5408CmH5D6mjI1lxqVLGUdiFeBVU/OHfWZT2PZ95k06VXqLU5kA== </ins> xterm-addon-unicode11@0.4.0-beta.3: version "0.4.0-beta.3" resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.4.0-beta.3.tgz#f350184155fafd5ad0d6fbf31d13e6ca7dea1efa" integrity sha512-FryZAVwbUjKTmwXnm1trch/2XO60F5JsDvOkZhzobV1hm10sFLVuZpFyHXiUx7TFeeFsvNP+S77LAtWoeT5z+Q== <del> xterm-addon-webgl@0.12.0-beta.41: version "0.12.0-beta.41" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.12.0-beta.41.tgz#17dbca975b6e9b34526ebc57f4de59ee295da1b6" integrity sha512-wvQxC5diMYEJEMaILfz+4CWB2GgtzjzNQRNDnK7R7Y9wDI+P4idDlQKgyH0nA93sl9R4zgqlBVha//wuq4vfZg== </del> <ins> xterm-addon-webgl@0.12.0-beta.43: version "0.12.0-beta.43" resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.12.0-beta.43.tgz#916ed4e390371403aab0d277097cd8a61be436e8" integrity sha512-hGXfwT6TOmp0tBDiS/iF8s0SLHLd3shJ5zQyS4HNtq99B5cEhHhwaUAZAfjLt5rnUt0kvqR9YWtGsDux5dWVLA== </ins> <del> xterm-headless@4.19.0-beta.60: version "4.19.0-beta.60" resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-4.19.0-beta.60.tgz#ccd09a7c69ba487d3fd87d6a8d159f1a6a10e9b2" integrity sha512-mJ24BRnEDCASJDTGFZysZxiXkCmed3eMFiWCPvIF48LVrqxt1cImoVKBlxqkdgUkHKjfF2c92S1TTBL5aT1I0w== </del> <ins> xterm-headless@4.19.0-beta.67: version "4.19.0-beta.67" resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-4.19.0-beta.67.tgz#fe44a243974bf307c9a0694114ab45289734c7f9" integrity sha512-rpxUsE/te2LN4B/erI108uaAhuLTUsnRl9zIZgcqMqZGFRqDUTtyVM05jIA/8A32g06wFd3WioTkeKc6ow+sLg== </ins> <del> xterm@4.19.0-beta.60: version "4.19.0-beta.60" resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.19.0-beta.60.tgz#de89d93153ae3ec17b53f3e5d03b8ea859126081" integrity sha512-YQjvp4xtSAyNm9+gF4OA5+QzkSWdKMCy4WABETpe7CsrEGx+mJVoXCZ9wgopmvwRXz7DeJvKM5dWz1HPjVLDtA== </del> <ins> xterm@4.19.0-beta.67: version "4.19.0-beta.67" resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.19.0-beta.67.tgz#9a7d79be64469c91bb693b9f5a50b5a22e921cd3" integrity sha512-4bYTnT6g91N5QId1qPaiSvkpsxMQYpuPdPJItvBZFOcQLTuFSX85x5NeFuDvhNqi33eMFPimyGhzH/JvAV1v/Q== </ins> y18n@^3.2.1: version "3.2.2"

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.50.1 OS Version: 10.15.7 Steps to Reproduce: system input source to shuangpin, before which add shuangpin as an input source. ! caps lock, with caps lock unlock, you will input Chinese character, which is an expected behavior. something in the integrated terminal, I can only input upper case letters. But when I input something in editor or some other application, I can input lower case letters. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes. Actually I think it might be the problem of might decide the letters by cap lock. This is not as expected with shuangpin mode.
This looks like an upstream issue in
Thanks for replying. Opened an issue for


Question: }); try { <del> const result = await this._proxy.$executeCommand<T>(id, toArgs, retry); </del> <ins> const result = await this._proxy.$executeCommand<T>(id, hasBuffers ? new SerializableObjectWithBuffers(toArgs) : toArgs, retry); </ins> return revive<any>(result); } catch (e) { // Rerun the command when it wasn't known, had arguments, and when retry

Currently when using , ArrayBuffers just turn into an empty object. We should support these for efficient data transfer between extensions/extension hosts. We recently support for them on a protocol level, so support here should not be terribly hard...
I see two possible approaches to support this: this logic specifically for commands (or even just for a specific command). This is what we do for webviews for example: our implementation aware of array buffers instead of only supporting VSBuffers. Take a look at how is used in our rpc code as a starting point: The webview serialization logic I linked to above would probably be a good starting point for this


Question: @memoize get onDidChangeFocus() { return Event.map( <del> this._tree.onDidChangeFocus, </del> <ins> Event.any(this._tree.onDidChangeFocus, this._onTriggerEmptySelectionOrFocus.event), </ins> e => e.elements.filter((e): e is QuickPickItemElement => e instanceof QuickPickItemElement).map(e => e.item) ); }

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.88.0-insider OS Version: MacOs Steps to Reproduce: In the python and python debugger extension we use the QuickPick, we add an option to accept the value in the input. It was working in stable, but in insiders it doesn't work. Steps: a picker some text in the input box, make sure that it match with one option at first. enter, to select the text in the input box. last value that appeared in the list is the one that is selected. You can check the implementation . I was debugging the code a little bit, and found that in stable when you press enter, the function is called. But in insider when you press enter instead of call that function, the function is called.
Verification: Install Python extension Open a python workspace with no Open the debug pane and click the "create a file" Choose Python Debugger Choose Django Type ONLY 'b' and notice that "Browse Files" becomes the active item Type then, 'z' and notice that the list is empty hit ENTER and notice that the gets created with "bz" in the
The fix fully resolves as well!
Resolves my issue as well.


Question: group: '', title: nls.localize('actions.clipboard.cutLabel', "Cut"), order: 1 <ins> }, { menuId: MenuId.SimpleEditorContext, group: CLIPBOARD_CONTEXT_MENU_GROUP, title: nls.localize('actions.clipboard.cutLabel', "Cut"), when: EditorContextKeys.writable, order: 1, </ins> }] })) : undefined;

re focus SCM input show context menu the is a entry "Command Palette..." which is awkward <img width="703" alt="image" src="https://user-"
Related to this, on my system that context menu also gives me entries that have been contributed by a couple of my extensions.
Same issue on macOS as well
This happens across all our inputs which use the Editor. IMO we should not include all those contributions and should just have , & in that menu. What's the simplest way towards this
The "Command Palette..." should potentially have a better context key for , not :
Thanks! But this is actually only half of the story. As mentions, extension contributed commands show up: ! Should we file issues to these extensions, suggesting to change their clauses?
It might be better/simpler to have another menu id, something like or even something SCM specific
To reproduce, you can use:


Question: "type": "array", "markdownDescription": "%config.branchRandomNameDictionary%", "items": { <del> "type": "string" </del> <ins> "type": "string", "enum": [ "adjectives", "animals", "colors", "numbers" ], "enumDescriptions": [ "%config.branchRandomNameDictionary.adjectives%", "%config.branchRandomNameDictionary.animals%", "%config.branchRandomNameDictionary.colors%", "%config.branchRandomNameDictionary.numbers%" ] </ins> }, "default": [ "adjectives",

Testing The description of 'git.branchRandomName.dictionary' could be improved to say that each value represents a segment.


Question: "type": "array", "markdownDescription": "%config.branchRandomNameDictionary%", "items": { <del> "type": "string" </del> <ins> "type": "string", "enum": [ "adjectives", "animals", "colors", "numbers" ], "enumDescriptions": [ "%config.branchRandomNameDictionary.adjectives%", "%config.branchRandomNameDictionary.animals%", "%config.branchRandomNameDictionary.colors%", "%config.branchRandomNameDictionary.numbers%" ] </ins> }, "default": [ "adjectives",

Testing Open the settings UI for the settings and add new values. Observe that you can any input (not just , ...) and there is no warning when a value is mistyped. This can be easily improved by adding an enum to the items: This will limit the items to the given values and show as a combo box in the settings UI: !


Question: return DOM.isAncestorOfActiveElement(this.container); } <ins> getFocus(): ExplorerItem[] { return this.tree.getFocus(); } focusNext(): void { this.tree.focusNext(); } focusLast(): void { this.tree.focusLast(); } </ins> getContext(respectMultiSelection: boolean): ExplorerItem[] { return getContext(this.tree.getFocus(), this.tree.getSelection(), respectMultiSelection, this.renderer); }

Type: <bBug</bWhen pressing to collapse all nodes in a list view it leaves selection in such a state that you cannot expand nodes with until you do something to change the selection. ! I believe what's happening is is leaving the originally selected node selected. So after executing the command you end up with 2 selections, your original selection plus the last root node in the list. The original selection is the primary selection, and if it has no children does not have anything to expand and is a no-op. As a user it looks like you have the root node selected, which has children to expand, but pressing does nothing. Pressing then expands the list to reveal your original selection and you see that you unexpectedly have multiple selections. The current behavior of appears to be: Leave the originally selected node selected Add a second selection to the last root node in the list The expected behavior here is: Move selection to the root node of your currently selected node Ideally this also retains multiple selection: each selection is moved to the root node of that selection. VS Code version: Code - Insiders 1.76.0-insider (, 2023-02-10T16:22:19.445Z) OS version: WindowsNT x64 10.0. Modes: Sandboxed: Yes <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Looking at this again in the File Explorer it looks like the selection highlight is left on the where the original selection was despite the fact that the node is now in a different position. However, the "real" selection is still on the node. This means it looks like one thing is highlighted and pressing opens a different thing.
Just submitted a PR for this. Could you please review it?
What is the behavior supposed to be? Here's what I see: keyboard to focus a tree node that has a parent to collapse all moves to the whole tree and arrow down takes me to the first tree element. Right arrow does nothing.
The current behavior sort-of fixes the issue, insofar as is dodges it by doing something less desirable - moves selection to the whole tree. Imo, selection should remain on the root node(s) of whichever tree branch selection is currently in.


Question: return DOM.isAncestorOfActiveElement(this.container); } <ins> getFocus(): ExplorerItem[] { return this.tree.getFocus(); } focusNext(): void { this.tree.focusNext(); } focusLast(): void { this.tree.focusLast(); } </ins> getContext(respectMultiSelection: boolean): ExplorerItem[] { return getContext(this.tree.getFocus(), this.tree.getSelection(), respectMultiSelection, this.renderer); }

I think this is what the previous behavior was trying to do, it just had an issue with leaving selection in a bad state. A couple examples ([x] denotes current selection): Start state End state, after Stat state End state
I agree, feel free to send an issue for it. Your observations are the fixed state. Here's the entire story: Marking it as verified.


Question: return DOM.isAncestorOfActiveElement(this.container); } <ins> getFocus(): ExplorerItem[] { return this.tree.getFocus(); } focusNext(): void { this.tree.focusNext(); } focusLast(): void { this.tree.focusLast(); } </ins> getContext(respectMultiSelection: boolean): ExplorerItem[] { return getContext(this.tree.getFocus(), this.tree.getSelection(), respectMultiSelection, this.renderer); }

Testing focus on trusted URI list of items tab to navigate to the X to remove an item. Press to trigger removal nicely gets removed from the list, however focus is lost Focus should be preserved in the list on the neighbour item (example: checkout how Explorer does that when deleting a file). I thought this would be tackled via
The trust editor does a lot of full page re-rendering which I should improve (remove) so I doubt this is an issue with the table widget itself.


Question: menu: [{ id: MenuId.ViewTitle, group: 'navigation', <del> order: 3, </del> <ins> order: 2, </ins> when: ContextKeyExpr.and(ContextKeyExpr.equals('view', VIEW_ID), Constants.InTreeViewKey.toNegated()), }] });

Those who are used to having the collapse button on the far right might accidentally hit the search tree toggle. <img width="502" alt="image (2)" src="https://user-"Ideally, move this icon to the other side to prevent confusion. cc
To clarify: I think any new position will have an impact to someones muscle memory, that is probably hard to avoid. For me personally the collapse action was heavily used in search results. maybe for guidance, I also feel like we have quite exhausted the number of actions for the viewlet, maybe about time to think about introducing a "..." and move some there?
That's true, it is getting a little crowded. What else would be in the ? Might seem odd if we don't have plans for anything else in there?
For reference, the button is here for source control (outside of the ) so I wonder if people will expect it to be an actual button with an icon in search? <img width="241" alt="image" src="https://user-"
Yeah I like the idea of keeping this in sync with other views, though we probably missed out on keeping some of the buttons in sync, like the refresh button...
Should we remove the "Open Search Editor" action? it is duplicate, there is a link action also from the results: !
cc
Eh, I think you might want to open a search editor before doing a search in the sidebar too.
! I did some thinking and I think it should go here because: shouldn't go in the far left or right because people probably have muscle memory as refresh/collapse as side-most buttons. shouldn't go on either side of because the icon for that and are too similar, may cause misclicks. So, by process of elimination, it ends up where I placed it in the photo. Any opinions?
I created to move it to the place that I mentioned, but I'm open to other options in the future. Just seems that the new position should be better than what we have now, so I wanted to merge it into insiders at least.
Thanks!


Question: }); this.htmlElements.gutterDiv.style.width = '5px'; <ins> this.htmlElements.root.classList.add(`result`); </ins> this._register( autorunWithStore((reader, store) => {

Here with the long path a "..." would help: <img width="673" alt="image" src="https://user-"


Question: } picker.contextKey = descriptor?.contextKey; picker.filterValue = (value: string) => value.substring(descriptor ? descriptor.prefix.length : 0); <del> if (descriptor?.placeholder) { picker.ariaLabel = descriptor?.placeholder; } </del> // Pick mode: setup a promise that can be resolved // with the selected items and prevent execution

cc: Type: <bBug</bSteps to reproduce: at least 2 files in VSCode. orca. ctrl+tab to switch to the next open file. In my environment orca announces something similar to the following: Is this the expected behavior? VS Code version: Code - Insiders 1.78.0-insider (, 2023-04-06T05:21:17.374Z) OS version: Linux x64 6.2.8-200.fc37.x8664 Modes: Sandboxed: Yes <details<summarySystem Info</summary </details<details<summaryExtensions (42)</summaryExtensionVersion ------ doxdocgen1.4.0 vscode-markdownlint0.49.0 vscode-eslint2.4.0 EditorConfig0.16.4 copilot1.79. rest-client0.25.1 better-cpp-syntax1.17.2 docomment1.0.0 azure-pipelines1.208.0 vscode-docker1.24.0 csharp1.25.4 vscode-dotnet-runtime1.6.0 vscode-kubernetes-tools1.3.11 remote-containers0.289.0 remote-ssh0.101. remote-ssh-edit0.84.0 azure-account0.11.3 cmake-tools1.13.45 cpptools1.15.1 cpptools-extension-pack1.3.0 makefile-tools0.6.0 powershell2023.3.3 remote-explorer0.5. vsliveshare1.0.5834 oracledevtools21.5.0 fabric8-analytics0.3.6 java1.17. vscode-xml0.25. vscode-yaml1.12.2 sonarlint-vscode3.16.0 cmake0.0.17 intellicode-api-usage-examples0.2.7 vscodeintellicode1.2.30 vscode-boot-dev-pack0.2.1 vscode-spring-boot1.45.0 vscode-java-debug0.49. vscode-java-dependency0.21. vscode-java-pack0.25. vscode-java-test0.38. vscode-maven0.41.


Question: } picker.contextKey = descriptor?.contextKey; picker.filterValue = (value: string) => value.substring(descriptor ? descriptor.prefix.length : 0); <del> if (descriptor?.placeholder) { picker.ariaLabel = descriptor?.placeholder; } </del> // Pick mode: setup a promise that can be resolved // with the selected items and prevent execution

vscode-spring-boot-dashboard0.12.0 vscode-spring-initializr0.11.2 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
This is happening because of the fix for I think it is behaving as designed, though will leave that with
That's a bit weird. Since experience does not visually render a placeholder. So I would not expect it gets read out.
Question is, should it say nothing, or is the aria-label for not correct and it should be ? I'm leaning "nothing" because otherwise they might have to hold down until the actual quick pick option highlighted is read out.
I have a fix out with the "nothing" idea... but would love to know what you folks think before I merge.
In version 1.77, when I press ctrl+tab, orca informs me that the focus has moved to a list box and the name of the next file is read. Imagining the following scenario: two files, a.js and b.js. start editing the a.js file. press ctlr+tab. My screen reader reads the following information: List Box, b.js. In my view this behavior would be sufficient.
It is fixed, thanks.


Question: if (configuration.enableTsServerTracing) { if (tsServerTraceDirectory) { <del> this._logger.info(`<${kind}> Trace directory: ${tsServerTraceDirectory}`); </del> <ins> this._logger.info(`<${kind}> Trace directory: ${tsServerTraceDirectory.fsPath}`); </ins> } else { this._logger.error(`<${kind}> Could not create trace directory`); }

Type: <bBug</btypescript server keeps crashing after the latest update VSCODE ! I can reproduce this with all the extensions disabled. LOG: ! VS Code version: Code - Insiders 1.76.0-insider (, 2023-02-03T05:23:17.202Z) OS version: WindowsNT x64 10.0. Modes: Sandboxed: Yes <details<summarySystem Info</summary </details<details<summaryExtensions (11)</summaryExtensionVersion ------ ng-template15.1.0 atlascode3.0.1 vscode-markdownlint0.49.0 vscode-eslint2.2.6 githistory0.6.19 gitlens13.2.0 prettier-vscode9.10.4 vscode-yaml1.11.0 sonarlint-vscode3.14.0 code-spell-checker2.16.0 vscode-stylelint1.2.3 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Please try collecting the TS Server log from the crashed instance: VS Code and reproduce the problem the section of the output panel the very top, find the first line that prints to path to the semantic error log file. It should look something like: That file contains the typescript logs. Look through that log file for the first error or stack trace you see. If you can share the log, I can also take a look to see if anything stands out
, for some reason the log file location is shown as [Object object] (as pointed out by the pink arrow), I checked in the folder pointed out by the red arrow and the folder is empty. ! I have checked this for multiple folder I could see in the log prompt but all of them are empty.
a Microsoft member created same/duplicate issue , in case this could help with the debugging
Confirming that I also see when using verbose setting and all the log files are empty for me, which is also noted and shown on microsoft/vscode.
For me the directory under the object object is also empty, is that the case with you?
Yes, same.
should be fixed in the next insider release: microsoft/vscode
the object object issue is resolved, however, the file pointed by the log still does not exist. can you give it a try if you can see the logs?


Question: if (configuration.enableTsServerTracing) { if (tsServerTraceDirectory) { <del> this._logger.info(`<${kind}> Trace directory: ${tsServerTraceDirectory}`); </del> <ins> this._logger.info(`<${kind}> Trace directory: ${tsServerTraceDirectory.fsPath}`); </ins> } else { this._logger.error(`<${kind}> Could not create trace directory`); }

i did some commenting in the file and found that commenting out setting stops the repeated crash. Note: I am not sure why I have /enabled this setting in the first place.
Oh wow, exactly the same for me. I also do not remember ever setting , but it was in my and removing it fixes the crash for me too!
Also confirming that with latest update is fixed but log directories are still empty. I've closed my bug as a duplicate of this one since it's pretty clear these are the same issue now. Are you able to repro using is Also do you know if this would ever have been set on user's behalf, which could impact the severity here if lots of people would have this in their settings?
Thanks and I can confirm that enabling cause the server to crash on windows. Oddly I don't see it on Mac. The server is likely crashing before logging can start too, which is why the log files don't exist I'm not sure how this setting got enabled for you. It's only meant for detailed performance investigations and should never be turned on automatically
Yay, thank you and


Question: VSCODE_CLI_TARGET: aarch64-unknown-linux-gnu VSCODE_CLI_ARTIFACT: vscode_cli_linux_arm64_cli VSCODE_CLI_ENV: <ins> CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc </ins> OPENSSL_LIB_DIR: $(Build.ArtifactStagingDirectory)/openssl/arm64-linux/lib OPENSSL_INCLUDE_DIR: $(Build.ArtifactStagingDirectory)/openssl/arm64-linux/include

The stage is now a bottleneck to having the platform specific stages run: ! Each job compiles each target serially. We could further parallelize all targets across different jobs. !


Question: }); } <del> async withNotebookDataProvider(resource: URI): Promise<ComplexNotebookProviderInfo | SimpleNotebookProviderInfo> { const [first] = this._notebookProviderInfoStore.getContributedNotebook(resource); if (!first) { </del> <ins> async withNotebookDataProvider(resource: URI, viewType?: string): Promise<ComplexNotebookProviderInfo | SimpleNotebookProviderInfo> { const providers = this._notebookProviderInfoStore.getContributedNotebook(resource); // If we have a viewtype specified we want that data provider, as the resource won't always map correctly const selected = viewType ? providers.find(p => p.id === viewType) : providers[0]; if (!selected) { </ins> throw new Error(`NO contribution for resource: '${resource.toString()}'`); } <del> await this.canResolve(first.id); const result = this._notebookProviders.get(first.id); </del> <ins> await this.canResolve(selected.id); const result = this._notebookProviders.get(selected.id); </ins> if (!result) { <del> throw new Error(`NO provider registered for view type: '${first.id}'`); </del> <ins> throw new Error(`NO provider registered for view type: '${selected.id}'`); </ins> } return result; }

Verifying Version: 1.55.0-insider Commit: Date: 2021-03-25T16:24:13.227Z clone and open in vscode add a to F5 to run the extension Open an untitled file In the editor's tab, choose from the context menu, pick ! a different notebook is opened, no console log statement printed !
Are you able to open markdown notebooks without issue on non untitled files?
Yes, that works. I also tried to open a GitHub issue notebook on an untitled file and while a notebook seems to open which has a 'Github Issues' cell, the function in the GitHub issue notebook source seems not be called. So I'm a bit confused
I did some investigation with this and I can't reproduce it out of sources. When I select it through the reopen with dialog the notebook service receives the correct viewtype, although it always fails to open with the error . I'm not sure why it is failing as the inputs get created correctly and everything seems to be passing through the right way. Let me know if you want to investigate together.


Question: const icon = alwaysPrompt ? '$(lock)' : alwaysCommitToNewBranch ? '$(git-branch)' : undefined; // Tooltip (default) <del> let tooltip = !alwaysCommitToNewBranch ? l10n.t('Commit Changes') : l10n.t('Commit Changes to New Branch'); </del> <ins> const branch = this.repository.HEAD?.name; let tooltip = alwaysCommitToNewBranch ? l10n.t('Commit Changes to New Branch') : branch ? l10n.t('Commit Changes on '{0}'', branch) : l10n.t('Commit Changes'); </ins> // Tooltip (in progress) if (this.repository.operations.isRunning(OperationKind.Commit)) {

<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --In the source control, after changes are staged and a commit message is provided, it's no more possible to see easily the current branch name to commit to: ! The validation button displays a pop-up message, but this does not really add value: ! I propose to display the current branch name in this pop-up: ! This would dispel any doubts about the branch on which one commits. By the way, the same is possible for the "Publish Branch" button. Is it the right idea?
I'll submit a PR for this.
Whoaww, great, thanks. I had a look on it, mostly for curiosity, but I am very far from vsc dev currently... I will review with pleasure.
It's ready for review.
It looks so easy! Thanks. Do you think the 'Publish Branch' popup should be relooked too? The branch name appears in the commit textfield, but depending of the sidebar size it's not always visible. !
~That makes sense. I'll update the PR.~ I first thought this was stated in the issue description too, but it wasn't. So, we should hear from on this.
It is, at the end:
I guess I have to compile the whole vscode if I want to live test?...
Yes. If it's your first time, I suggest using GitHub Codespaces or dev containers, instead of compiling/running it on your plain OS environment.
I've updated the PR to include the branch name on the "Publish Branch" button, too.
Ok perfect! I first thought the screenshots were from my issue, just as an illustration... But it's yours in live, so I guess it's ok. I will investigate for a dev container, it may be useful for next PR... Thx for that.


Question: const icon = alwaysPrompt ? '$(lock)' : alwaysCommitToNewBranch ? '$(git-branch)' : undefined; // Tooltip (default) <del> let tooltip = !alwaysCommitToNewBranch ? l10n.t('Commit Changes') : l10n.t('Commit Changes to New Branch'); </del> <ins> const branch = this.repository.HEAD?.name; let tooltip = alwaysCommitToNewBranch ? l10n.t('Commit Changes to New Branch') : branch ? l10n.t('Commit Changes on '{0}'', branch) : l10n.t('Commit Changes'); </ins> // Tooltip (in progress) if (this.repository.operations.isRunning(OperationKind.Commit)) {

Verification steps: Commit action button Open a folder/workspace that contains a git repository using VS Code Insiders Make a change to a file, and save the file Switch to the "Source Control" view and hover over the "Commit" action button Confirm that the tooltip of the action read Publish Branch action button Open a folder/workspace that contains a git repository using VS Code Insiders Create a new branch Switch to the "Source Control" view and hover over the "Publish Branch" action button Confirm that the tooltip of the action read
Hi, Both verification steps are working. Thanks. Version: 1.75.0-insider Commit: Date: 2023-01-20T05:23:42.626Z Electron: 19.1.9 Chromium: 102.0.5005.194 16.14.2 V8: 10.2.154.23-electron.0 OS: Linux x64 6.0.0-0..6-amd64 Sandboxed: Yes
Do we need to submit a PR to include this in the release notes?
Thanks for the nudge. Added


Question: } export function regExpLeadsToEndlessLoop(regexp: RegExp): boolean { <ins> // Exit early if it's one of these special cases which are meant to match // against an empty string if (regexp.source === "^" || regexp.source === "^$" || regexp.source === "$") { return false; } </ins> // We check against an empty string. If the regular expression doesn't advance // (e.g. ends in an endless loop) it will match an empty string. var match = regexp.exec(''); return (match && <any>regexp.lastIndex === 0); }

Using regex expressions am unable to find empty lines. Tried both the end of line sequence. Copying the same text in sublime simple n finds all the blank lines.
That has been an issue for me for quite a while. Never really checked again if it's already working because I started to automatically open notepad++ again whenever I needed to replace newlines.
This problem could manifest if the lines are being split before searching as opposed to doing a full text search. Interesting side note; seems to work in find in files (Ctrl+Shift+F), just not in the find dialog (Ctrl+F).
Couldn't even find empty lines with ^$ (in case they were being split without EOL).
Looked at the code, it does indeed look at each line individually. I'm created a new issue for multi-line matching


Question: this.extensionRecommendationsService.getImportantRecommendations(), this.extensionRecommendationsService.getFileBasedRecommendations(), this.extensionRecommendationsService.getOtherRecommendations() <del> ])).filter(extensionId => !isString(extensionId) || !local.includes(extensionId.toLowerCase()))); </del> <ins> ])).filter(extensionId => { if (isString(extensionId)) { return !localExtensionIds.includes(extensionId.toLowerCase()); } return !localExtensions.some(localExtension => localExtension.local && this.uriIdentityService.extUri.isEqual(localExtension.local.location, extensionId)); })); </ins> const installableRecommendations = await this.getInstallableRecommendations(allRecommendations, { ...options, source: 'recommendations-all', sortBy: undefined }, token); <del> return new PagedModel(installableRecommendations.slice(0, 8)); </del> <ins> const result: IExtension[] = []; for (let i = 0; i < installableRecommendations.length && result.length < 8; i++) { const recommendation = allRecommendations[i]; if (isString(recommendation)) { const extension = installableRecommendations.find(extension => areSameExtensions(extension.identifier, { id: recommendation })); if (extension) { result.push(extension); } } else { const extension = installableRecommendations.find(extension => extension.resourceExtension && this.uriIdentityService.extUri.isEqual(extension.resourceExtension.location, recommendation)); if (extension) { result.push(extension); } } } return new PagedModel(result); </ins> } private async searchRecommendations(query: Query, options: IQueryOptions, token: CancellationToken): Promise<IPagedModel<IExtension>> {

<!-- 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. --in my project, there are several extensions in our recommended , but vscode sneaks in recommendations that are not recommended by workspace, but by vscode itself: ! in this screenshot, the WSL extension is recommended by vscode, and the YAML extension is recommended by the workspace. you have to hover over the star icon to figure out which recommendations are actually relevant for this workspace. this makes it confusing for new developers who just want to install the extensions required for the workspace, and not random additional ones that vscode suggests. as a workaround, i can add these vscode recommendations to the array, but that's annoying because i would have to update that list whenever new recommendations show up.
VS Code shows workspace recommendations on the top followed by other recommendations. If you are not seeing in this order, can you please share the steps to reproduce?
i don't know if i could, since it seems to be some sort of recommendation algorithm that shows different results based on all sorts of unknown factors. (i feel like it'd be comparable to coming up with steps to reproduce an ad i saw in a social media feed.) but i'll give it a go
it seems that the docker and wsl extensions (ones made by microsoft) always appear above workspace recommendations. steps to reproduce: to the workspace recommended extensions a to trigger the non-workspace recommendation to the extensions tab and look at the recommended extensions list ! ! even if these were showing up in the correct order (workspace recommendations first), it's still extremely confusing and misleading to the user to use the exact same icon for two completely different types of recommendations. i get that microsoft wants to get as many people using their extensions as possible, but this seems comparable to an advertisement that is not clearly labelled as one.
I found out that there is a bug in showing them in the right order. Will fix that. I am not sure how much it makes sense to show different icons for different kinds of recommendations. It might be super noisy or confusing. I believe at present we have a right balance to show an icon for recommendation and explanation on hover.


Question: import { isWeb } from 'vs/base/common/platform'; import { ICommandService } from 'vs/platform/commands/common/commands'; import { Codicon } from 'vs/base/common/codicons'; <ins> import { IUserDataSyncMachinesService, UserDataSyncMachinesService } from 'vs/platform/userDataSync/common/userDataSyncMachines'; </ins> type ExistingSession = IQuickPickItem & { session: AuthenticationSession & { providerId: string } }; type AuthenticationProviderOption = IQuickPickItem & { provider: IAuthenticationProvider };

Testing I'm not sure why I have two entries for edit sessions and wonder if it came from another machine/sessions. It would be great to see some metadata about where the source is coming from, similar to the "Synced Data" view for Settings Sync. <img width="394" alt="CleanShot 2022-07-26 at 10 58 31 src="https://user-"<img width="373" alt="CleanShot 2022-07-26 at 11 00 07 src="https://user-"


Question: export interface UriComponents { scheme: string; <del> authority: string; path: string; query: string; fragment: string; </del> <ins> authority?: string; path?: string; query?: string; fragment?: string; </ins> } /** * Virtual Key Codes, the value does not hold any inherent meaning.

Following test throws: I found this while investigating At that point the editor component is quite broken because of a lot of errors being thrown. Notice how not even a tab shows for the editor: <img width="1058" alt="image" src="https://user-"
that should already throw because at least a scheme is needed. It doesn't because was designed to be the runtime counter part of which never produces such output so some IPC deserialisation cost can be saved.
, that works for me and will also throw when we get bad objects into such as the from
Yeah, my plan is to add an argument like we have in other URI-places. It will default to true and only IPC should be relaxed
Not doing that because it actually already exists as . I believe the adoption/migration task is to use instead of whenever getting uri components from storage or esp from command arguments. Tho, there is one special case for which is that it automatically uses when the scheme is missing. We could make that configurable but a check for might make this obsolete
Closing this after and the ask to use when creating uri from "untrusted" sources
I will see to adopt , I forgot we had it


Question: 'activityBar.background': '#181818', 'statusBar.background': '#181818', 'statusBar.noFolderBackground': '#1f1f1f', <ins> 'titleBar.border': '#2B2B2B', 'titleBar.inactiveBackground': '#ff0000', 'titleBar.inactiveForeground': '#9D9D9D' </ins> }; export const COLOR_THEME_LIGHT_INITIAL_COLORS = { 'activityBar.background': '#f8f8f8', 'statusBar.background': '#f8f8f8', <del> 'statusBar.noFolderBackground': '#f8f8f8' </del> <ins> 'statusBar.noFolderBackground': '#f8f8f8', 'titleBar.border': '#E5E5E5', 'titleBar.inactiveBackground': '#F8F8F8', 'titleBar.inactiveForeground': '#8B949E', </ins> }; export interface IWorkbenchTheme {

The colors we define in code should match our default theme, otherwise there is potential for ugly flickering as seen below: ! Notice how the title bar color changes, the active tab indicator appears late. It feels sluggish and like a UI bug. At one point I think we made "Modern Dark" our default, we I think we did not make a pass over our colors to align them with the colors defined in the theme. We need to ensure that the colors in code match the colors in our default themes, I would argue even for light and HC theme.
I think this should be fixed in May, it looks really bad for first startups.
Is there a reason to do it this way? I think I would have assumed the default dark theme JSON file to be empty (because it does not overwrite any colors) and our colors in code to be matching the default dark theme colors?
We can not change the defaults as all custom themes inherit these. I agree that it's not so nice to duplicate the colors but I couldn't yet come up with a simple solution.
I understand the argument that we cannot easily change the default colors without breaking other themes. But the issue still reproduces even after your change: open a fresh Code-OSS and see how title bar color and tab active indicator only kick in late. Also adding since this covers UI components of his.


Question: const _cursorWordStartRightSelect = new CursorWordStartRightSelect(); const _cursorWordEndRightSelect = new CursorWordEndRightSelect(); const _cursorWordRightSelect = new CursorWordRightSelect(); <ins> const _cursorWordAccessibilityLeft = new CursorWordAccessibilityLeft(); const _cursorWordAccessibilityLeftSelect = new CursorWordAccessibilityLeftSelect(); const _cursorWordAccessibilityRight = new CursorWordAccessibilityRight(); const _cursorWordAccessibilityRightSelect = new CursorWordAccessibilityRightSelect(); </ins> const _deleteWordLeft = new DeleteWordLeft(); const _deleteWordStartLeft = new DeleteWordStartLeft(); const _deleteWordEndLeft = new DeleteWordEndLeft();

Type: <bBug</bCC [I cannot easily find my authored issue so I am creating a new] Ctrl+LeftArrow and Ctrl+RightArrow does not work in the Output View (Ctrl+Shift+U) area. This happens on Windows. This means screen reader users cannot navigate word by word within the output view. Ctrl+Shift+U to focus in the Output View Choose any output (e.g., terminal) if you can navigate word by word via Ctrl+LeftArrow or Ctrl+RightArrow VS Code version: Code - Insiders 1.92.0-insider (, 2024-07-12T05:08:08.550Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (125)</summaryExtensionVersion ------ vscode-openapi4.27.0 zotenote1.0.1 android-dev-ext1.4.0 aiprm-lang0.0.2 Bookmarks13.5.0 openscad1.2.2 spellright3.0.134 zoterolatex0.4.1 mermaid-markdown-syntax-highlighting1.6.0 external-pdf1.2.0 doxdocgen1.4.0 vscode-markdownlint0.53.0 vscode-eslint3.0.10 vscode-quick-select0.2.9 vscode-deno3.38.0 gitlens14.6.1 EditorConfig0.16.4 prettier-vscode10.1.0 figma-vscode-extension0.3.5 vscode-firefox-debug2.9.10 shell-format7.2.5 vscode-google-translate1.4.13 codespaces1.17.1 copilot1.213.0 copilot-chat0.18. remotehub0.62.0 vscode-github-actions0.26.2 vscode-pull-request-github0.93.


Question: const _cursorWordStartRightSelect = new CursorWordStartRightSelect(); const _cursorWordEndRightSelect = new CursorWordEndRightSelect(); const _cursorWordRightSelect = new CursorWordRightSelect(); <ins> const _cursorWordAccessibilityLeft = new CursorWordAccessibilityLeft(); const _cursorWordAccessibilityLeftSelect = new CursorWordAccessibilityLeftSelect(); const _cursorWordAccessibilityRight = new CursorWordAccessibilityRight(); const _cursorWordAccessibilityRightSelect = new CursorWordAccessibilityRightSelect(); </ins> const _deleteWordLeft = new DeleteWordLeft(); const _deleteWordStartLeft = new DeleteWordStartLeft(); const _deleteWordEndLeft = new DeleteWordEndLeft();

cloudcode2.14.0 overleaf-workshop0.13.0 cslpreview0.2.2 path-autocomplete1.25.0 latex-workshop10.1.0 lilypond-syntax0.1.1 scheme0.2.0 better-cpp-syntax1.17.2 commitlint2.6.0 language-julia1.90.1 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 language-matlab1.2.4 zotero0.1.11 git-graph1.30.0 azure-dev0.8.3 vscode-azureappservice0.25.2 vscode-azurecontainerapps0.6.1 vscode-azurefunctions1.15.1 vscode-azureresourcegroups0.8.3 vscode-azurestaticwebapps0.12.2 vscode-azurestorage0.16.0 vscode-azurevirtualmachines0.6.5 vscode-cosmosdb0.22.0 vscode-docker1.29.1 vscode-edge-devtools2.1.5 black-formatter2024.3. debugpy2024.9. flake82023.13. isort2023.13. python2024.11. vscode-pylance2024.7.1 jupyter2024.6. jupyter-keymap1.1.2 jupyter-renderers1.0.18 vscode-jupyter-cell-tags0.1.8 vscode-jupyter-slideshow0.1.5 remote-containers0.377.0 remote-ssh0.113. remote-ssh-edit0.86.0 remote-wsl0.81.8 vscode-remote-extensionpack0.25.0 azure-account0.12.0 azure-repos0.38.0 cmake-tools1.18.43 cpptools1.21.0 cpptools-extension-pack1.3.0 js-debug-nightly2024.7.517 powershell2024.3.2 remote-explorer0.5. remote-repositories0.40.0 remote-server1.6.


Question: const _cursorWordStartRightSelect = new CursorWordStartRightSelect(); const _cursorWordEndRightSelect = new CursorWordEndRightSelect(); const _cursorWordRightSelect = new CursorWordRightSelect(); <ins> const _cursorWordAccessibilityLeft = new CursorWordAccessibilityLeft(); const _cursorWordAccessibilityLeftSelect = new CursorWordAccessibilityLeftSelect(); const _cursorWordAccessibilityRight = new CursorWordAccessibilityRight(); const _cursorWordAccessibilityRightSelect = new CursorWordAccessibilityRightSelect(); </ins> const _deleteWordLeft = new DeleteWordLeft(); const _deleteWordStartLeft = new DeleteWordStartLeft(); const _deleteWordEndLeft = new DeleteWordEndLeft();

vscode-github-issue-notebooks0.0.130 vscode-node-azure-pack1.2.0 vscode-selfhost-test-provider0.3.25 vscode-serial-monitor0.12.0 vscode-speech0.10.0 vscode-speech-language-pack-ko-kr0.4.0 vsliveshare1.0.5932 windows-ai-studio0.3.3 autodocstring0.6.1 pandocciter0.10.4 publisher1.1.3 shiny1.0.0 shinyuieditor0.5.0 quarto1.113.0 r-debugger0.5.4 java1.32.0 vscode-xml0.27.1 vscode-yaml1.14.0 r2.8.4 multi-command1.6.0 AudioQ0.0.2 vscode-deepl1.1.1 abc-music0.4.0 lua3.9.3 latex-utilities0.4.14 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.58.0 vscode-java-dependency0.23.7 vscode-java-pack0.27.0 vscode-java-test0.41.1 vscode-maven0.44.0 zotero-cite0.8.6 markdown-all-in-one3.6.2 grammarly0.25.0 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
do you know why this isn't currently supported?
It seems to work for me in Mac, are you seeing it otherwise?
It does work for me, although sometimes with the screen reader enabled, it's reading the word then a whole chunk of text. I'll try on windows.
It’s not working in Windows.
Can reproduce on windows. I see that this is happening because there's a part of the when clause for and of for windows
Removing that from the clause fixes it. Looks like that condition was to fix this can you try removing that condition from the clause and seeing if you experience any consequences of doing so?


Question: display: inline-block; } <del> .monaco-editor .suggest-widget .monaco-list .monaco-list-row:hover>.contents>.main>.right>.readMore { </del> <ins> .monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore { </ins> visibility: visible; }

VS Code Version: code-oss-dev(1.64.0) OS Version: win10 Steps to Reproduce: vscode web file "w", and click readmore icon at warn suggest label, but show webkitURL details in right panel !


Question: <dict> <key>begin</key> <string>(?x) <del> (*|_)(?=S)								# Open </del> <ins> b(*|_)(?=S)								# Open </ins> (?= ( <[^>]*+>							# HTML tags

VSCode Version: 1.19.1 In Markdown files, the editor is incorrectly styling every other inner word surrounded by underscores as italicized. The preview correctly shows them as not italicized. !
I think this is what Text Mate grammars' behavior. Tried in TextMate 2.0 (latest), same there. !
I think is right on this. The editor has an error as it interprets the other word as if it was a separate word starting and finishing with `` (that would be italized). It is correctly displayed on Github editor :
I created a PR to fix this


Question: } } <del> async $executeCommand<T>(id: string, args: any[], retry: boolean): Promise<T | undefined> { </del> <ins> async $executeCommand<T>(id: string, args: any[] | SerializableObjectWithBuffers<any[]>, retry: boolean): Promise<T | undefined> { if (args instanceof SerializableObjectWithBuffers) { args = args.value; } </ins> for (let i = 0; i < args.length; i++) { args[i] = revive(args[i]); }

Currently when using , ArrayBuffers just turn into an empty object. We should support these for efficient data transfer between extensions/extension hosts. We recently support for them on a protocol level, so support here should not be terribly hard...
I see two possible approaches to support this: this logic specifically for commands (or even just for a specific command). This is what we do for webviews for example: our implementation aware of array buffers instead of only supporting VSBuffers. Take a look at how is used in our rpc code as a starting point: The webview serialization logic I linked to above would probably be a good starting point for this