Question: import { DEFAULT_EDITOR_ASSOCIATION } from 'vs/workbench/common/editor'; import { KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry'; import { KeyCode, KeyMod } from 'vs/base/common/keyCodes'; <del> import { CellEditType, NOTEBOOK_DIFF_EDITOR_ID } from 'vs/workbench/contrib/notebook/common/notebookCommon'; </del> <ins> import { CellEditType, ICellEditOperation, NOTEBOOK_DIFF_EDITOR_ID } from 'vs/workbench/contrib/notebook/common/notebookCommon'; </ins> import { ITextResourceConfigurationService } from 'vs/editor/common/services/textResourceConfiguration'; import { NotebookMultiTextDiffEditor } from 'vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor'; import { Codicon } from 'vs/base/common/codicons';

Testing Before reverting metadata ! After reverting ! language remains . If I try to revert, nothing happens.
I was expecting the revert will revert the content to the version on the left side if the diff editor is opened from the timeline view, but it seems reverting to something different.
I think this can be fixed next month.
Thats a duplicate of Marking as as metadta gets reverted
Yes, the plan is to fix next month, I have a PR, but do not want to merge it just yet Its a slightly convoluted issue,


Question: if (styles.backgroundColor) { content.push(`.monaco-workbench { background-color: ${styles.backgroundColor} !important; }`); <ins> content.push(`.issue-reporter-body::-webkit-scrollbar-track { background-color: ${styles.backgroundColor}; }`); </ins> } if (styles.inputBorder) {

Type: <bBug</bIssue Reporter, e.g. from off Command Palette. the first dropdown to VS Code version: Code - Insiders 1.92.0-insider (, 2024-07-24T07:50:18.385Z) OS version: Windows_NT x64 10.0. Modes: <!-- generated by issue reporter --
good catch, thanks! looks like an issue with the refactor


Question: } const decorations = this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme); <del> decorations.sort(OverviewRulerDecorationsGroup.cmp); </del> <ins> decorations.sort(OverviewRulerDecorationsGroup.compareByRenderingProps); </ins> if (this._actualShouldRender === ShouldRenderValue.Maybe && !OverviewRulerDecorationsGroup.equalsArr(this._renderedDecorations, decorations)) { this._actualShouldRender = ShouldRenderValue.Needed;

a TS file, use the keyboard and type out a syntax error. The scrollbar error marker doesn't show up. the text cursor to another location using the mouse. The scrollbar error marker shows up then. says:
Very likely a regression from


Question: await this._init(); <del> let treatments = this.treatment?.extensions.filter(extension => !this.ignoredExtensions.has(extension)) ?? new Array<string>(); </del> <ins> let treatments = this.treatment?.extensions?.filter(extension => !this.ignoredExtensions.has(extension)) ?? new Array<string>(); </ins> const featuredExtensions: IFeaturedExtension[] = new Array(); if (this.treatment?.showAsList !== 'true' && treatments.length > 0) {

Testing Not sure if actually caused by welcome page bug In dev tools, see:
I can't repro this on my mac. Please feel free to reopen this issue if you see this again on your machine.
Yes I still see this every time I open the welcome page. Maybe it's because of an extension I have installed that is getting parsed oddly or an experiment? The exception is thrown here:


Question: addRecentlyOpened(recents: IRecent[]): Promise<void>; getRecentlyOpened(): Promise<IRecentlyOpened>; removeRecentlyOpened(paths: URI[]): Promise<void>; <del> clearRecentlyOpened(): Promise<void>; </del> <ins> clearRecentlyOpened(options?: { confirm?: boolean }): Promise<void>; </ins> } export class WorkspacesHistoryMainService extends Disposable implements IWorkspacesHistoryMainService {

Type: <bBug</bany open windows. to File Open Recent and click Clear Recently Opened. VS Code version: Code 1.83.1 (, 2023-10-10T23:46:55.789Z) OS version: Darwin x64 20.6.0
<!-- 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


Question: } async getRefs(query: RefQuery = {}, cancellationToken?: CancellationToken): Promise<Ref[]> { <del> return await this.run(Operation.GetRefs, () => { return this.repository.getRefs(query, cancellationToken); }); </del> <ins> const config = workspace.getConfiguration('git'); let defaultSort = config.get<'alphabetically' | 'committerdate'>('branchSortOrder'); if (defaultSort !== 'alphabetically' && defaultSort !== 'committerdate') { defaultSort = 'alphabetically'; } query = { ...query, sort: query?.sort ?? defaultSort }; return await this.run(Operation.GetRefs, () => this.repository.getRefs(query, cancellationToken)); </ins> } async getRemoteRefs(remote: string, opts?: { heads?: boolean; tags?: boolean }): Promise<Ref[]> {

<!-- 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.75.0-insider (Universal) Commit: Date: 2023-01-10T05:21:34.436Z Electron: 19.1.9 Chromium: 102.0.5005.194 16.14.2 V8: 10.2.154.23-electron.0 OS: Darwin arm64 22.2.0 Sandboxed: Yes Steps to Reproduce: an existing workspace folder with git a few branches with commits to switch branches list of branches does not display the recent branches on top the same workspace folder in vscode stable and the order is as expected


Question: if (instance.shellLaunchConfig.ignoreShellIntegration) { shellIntegrationString += `${markdown ? 'nn---nn' : 'nn'} ${localize('launchFailed.exitCodeOnlyShellIntegration', "The terminal process failed to launch. Disabling shell integration with terminal.integrated.shellIntegration.enabled might help.")}`; } else { <del> shellIntegrationString += `${markdown ? 'nn---nn' : 'nn'} ${localize('shellIntegration.activationFailed', "Shell integration failed to activate")}`; </del> <ins> if (instance.usedShellIntegrationInjection) { shellIntegrationString += `${markdown ? 'nn---nn' : 'nn'} ${localize('shellIntegration.activationFailed', "Shell integration failed to activate")}`; } </ins> } } return shellIntegrationString;

Type: <bBug</b<!-- Please fill in all XXX markers --Python Debug Console shows "Shell integration failed to activate" ! a Python file command over terminal with mouse <!-- After creating the issue on GitHub, you can add screenshots and GIFs of what is happening. Consider tools like , or for GIF creation. --<!-- NOTE: Everything below except Python output panel is auto-generated; no editing required. Please do provide Python output panel. --- Python version (& distribution if applicable, e.g. Anaconda): 3.10.5 Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): Poetry Value of the setting: Default <details<summaryOutput for <codePython</codein the <codeOutput</codepanel (<codeView</code→<codeOutput</code, change the drop-down the upper-right of the <codeOutput</codepanel to <codePython</code) </summary<p</p</details<details<summaryUser Settings</summary<p</p</detailsExtension version: 2022.12.0 VS Code version: Code 1.70.1 (, 2022-08-10T06:08:33.642Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Same problem here
Same.
VS Code creates this terminal as a part of the request that gets sent over DAP. It seems like it is failing when VS code tries to create the terminal, moving this there for further investigation.
what needs to be done here for correct activation?
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
Can you elaborate why this ticket was closed? The issue is still there.
what needs to be done in order to prevent the "Shell integration" from failing?
If run in terminal replaces the shell args then this warning shouldn't be showing (as shell integration should be disabled). It does works in the JS debug terminal which is a terminal profile that sets an environment. If the terminal is launched without args this would be an issue on the terminal. how do I create a python debug console?


Question: if (instance.shellLaunchConfig.ignoreShellIntegration) { shellIntegrationString += `${markdown ? 'nn---nn' : 'nn'} ${localize('launchFailed.exitCodeOnlyShellIntegration', "The terminal process failed to launch. Disabling shell integration with terminal.integrated.shellIntegration.enabled might help.")}`; } else { <del> shellIntegrationString += `${markdown ? 'nn---nn' : 'nn'} ${localize('shellIntegration.activationFailed', "Shell integration failed to activate")}`; </del> <ins> if (instance.usedShellIntegrationInjection) { shellIntegrationString += `${markdown ? 'nn---nn' : 'nn'} ${localize('shellIntegration.activationFailed', "Shell integration failed to activate")}`; } </ins> } } return shellIntegrationString;

in a Python file the "Debug Python File" action from the editor drop down opens a python debug console
And Python debugger creates the "Python Debug Console" here: It is unrelated to the "JS debug terminal". It is just an integrated terminal where the debugger or runtime is launched.
Looks like the path and args should be supported because they're the defaults: Unless they were configured specially. We'll need to look into this.
I noticed I have the same problem
same here with using powershell core ! but i can't reproduce it with fresh system and latest vs code and latest powershel core using windows sandbox !
Getting the same error for the past couple weeks, on ssh terminal. !
what's the terminal profile you're using there? Is it a custom ssh one defined in your settings?
i'm new to vs and having this issue as well.. anyone please help~ thanks~!!
Can you share your file and also do a trace log while creating a terminal? /label info-needed terminal
i've uploaded 3 images at 1) terminal 2) renderer log 3) file let me know if you need anything else.. thanks~!
thanks for that info. I see the when I create a terminal like you do does using pwsh instead as your default profile fix it?
I am using default bash terminal over ssh. I did not define any specific terminal profiles. Here's the installation printout when it says starting ssh terminal. I can do but I don't know what to grep to share.
thanks for helping but i've just tried.. and it doesn't work.. same error still there.. what else can i do??
this is working for me - anyone seeing this should closely inspect their default profile - that's the primary reason shell integration would not get activated !
Same issue, but my debugger is cppdbg. Really annoying, I hope someone fixes it soon
Same issue with npm + devcontainer
I was having the same problem, but removing and using instead in seem to work for me
, very interesting, I tried what you have described (I just used "terminal.integrated.defaultProfile", but not "terminal.integrated.automationProfile", since I couldn't find it in settings), and it partly worked on one computer (the debugger showed up in the terminal and worked as intended, however when pointing at the terminal it still said "shell integration failed to activate").


Question: if (instance.shellLaunchConfig.ignoreShellIntegration) { shellIntegrationString += `${markdown ? 'nn---nn' : 'nn'} ${localize('launchFailed.exitCodeOnlyShellIntegration', "The terminal process failed to launch. Disabling shell integration with terminal.integrated.shellIntegration.enabled might help.")}`; } else { <del> shellIntegrationString += `${markdown ? 'nn---nn' : 'nn'} ${localize('shellIntegration.activationFailed', "Shell integration failed to activate")}`; </del> <ins> if (instance.usedShellIntegrationInjection) { shellIntegrationString += `${markdown ? 'nn---nn' : 'nn'} ${localize('shellIntegration.activationFailed', "Shell integration failed to activate")}`; } </ins> } } return shellIntegrationString;

THE INTERESTING PART IS THIS: I tried the same , , , on a different computer and the debugger didn't work at all, with the same error. The only difference might be that on the first pc I used mingw from MSYS gcc , and on the second pc I use normal MinGW gcc. I will check later to see if that is the cause
If this issue is related to what we expect, then you should see a warning of the form can one of you pls check if you see this?
i can't see this warning, all i get is "Shell integration failed to activate" and nothing more.
the warning would show up in devtools' console I think. For this issue I'm going to fix the shell integration failed to activate message in the hover when we didn't even try to inject. For example: !
is there any solution to this issue?
Yes you should no longer see that message. Can you please verify that's true in insider's?
<!-- 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!
the issue was fixed, thank you for your responsiveness,
When will this be resolved for regular users (not Insiders)? I am using 1.72.2
in abt a week


Question: test('Aggressive inline completions when typing within line #146948', async function () { <del> const completions: SuggestInlineCompletions = insta.createInstance(SuggestInlineCompletions); </del> <ins> const completions: SuggestInlineCompletions = disposables.add(insta.createInstance(SuggestInlineCompletions)); </ins> { // (1,3), end of word -> suggestions

<!-- 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: Windows 11 OS Version: 1.75.1 Steps to Reproduce: Using the following settings: ! ! a typescript file within a method/function following gets output (might have to navigate through some of the suggestions) even though snippets are off: !
Thanks for the patience. I cannot reproduce, please share more of your settings that might influence this. Also share data in a copy-paste friendly way (text over images)
Here are the settings that I am using to reproduce (all extensions disabled ): Once typing and going to the 3rd suggestion, I get this as a suggestion: !
Thanks for clarifying, looks like we aren't passing the filter here:
I can't figure out how to get that ghost text to show up for suggestions to verify this. I've never seen that ghost text for anything but copilot completions Do I need a suggestion provider extension?
You are right. I made a refactoring after this fix and that broke this feature Thanks for the diligence on this one!
To verify, use the steps from Make sure no snippets completions are ghost-texted with and that they are when the setting is set accordingly
I still cannot get snippet completions to show up
You need to say what you are trying because I do see them working just fine <img width="922" alt="Screenshot 2024-01-26 at 18 14 32" src=""
This works correctly for me now, no snippets with , and they do show up without it.
Bang on.


Question: test('Aggressive inline completions when typing within line #146948', async function () { <del> const completions: SuggestInlineCompletions = insta.createInstance(SuggestInlineCompletions); </del> <ins> const completions: SuggestInlineCompletions = disposables.add(insta.createInstance(SuggestInlineCompletions)); </ins> { // (1,3), end of word -> suggestions

The whole point is that the -setting is honored also for ghost suggestions
: <img width="1792" alt="Screenshot 2024-01-26 at 9 19 47 AM" src=""
this is about ghost text, please see and the comment linked from there
there was a syntax error in my file, so the settings did not get applied. Now it works


Question: key: 'workbench.editor.untitled.hint', migrateFn: (value, _accessor) => ([ [emptyTextEditorHintSetting, { value }], <ins> ['workbench.editor.untitled.hint', { value: undefined }] </ins> ]) }, { key: 'accessibility.verbosity.untitledHint', migrateFn: (value, _accessor) => ([ [AccessibilityVerbositySettingId.EmptyEditorHint, { value }], <ins> ['accessibility.verbosity.untitledHint', { value: undefined }] </ins> ]) }]);

I have a setting in my settings. Everytime I reload, I see a setting being . This keeps on happening, the old setting is never removed. ! Not sure if this should be a candidate. does this code look right to you? Or does migration also need to remove the old setting?
If you want to remove the old setting you should explicitly mention that in the migration like below
Can the migration function be made in a way that people do not forget this?


Question: @IThemeService private readonly _themeService: IThemeService, @IConfigurationService private readonly _configurationService: IConfigurationService ) { <del> super({ showCommonFindToggles: true, checkImeCompletionState: true, showResultCount: true, type: 'Terminal', matchesLimit: XtermTerminalConstants.SearchHighlightLimit }, _contextViewService, _contextKeyService, keybindingService); </del> <ins> super({ showCommonFindToggles: true, checkImeCompletionState: true, showResultCount: true, appendCaseSensitiveActionId: TerminalCommandId.ToggleFindCaseSensitive, appendRegexActionId: TerminalCommandId.ToggleFindRegex, appendWholeWordsActionId: TerminalCommandId.ToggleFindWholeWord, previousMatchActionId: TerminalCommandId.FindPrevious, nextMatchActionId: TerminalCommandId.FindNext, closeWidgetActionId: TerminalCommandId.FindHide, type: 'Terminal', matchesLimit: XtermTerminalConstants.SearchHighlightLimit }, _contextViewService, _contextKeyService, keybindingService); </ins> this._register(this.state.onFindReplaceStateChange(() => { this.show();

Terminal: <img width="328" alt="image" src=""Editor: <img width="436" alt="image" src=""


Question: .action-widget .monaco-list-row.action.option-disabled, .action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled, <del> .action-widget .monaco-list-row.action.option-disabled .codicon { </del> <ins> .action-widget .monaco-list-row.action.option-disabled .codicon, .action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled { </ins> color: var(--vscode-disabledForeground); }

<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes/No <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: OS Version: Steps to Reproduce: Relatively niche but: refactor menu (action widget) over a disabled action either arrow keys or typing filter to select an item. that the disabled action becomes highlighted !


Question: } else if (name === 'nu') { // nushell requires ^ before quoted path to treat it as a command command = `^'${process.execPath}' ${extraArgs} -p '"${mark}" + JSON.stringify(process.env) + "${mark}"'`; shellArgs = ['-i', '-l', '-c']; <ins> } else if (name === 'xonsh') { // #200374: native implementation is shorter command = `import os, json; print("${mark}", json.dumps(dict(os.environ)), "${mark}")`; shellArgs = ['-i', '-l', '-c']; </ins> } else { command = `'${process.execPath}' ${extraArgs} -p '"${mark}" + JSON.stringify(process.env) + "${mark}"'`;

Type: <bBug</bI use the shell: When I start VS Code not from the terminal, I see a popup with the error: I know why this issue occurs - it's because VS Code is assuming bash semantics for launching the user's shell in order to solicit environment variables. I encountered the . In that report, I reached out to the xonsh project (xonsh/xonsh) to see if the shell might be able to support bash syntax for this purpose, but after some consideration, they rejected the idea, instead asking editors to honor the shell. Here I'm making the same request to VS Code, namely that if the shell is xonsh ("xonsh" appears in the user's shell path), to use a syntax specialized for xonsh to extract the user's environment, namely: If direct support for xonsh can't be , would you consider adding a configuration variable such that a user of xonsh could customize VS Code to honor xonsh as the default shell? VS Code version: Code 1.85.0 (Universal) (, 2023-12-06T18:18:04.614Z) OS version: Darwin arm64 23.1.0 Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (7)</summaryExtensionVersion ------ copilot1.141.0 copilot-chat0.11.0 black-formatter2023.6.0 isort2023.10.1 python2023.22.0 vscode-pylance2023.11.10 sublime-keybindings4.0.10 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
I acknowledge that starting VSCode from the CLI does work around the issue, but even then only for that launch. If I launch VS Code from the CLI, then it has to restart (such as due to an update), it once again is unable to resolve settings and the error appears.
I believe this is or ?
<!-- -96bd-47a8-a0e8- --This feature request is now a candidate for our backlog. The community has 60 days to the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our . Happy Coding!


Question: } else if (name === 'nu') { // nushell requires ^ before quoted path to treat it as a command command = `^'${process.execPath}' ${extraArgs} -p '"${mark}" + JSON.stringify(process.env) + "${mark}"'`; shellArgs = ['-i', '-l', '-c']; <ins> } else if (name === 'xonsh') { // #200374: native implementation is shorter command = `import os, json; print("${mark}", json.dumps(dict(os.environ)), "${mark}")`; shellArgs = ['-i', '-l', '-c']; </ins> } else { command = `'${process.execPath}' ${extraArgs} -p '"${mark}" + JSON.stringify(process.env) + "${mark}"'`;

This is a backlog candidate but still PRs are welcome. Here's where explicit xonsh support would need to be :
this is being in with minimal testing, could you track any comments/issues with it while I'm out in January? We mainly just need author verification
<!-- 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 by installing and starting insiders from the terminal. I didn't see the error mentioned above. would be good if you'd confirm this.
I can confirm, with 1.86.0-insider, the error is gone. I was unable to test on the original machine, but I've tested on a new, similarly configured machine (and confirmed that the default shell is configured for xonsh, same as reported above). I'm so delighted that it's fixed and that I was able to help. Thanks for the guidance and support. /verified


Question: showMethods: boolean(input.showMethods, this.defaultValue.showMethods), showFunctions: boolean(input.showFunctions, this.defaultValue.showFunctions), showConstructors: boolean(input.showConstructors, this.defaultValue.showConstructors), <ins> showDeprecated: boolean(input.showDeprecated, this.defaultValue.showDeprecated), </ins> showFields: boolean(input.showFields, this.defaultValue.showFields), showVariables: boolean(input.showVariables, this.defaultValue.showVariables), showClasses: boolean(input.showClasses, this.defaultValue.showClasses),

I'd like a setting to optionally prevent deprecated things from showing up in intellisense suggestions. For example, I'd like a way to prevent from being suggested here, so that I don't use it despite a non-deprecated version being available. ! My linter can catch it, but it'd be even nicer never to see the deprecated option. There are several documentation systems that use the tag: JSDoc: TSDoc: JavaDoc: Yard (for Ruby): Other systems use different, similar tags. I'm not sure if this is an issue for the VSCode core, or for something language-specific.
Sorry if this is a duplicate or is already possible. There are enough issues here and questions/answers on Stack Overflow that it's hard to be confident. This issue is related:
Not showing deprecated suggestions can be implemented by individual language extensions today (not striking out but tracks that). Adding just to see this is something we want better VS Code api support for in some way Otherwise, we can track this as a feature request for js/s
I'd say this is a dupe of and it would be us adding some API flag and then allows users to configure how the suggest UX is handling that flag
/duplicate of
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for existing issues . See also our guidelines. Happy Coding!
Okay, that makes sense. What does "js/s" mean?
is it possible to add a setting like , so I can disable it to prevent deprecated from showing up in suggestions list?
Hey any update on that?
Verify that the setting exists and that it filters deprecated elements from IntelliSense


Question: import { CompletionItem, getSuggestionComparator, SnippetSortOrder } from 'vs/editor/contrib/suggest/browser/suggest'; import { WordDistance } from 'vs/editor/contrib/suggest/browser/wordDistance'; <del> export function createSuggestItem(label: string, overwriteBefore: number, kind = languages.CompletionItemKind.Property, incomplete: boolean = false, position: IPosition = { lineNumber: 1, column: 1 }, sortText?: string, filterText?: string): CompletionItem { </del> <ins> export function createSuggestItem(label: string | languages.CompletionItemLabel, overwriteBefore: number, kind = languages.CompletionItemKind.Property, incomplete: boolean = false, position: IPosition = { lineNumber: 1, column: 1 }, sortText?: string, filterText?: string): CompletionItem { </ins> const suggestion: languages.CompletionItem = { label, sortText, filterText, range: { startLineNumber: position.lineNumber, startColumn: position.column - overwriteBefore, endLineNumber: position.lineNumber, endColumn: position.column }, <del> insertText: label, </del> <ins> insertText: typeof label === 'string' ? label : label.label, </ins> kind }; const container: languages.CompletionList = {

<!-- 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 VS Code Version: main branch () OS Version: any Sorting of suggestions is broken if the CompletionItem uses label details. When is a string, suggestions are sorted by label with ties broken by the completion item kind. But if is a then it is not sorted correctly. Here's the bug: This doesn't work as intended on objects. when and are both objects, these two comparisons BOTH return false and things end up being sorted only by kind. if one label is a string and the other is a , then the string ends up sorted after the no matter what the 's label is. Steps to Reproduce: a that returns something like this: end up sorted d, c, b, a, z but should be a, b, c, d, z
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.68.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
fix is to use I think
Thanks This is a nice bug and good find. You did a great investigation, planning to fix this in this milestone but since you already did the lead work I'll happily review a PR from you
<!-- 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!


Question: } } <del> updateOptions(e: NotebookOptionsChangeEvent) { </del> <ins> override updateOptions(e: NotebookOptionsChangeEvent) { super.updateOptions(e); </ins> if (e.cellStatusBarVisibility || e.insertToolbarPosition || e.cellToolbarLocation) { this.layoutChange({}); }

Type: <bBug</bDelete a notebook file in a git repo Open it from the SCM view It's editable ;( VS Code version: Code - Insiders 1.94.0-insider (Universal) (, 2024-09-11T05:04:03.124Z) OS version: Darwin arm64 23.6.0 Modes: <!-- generated by issue reporter --
Fixed by


Question: <ins> { "comments": { "lineComment": "//", "blockComment": [ "/*", "*/" ] }, "brackets": [ ["{", "}"], ["[", "]"], ["(", ")"] ], "autoClosingPairs": [ { "open": "{", "close": "}" }, { "open": "[", "close": "]" }, { "open": "(", "close": ")" }, { "open": "'", "close": "'", "notIn": ["string", "comment"] }, { "open": """, "close": """, "notIn": ["string"] }, { "open": "`", "close": "`", "notIn": ["string", "comment"] }, { "open": "/**", "close": " */", "notIn": ["string"] } ], "surroundingPairs": [ ["{", "}"], ["[", "]"], ["(", ")"], ["<", ">"], ["'", "'"], [""", """], ["`", "`"] ] } </ins>

Following on from comments at , it would be good to have basic Dart language configuration as a built-in extension in VS Code, allowing things like syntax highlighting to in the case where the Dart extension is not installed (for example a Live Share client that hasn't installed it) or is disabled (for example in an Untrusted workspace). From : There is a Dart Team-owned grammar here that can be used - it's the (except for a small bug fix that I'll file an upstream PR for shortly): Great! Though what's the advantage of depending on the built-in extension? I try to support a few-versions-old VS Code where possible (so wouldn't do that for a few versions) but also the extension is published to open- for use by other clients so the dependency may complicate things (if they don't have the same built-in). I'd probably do some investigation into this before removing anything from Dart-Code then (it sounds like there's no downside to having the grammar/config provided by both for a period anyway). (fyi
It also works without a dependency, but only because the extension is built-in. No problem if the Dart extension keeps the grammar and language configurations for a while until it is all settled. Do you want to look into a PR or should I?
If it's easier/quicker for you to do, feel free. Otherwise I'm happy to do it but may need some pointers for how built-in extensions are set up.
I pushed the PR We have a new built-in language :-)
Super, thanks! For future reference - for changes to the language config I can send a PR to , and for grammar changes I can run (after the changes are landed in the upstream dart-lang repo)?
I just noticed in the it has the path but this doesn't seem to match the location of the file ?
Good catch, thanks. Pushed the fix:
For grammar changes, I'll pull them in about once per month so you can just rely on that if you want. If there's a change that needs to be picked up sooner than that, then feel free to make an issue an @ mention me and I'll pull in the change earlier.
Perfect, thanks!
is this support in the Code May Update (1.57) that just went out?
Yes, in microsoft/vscode you can tell what release an issue is in by looking at the Milestone. !
Yep!


Question: <ins> { "comments": { "lineComment": "//", "blockComment": [ "/*", "*/" ] }, "brackets": [ ["{", "}"], ["[", "]"], ["(", ")"] ], "autoClosingPairs": [ { "open": "{", "close": "}" }, { "open": "[", "close": "]" }, { "open": "(", "close": ")" }, { "open": "'", "close": "'", "notIn": ["string", "comment"] }, { "open": """, "close": """, "notIn": ["string"] }, { "open": "`", "close": "`", "notIn": ["string", "comment"] }, { "open": "/**", "close": " */", "notIn": ["string"] } ], "surroundingPairs": [ ["{", "}"], ["[", "]"], ["(", ")"], ["<", ">"], ["'", "'"], [""", """], ["`", "`"] ] } </ins>

An easy way to test it's working is to disable the Dart/Flutter extensions (accept the prompt to reload), then open a Dart file. You'll now still get syntax highlighting (note: you won't get analysis or much other editor functionality, that requires the Dart extension). <img width="650" alt="Screenshot 2021-06-14 at 15 52 25" src="https://user-"
Yeah I just did, and it works great :-)


Question: cachedViewContainer = cachedViewContainer || this.cachedViewContainers.find(({ id }) => id === viewContainerId); // Show builtin ViewContainer if not registered yet <del> if (!viewContainer && cachedViewContainer?.isBuiltin) { </del> <ins> if (!viewContainer && cachedViewContainer?.isBuiltin && cachedViewContainer?.visible) { </ins> return false; }

https://user- <img width="801" alt="image" src="https://user-"
I see the same, but figured it was down to the selected VS Code profile being enabled for that workspace?


Question: } } quickPick.selectedItems = selectedItems; <del> quickPick.onDidChangeSelection(async e => { </del> <ins> this._register(quickPick.onDidChangeSelection(async e => { </ins> let newValue: 'both' | 'gutter' | 'overviewRuler' | 'never' = 'never'; if (e.includes(gutterIcon)) { if (e.includes(overviewRulerIcon)) {

Quick pick and events are disposables: is a listeners are : , , , , , A few instances of pickers or events not being disposed or registered as disposable: [x] [x] [x] [x] [x] [x] [x] [x] [x] [x] [x] [x] //cc
Thanks for catching these just taught me that there's a better way to use the quick pick API - with and that will avoid this
Interesting, curious to see how that change looks like, I have a lot more places:


Question: icon: new ThemeIcon('target') }); break; <del> case ref.startsWith('tag: refs/tags/'): references.push({ id: ref.substring('tag: '.length), name: ref.substring('tag: refs/tags/'.length), revision: commit.hash, icon: new ThemeIcon('tag') }); break; </del> case ref.startsWith('refs/heads/'): references.push({ id: ref,

Testing I wonder how well it scales to show multiple tag icons, why not find a new icon that resembles multiple tags: !
I like that. Adding as that would require a new Codicon...
!
Or just show one tag in the row, but show all of them on hover like you do now.
How about showing one badge pert type (ex: branch, remote branch, tag) and a number indicating how many they are. That way there is no need create new icons that would cause further confusion.
I am actually not entirely sure what value there is to distinguish 1 tag from N tags? I would just show 1 icon if there is any tag.
Seems reasonable. Let's start with that and see how things go.


Question: os: `${os.type()} ${os.arch()} ${os.release()}${isSnap ? ' snap' : ''}` }, extensionsDisabled: !!this.environmentService.disableExtensions, <del> fileOnExtension: configuration.data.extensionId ? true : undefined, selectedExtension: configuration.data.extensionId ? configuration.data.enabledExtensions.filter(extension => extension.id === configuration.data.extensionId)[0] : undefined </del> <ins> fileOnExtension: configuration.data.extensionId ? !targetExtension?.isBuiltin : undefined, selectedExtension: targetExtension, </ins> }); const issueReporterElement = this.getElementById('issue-reporter');

Feature Request The command takes an extension argument so that extensions can open an issue reporter for that extension. I'd like to use this for the built-in JS/TS extension as well but cannot at the moment: It'd be nice if for VS Code builtin extensions, we automatically changed the field to
<!-- -96bd-47a8-a0e8- --This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our . Happy Coding!


Question: if (model) { this._bufferEditor.setModel(model); } <ins> this._bufferEditor.onDidFocusEditorText(() => this._accessibleBuffer.classList.add('active')); </ins> if (!this._registered) { this._bufferEditor.layout({ width: this._xtermElement.clientWidth, height: this._xtermElement.clientHeight }); this._bufferEditor.onKeyDown((e) => { <ins> // tab moves focus mode will prematurely move focus to the next element before // xterm can be focused </ins> if (e.keyCode === KeyCode.Escape || e.keyCode === KeyCode.Tab) { <ins> e.stopPropagation(); e.preventDefault(); </ins> this._hide(); } });

Type: <bBug</bcc: Since Friday the 3rd, I have not been able to access the terminal accessibility buffer in my linux environment. I activate a terminal and am informed by orca about accessibility in the terminal. But pressing shift+tab does not move the focus to the accessibility buffer. Am I doing something wrong or has something changed from day 3? VS Code version: Code - Insiders 1.77.0-insider (, 2023-03-06T05:21:55.128Z) OS version: Linux x64 6.1.14-200.fc37.x8664 Modes: Sandboxed: Yes <details<summarySystem Info</summary </details<details<summaryExtensions (39)</summaryExtensionVersion ------ doxdocgen1.4.0 vscode-markdownlint0.49.0 vscode-chatgpt3.9.4 rest-client0.25.1 better-cpp-syntax1.17.2 azure-pipelines1.208.0 vscode-docker1.24.0 csharp1.25.4 vscode-dotnet-runtime1.6.0 vscode-kubernetes-tools1.3.11 remote-containers0.283.0 remote-ssh0.99. remote-ssh-edit0.84.0 azure-account0.11.3 cmake-tools1.13.45 cpptools1.14.4 cpptools-extension-pack1.3.0 makefile-tools0.6.0 powershell-preview2023.2.1 remote-explorer0.3. vsliveshare1.0.5832 oracledevtools21.5.0 fabric8-analytics0.3.6 java1.16. vscode-xml0.25. vscode-yaml1.11.0 sonarlint-vscode3.15.1 cmake0.0.17 intellicode-api-usage-examples0.2.7 vscodeintellicode1.2.30 vscode-boot-dev-pack0.2.1 vscode-spring-boot1.44.0 vscode-java-debug0.49. vscode-java-dependency0.21. vscode-java-pack0.25. vscode-java-test0.38. vscode-maven0.40.


Question: if (model) { this._bufferEditor.setModel(model); } <ins> this._bufferEditor.onDidFocusEditorText(() => this._accessibleBuffer.classList.add('active')); </ins> if (!this._registered) { this._bufferEditor.layout({ width: this._xtermElement.clientWidth, height: this._xtermElement.clientHeight }); this._bufferEditor.onKeyDown((e) => { <ins> // tab moves focus mode will prematurely move focus to the next element before // xterm can be focused </ins> if (e.keyCode === KeyCode.Escape || e.keyCode === KeyCode.Tab) { <ins> e.stopPropagation(); e.preventDefault(); </ins> this._hide(); } });

vscode-spring-boot-dashboard0.11.1 vscode-spring-initializr0.11.2 (1 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
You can use this command for now, but I can repro the issue
The other change that has been made here is tab moves focus mode has to be on for that keybinding to work. This prevents issues where the terminal should be handling shift + tab such as for or autocomplete. The clause for this command can be configured in the keybindings editor though if you do not like this behavior.
After using the command Terminal: Focus Accessible Buffer, the behavior was a little strange. focus is on the accessible buffer, the tab key does not move focus to the terminal, but to the status bar. When I'm in the accessible buffer I need to press tab and then shift+tab to access the terminal. seems that the accessible buffer is not always updated when I execute a command in the terminal.
Yes thanks, covered in these issues:


Question: if (model) { this._bufferEditor.setModel(model); } <ins> this._bufferEditor.onDidFocusEditorText(() => this._accessibleBuffer.classList.add('active')); </ins> if (!this._registered) { this._bufferEditor.layout({ width: this._xtermElement.clientWidth, height: this._xtermElement.clientHeight }); this._bufferEditor.onKeyDown((e) => { <ins> // tab moves focus mode will prematurely move focus to the next element before // xterm can be focused </ins> if (e.keyCode === KeyCode.Escape || e.keyCode === KeyCode.Tab) { <ins> e.stopPropagation(); e.preventDefault(); </ins> this._hide(); } });

there's an issue now because tabbing goes to the status bar instead of the terminal. I see that isn't set on the element. even when I set that explicitly, it seems like it's removed Originally posted by in


Question: "license": "MIT", "description": "Dependencies shared by all extensions", "dependencies": { <del> "typescript": "5.4.3" </del> <ins> "typescript": "5.4.4" </ins> }, "scripts": { "postinstall": "node ./postinstall.mjs"

Tracks updating the TS 5.4.4. recovery build
Actually may wait for TS 5.4.5 with a fix for auto imports
Merging 5.4.4 for now


Question: } } <del> input(data: string, isBinary?: boolean): void { </del> <ins> input(data: string, isBinary: boolean = false): void { </ins> if (this._store.isDisposed || !this._ptyProcess) { return; } <del> for (let i = 0; i <= Math.floor(data.length / Constants.WriteMaxChunkSize); i++) { const obj = { isBinary: isBinary || false, data: data.substr(i * Constants.WriteMaxChunkSize, Constants.WriteMaxChunkSize) }; this._writeQueue.push(obj); } </del> <ins> this._writeQueue.push(...chunkInput(data).map(e => { return { isBinary, data: e }; })); </ins> this._startWrite(); }

<!-- 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.77.3 OS Version: Ubuntu 20.04.6 Steps to Reproduce: VSCode on an Ubuntu computer (or on Windows using WSL) the built-in terminal the command and paste the following 39-character string into nano: : nano shows the error message "Unknown Sequence". Can no longer interact with the terminal, need to kill it and open a new one More details: nano version 4.8 This does not happen in nano using an external terminal. Only in VSCode's built-in terminal This does not happen for any other length of string, even other multiples of 39 This does not happen in other CLI text editors, such as vim
I can confirm this issue on Windows using WSL.
It happens with other 39 long strings as well. It also happens when not using WSL. Copying more characters solves the problem. For us it also happens with multiples of 39 (e.g. 156 characters, line breaks included)
When trace logs are enabled this is the exact sequence we send: Compared to 1 less : Note that the 200/201 wrapped around it is bracketed paste mode (which I just a way to disable so that may help ). So this seems to be either a problem with one of nano, conpty or node-pty.
I also just ran into this. I'm on Windows 10, using Remote - SSH plugin to connect to an Ubuntu 22.04 server. Right-click to paste in Nano, terminal locks up, have to Kill it.


Question: } } <del> input(data: string, isBinary?: boolean): void { </del> <ins> input(data: string, isBinary: boolean = false): void { </ins> if (this._store.isDisposed || !this._ptyProcess) { return; } <del> for (let i = 0; i <= Math.floor(data.length / Constants.WriteMaxChunkSize); i++) { const obj = { isBinary: isBinary || false, data: data.substr(i * Constants.WriteMaxChunkSize, Constants.WriteMaxChunkSize) }; this._writeQueue.push(obj); } </del> <ins> this._writeQueue.push(...chunkInput(data).map(e => { return { isBinary, data: e }; })); </ins> this._startWrite(); }

Add/remove one character from the string and try again, works.
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 opened a bug on gnu nano's bugtracker:
I think I found a workaround, but haven't tested it: vscode , nano doesn't deal well with across writes and it is apparently difficult to fix in nano. vscode could split writes differently, using this algorithm that keeps escape sequences at the beginning and end unsplit (like bracketed pastes):
great info, we should definitely do this . I'll probably tweak your proposal a little to try catch escape sequences in the middle too.
I don't expect input sizes to be 50 bytes except when pasting, when pasting there should only ever be an escape sequence at the beginning and end, never in the middle (terminal apps are unlikely to deal well with pasting a string containing escape sequences anyway).
unless I missed something in the issue you linked, it's not that they need to be on the boundaries of the text but need to be included entirely in that string and not clipped?
yes, escape sequences need to be contained entirely in one write syscall. basically I am saying you shouldn't have escape sequences in the middle of a long input, so you don't need to look for them to avoid splitting them, they should only occur towards the ends of a long input or in a shorter input.
Nano's workaround was released in Nano 8.0:


Question: <ins> /*--------------------------------------------------------------------------------------------- *  Copyright (c) Microsoft Corporation. All rights reserved. *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { deepStrictEqual } from 'assert'; import { ensureNoDisposablesAreLeakedInTestSuite } from 'vs/base/test/common/utils'; import { chunkInput } from 'vs/platform/terminal/common/terminalProcess'; suite('platform - terminalProcess', () => { ensureNoDisposablesAreLeakedInTestSuite(); suite('chunkInput', () => { test('single chunk', () => { deepStrictEqual(chunkInput('foo bar'), ['foo bar']); }); test('multi chunk', () => { deepStrictEqual(chunkInput('foo'.repeat(50)), [ 'foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofo', 'ofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoof', 'oofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo' ]); }); test('small data with escapes', () => { deepStrictEqual(chunkInput('foo x1b[30mbar'), [ 'foo ', 'x1b[30mbar' ]); }); test('large data with escapes', () => { deepStrictEqual(chunkInput('foofoofoofoox1b[30mbarbarbarbarbarx1b[0m'.repeat(3)), [ 'foofoofoofoo', 'x1B[30mbarbarbarbarbar', 'x1B[0mfoofoofoofoo', 'x1B[30mbarbarbarbarbar', 'x1B[0mfoofoofoofoo', 'x1B[30mbarbarbarbarbar', 'x1B[0m' ]); }); }); }); </ins>


Question: <ins> /*--------------------------------------------------------------------------------------------- *  Copyright (c) Microsoft Corporation. All rights reserved. *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { deepStrictEqual } from 'assert'; import { ensureNoDisposablesAreLeakedInTestSuite } from 'vs/base/test/common/utils'; import { chunkInput } from 'vs/platform/terminal/common/terminalProcess'; suite('platform - terminalProcess', () => { ensureNoDisposablesAreLeakedInTestSuite(); suite('chunkInput', () => { test('single chunk', () => { deepStrictEqual(chunkInput('foo bar'), ['foo bar']); }); test('multi chunk', () => { deepStrictEqual(chunkInput('foo'.repeat(50)), [ 'foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofo', 'ofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoof', 'oofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo' ]); }); test('small data with escapes', () => { deepStrictEqual(chunkInput('foo x1b[30mbar'), [ 'foo ', 'x1b[30mbar' ]); }); test('large data with escapes', () => { deepStrictEqual(chunkInput('foofoofoofoox1b[30mbarbarbarbarbarx1b[0m'.repeat(3)), [ 'foofoofoofoo', 'x1B[30mbarbarbarbarbar', 'x1B[0mfoofoofoofoo', 'x1B[30mbarbarbarbarbar', 'x1B[0mfoofoofoofoo', 'x1B[30mbarbarbarbarbar', 'x1B[0m' ]); }); }); }); </ins>


Question: return id.toLocaleLowerCase(); } <del> export function getGalleryExtensionId(publisher: string, name: string): string { return adoptToGalleryExtensionId(getExtensionId(publisher, name)); </del> <ins> export function getGalleryExtensionId(publisher: string | undefined, name: string): string { return adoptToGalleryExtensionId(getExtensionId(publisher ?? UNDEFINED_PUBLISHER, name)); </ins> } export function groupByExtension<T>(extensions: T[], getExtensionIdentifier: (t: T) => IExtensionIdentifier): T[][] {

<!-- 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. --When developing an extension, I sometimes mess around with versions, e.g. install an (unpublished) extension with different content using the same version, or going back a version. It can happen then that I can install the extension (via file) successfully, the extension appears, I get the notification to reload VSCode which I accept, and the extension is gone after the reload. It does not load, and it does not appear in the list of installed extensions. There is no warning nor any trace in the extension host output pane. I recently figured out that this appears to be caused by an auto-generated entry in the file, listing the installed version of my extension. There might be a bug here, since it also lists the highest version ever installed. However, this feature request is about the lack of notifications why the extension is not loaded. I would appreciate if you could tell the user, e.g. via a warning during install and maybe during every load, that an extension has been blocked because it's obsolete. Furthermore I suggest listing the extension as installed in the extension pane, as deactivated/obsolete with a warning attached to it.
Can you please provide exact steps to reproduce this behaviour?
I did not mean this as a bug report, but rather as a request to add additional messages telling the user what's going on. However, I've tried to reproduce it and it seems you can get this issue if you do: a for some extension E in version 0.0.1 E in version 0.0.1 from vsix (I'm doing this on a remote machine using the Remote SSH extension). . a for E in version 0.0.2 E in version 0.0.2 that now contains an entry making E in version 0.0.1 obsolete . E in version 0.0.1 . that now contains both an entry making E in version 0.0.1 obsolete as well as version 0.0.2 obsolete. that the extension is not loaded. At this point, you can also install E in version 0.0.2 and it still won't load.
I am not seeing this behaviour.


Question: return id.toLocaleLowerCase(); } <del> export function getGalleryExtensionId(publisher: string, name: string): string { return adoptToGalleryExtensionId(getExtensionId(publisher, name)); </del> <ins> export function getGalleryExtensionId(publisher: string | undefined, name: string): string { return adoptToGalleryExtensionId(getExtensionId(publisher ?? UNDEFINED_PUBLISHER, name)); </ins> } export function groupByExtension<T>(extensions: T[], getExtensionIdentifier: (t: T) => IExtensionIdentifier): T[][] {

When I install 0.0.1, .obsolete file now contains 0.0.2 version only.
Sorry for taking so long to answer. I've now taken a fresh VM (Ubuntu 22.04) and a new extension (, just modified the so it would package) and could reproduce it. No "Remote - SSH" involved either. The steps: Generate two versions of an extension, 0.0.1 and 0.0.2 Install VS Code. At this point, does not exist yet. Install 0.0.1 and reload. Install 0.0.2 and reload. This creates the file with a single entry . Install 0.0.1 and reload. The file now contains . The extension is not loaded and does not appear in the list of installed extensions. Even if you "only" end up with an entry for version 0.0.2, this would still probably cause an issue if you try to re-install 0.0.2 since there are no diagnostics emitted - neither during installation nor during startup.
Ok there is a bug at the last step - Installing 0.0.1 shall not add 0.0.1 to the file. This bug happens only when the has no set. Can you please set the property in the and retry?
To verify: Formulate an extension without property in Generate a VSIX 0.0.1 with version Generate a VSIX 0.0.2 with version Install VSIX 0.0.1 and make sure 0.0.1 version is installed Install VSIX 0.0.2 and make sure 0.0.2 version is installed Again Install VSIX 0.0.1 and make sure 0.0.1 version is installed


Question: return true; } public override onLineMappingChanged(e: viewEvents.ViewLineMappingChangedEvent): boolean { <del> const keys = Object.keys(this._widgets); for (const widgetId of keys) { this._widgets[widgetId].onLineMappingChanged(e); } </del> <ins> this._updateAnchorsViewPositions(); </ins> return true; } public override onLinesChanged(e: viewEvents.ViewLinesChangedEvent): boolean { <ins> this._updateAnchorsViewPositions(); </ins> return true; } public override onLinesDeleted(e: viewEvents.ViewLinesDeletedEvent): boolean { <ins> this._updateAnchorsViewPositions(); </ins> return true; } public override onLinesInserted(e: viewEvents.ViewLinesInsertedEvent): boolean { <ins> this._updateAnchorsViewPositions(); </ins> return true; } public override onScrollChanged(e: viewEvents.ViewScrollChangedEvent): boolean {

Open Set some breakpoints They show in the wrong place and cover a character, but seemingly get fixed when setting a breakpoint on the next line !
It is non-deterministic: ! Maybe that depends on the timing of the debugger. If I add to this statement (effectively removing the condition), I cannot reproduce anymore: Unfortunately that might cause performance problems. I think this is because needs to be called when injected text is inserted before it.
I am currently still reproing it here: <img width="445" alt="image" src="https://user-" btw make sure you add labels and a milestone to issues for verification and tracking
Any chance this could be looked at soon? It comes up pretty often <img width="1018" alt="image" src="https://user-"
Thanks


Question: openFolderInNewWindow = (windowConfig.openFoldersInNewWindow === 'on'); } <del> // Handle files to open/diff or to create when we dont open a folder if (!foldersToOpen.length && (filesToOpen.length > 0 || filesToCreate.length > 0 || filesToDiff.length > 0)) { </del> <ins> // Handle files to open/diff or to create when we dont open a folder and we do not restore any folder/untitled from hot-exit if (!foldersToOpen.length && !foldersToRestore.length && !emptyToRestore.length && (filesToOpen.length > 0 || filesToCreate.length > 0 || filesToDiff.length > 0)) { </ins> // let the user settings override how files are open in a new window or same window unless we are forced (not for extension development though) let openFilesInNewWindow: boolean;

Testing have a file that is empty run type the file is dirty close the window run !
This is tricky: on the main side we open one window as instructed from the command line with the file and we also open another window to restore backups. Since we do not actually know the files to restore on the main side (we just rely on the renderer side to do this), we are opening 2 windows without knowing that the same file ends up being opened 2 times. Imho what should happen is this: if we know that we are restoring empty windows with backups, we just add all the files (as instructed from the command line) to one of those empty windows to avoid that we open multiple windows. This should happen in method ideally. We do the same if we are about to open a window with a folder: all other files to open (or create) end up being opened in that window of the folder.
I have a PR up for this via though I am not sure this is the best fix :). Basically what it does is to see if upon startup we have windows opening with hot-exit files to restore (either folder or untitled). If we find any such window to open, we open files to open files to create files to diff inside the first of these windows that upon as a matter of restoring hot-exit data. So instead of getting an extra window opened for the files to open, they would open into the first window that is being opened as a matter of hot-exit restore. what do you think?
I think this is a pretty good fix. It seems to align with how the CLI works when windows are opened as well; instead of opening the files in the last active window, the first window to be restored is selected.
Ok, merged.


Question: argv.push(`--prof-startup-prefix`, filenamePrefix); argv.push(`--no-cached-data`); <del> writeFileAndFlushSync(filenamePrefix, argv.slice(-6).join('|')); </del> <ins> fs.writeFileSync(filenamePrefix, argv.slice(-6).join('|')); </ins> processCallbacks.push(async child => {

This is very useful when working with the commandline, and to pass the result directly into the editor. It's especially useful for getting a file out of git's history, eg: FWIW, this works in Sublime.
+1
Here is my workaround (I'm on OSX so might need to adjust accordingly): create ~/bin/codestdin: Then run: Now git log, git show, git diff pipe correctly into vscode
Similar to approach, I've this to my bash profile to wrap the command... definitely not flawless, but it works for my use cases (so far). e.g.
For you have to modify the function a bit and use , because is a BUILTIN in and will return the function itself: What does not work is something like
Hello, For using the redirect, does this express the intent of getting of copy of the file contents assigned to an anonymous file buffer? Would that be similar to for intents sake? I wonder if are the only thing to care for that scenario? Thank you. Good day.
hello yes this should be equivalent as as I know.
Can we get some priority for this issue? It's been open since 2016 (that's 552 days!) and it's a bit ridiculous that VSCode still doesn't provide this extremely rudimentary shell interoperability.
+1
Pushed a change to feed the contents of stdin to a file and have it open in VS Code ( is implied when doing so): ! This currently works by or not, which is a bit brittle. If someone spawns VS Code without terminal emulation we might wrongly assume that data is coming in via stdin and open a tmp file. If it turns out that there are too many regressions, I might have to add a startup argument (, ) to explicitly enable this. If someone has a better idea how to detect if data is flowing in via stdin let me know.
This is great to see! Thanks so much! Is Atom's implementation the same?
as far as I know, Atom does not support this.
huh, I really thought it did, but local tests (and ) suggest not. Anyway, thanks again!
Hello, would you be kind enough to update your OP to note that Atom did and does not as of writing actively support this (probably just taking it out).


Question: argv.push(`--prof-startup-prefix`, filenamePrefix); argv.push(`--no-cached-data`); <del> writeFileAndFlushSync(filenamePrefix, argv.slice(-6).join('|')); </del> <ins> fs.writeFileSync(filenamePrefix, argv.slice(-6).join('|')); </ins> processCallbacks.push(async child => {

There is the PR for them, but it is nice to have the proper perspective that VSCode is in the forefront of this kind of feature. Its no harm to stay, just misleading. Thank you. Good day.
done
Thanks for the feature, very nice. Just my 2 cents on feedback, the implied seems unnecessary. EG: when I pipe to TextMate it gives me my prompt back. There might be other reasons though for having the wait that I'm not thinking about though. Regardless, cheers and thanks for the work!
the calling process is waiting because it is not clear how long data is being sent to . It could be that the editor is already opened but data is still flowing. A workaround on your side would probably to send the command to the background by appending "" at the end?
Hrm, wasn't aware that was even possible. I feel like most commands I pipe complete then output is sent to the editor.
A terminal can have a specific encoding set which my solution did not yet account for. I pushed a change to try a little bit of terminal encoding guessing but I think the solution is not ideal. If someone has a better idea ( ?), let me know: Linux/macOS: use the output of running as encoding Windows: use by default any OS: if you specify an environment variable it will always win over the guessing This will not help if you change the encoding of the terminal ad-hoc as that does not seem to cause any configuration change that the command would detect. On Windows I see the  command but the output of that command seems to be intertwined with human readable text and not just the encoding. If someone has a better idea for Windows, please speak up.


Question: { id: 'workspaceTrust', title: localize('gettingStarted.workspaceTrust.title', "Safely browse and edit code"), <del> description: localize('gettingStarted.workspaceTrust.description.interpolated', "{0} lets you decide whether your project folders should **allow or restrict** automatic code execution __(required for extensions, debugging, etc)__.nOpening a file/folder will prompt to grant trust. You can always {1} later.", Button(localize('workspaceTrust', "Workspace Trust"), 'https://github.com/microsoft/vscode-docs/blob/workspaceTrust/docs/editor/workspace-trust.md'), Button(localize('enableTrust', "enable trust"), 'command:toSide:workbench.action.manageTrustedDomain')), </del> <ins> description: localize('gettingStarted.workspaceTrust.description.interpolated', "{0} lets you decide whether your project folders should **allow or restrict** automatic code execution __(required for extensions, debugging, etc)__.nOpening a file/folder will prompt to grant trust. You can always {1} later.", Button(localize('workspaceTrust', "Workspace Trust"), 'https://code.visualstudio.com/docs/editor/workspace-trust'), Button(localize('enableTrust', "enable trust"), 'command:toSide:workbench.action.manageTrustedDomain')), </ins> when: 'workspacePlatform != 'webworker' && !isWorkspaceTrusted && workspaceFolderCount == 0', media: { type: 'svg', altText: 'Workspace Trust editor in Restricted mode and a primary button for switching to Trusted mode.', path: 'workspaceTrust.svg'

Type: <bBug</bWelcome - Learn the Fyndamentals Safely browse and edit code Workspace Trust Link 404 - page not found VS Code version: Code 1.91.1 (, 2024-07-09T22:06:49.809Z) OS version: Windows_NT x64 10.0. Modes: Restricted <!-- generated by issue reporter --
could you please provide a screenshot of where this broken link is? Thanks!
Got it - issue is in the walkthrough. Fix incoming. Thanks for signaling this
Is this a candidate? The change has been merged to the main branch but not the release branch, and so the fix is not in the latest Insiders.
IMO, it can go with the next one.
<!-- UNABLETOLOCATECOMMITMESSAGE repo --Issue marked as unreleased but unable to locate closing commit in repo history. If this was closed in a separate repo you can add the label directly, or comment .
<!-- UNABLETOLOCATECOMMITMESSAGE --Issue marked as unreleased but unable to locate closing commit in issue timeline. You can manually reference a commit by commenting , or directly add the label if you know this has already been releaased


Question: continue; } if (!m.lineRangeMapping.modified.isEmpty && m.lineRangeMapping.innerChanges) { <del> const btn = new RevertButton(m.lineRangeMapping.modified.startLineNumber, this._widget, m.lineRangeMapping.innerChanges, false); </del> <ins> const btn = store.add(new RevertButton(m.lineRangeMapping.modified.startLineNumber, this._widget, m.lineRangeMapping.innerChanges, false)); </ins> this._editors.modified.addGlyphMarginWidget(btn); glyphWidgetsModified.push(btn); }

<!-- 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.85.0 OS Version: Ubuntu 23.04 a file with contents a file with contents the explorer, right click on file and select the explorer, right click on file and select , opening the diff editor the diff editor that , and event listeners have been but not been removed The issue is not present in VS Code 1.84.2. It seems to be caused by


Question: } async function main(arch = process.arch): Promise<void> { <del> const version = product.electronRepository ? '22.5.3' : util.getElectronVersion(); </del> <ins> const version = product.electronRepository ? '22.5.4' : util.getElectronVersion(); </ins> const electronPath = path.join(root, '.build', 'electron'); const versionFile = path.join(electronPath, 'version'); const isUpToDate = fs.existsSync(versionFile) && fs.readFileSync(versionFile, 'utf8') === `${version}`;

Seeing an increase in issues (such as ) where a mapped network drive or symbolic link points to a UNC path. If you use methods such as or to resolve these paths to their UNC equivalent and use them for further file operations, our UNC allow list might prevent use of these paths until you add them to the allow list. We should discuss if there are options here to make this easier on the impacted users. The issue often goes unnoticed because we do not prompt the user on startup for these paths to add them to the allow list. Workaround Given an exception like this one: Find the resolved file path (here ) and add the hostname of the path (the value between and the first after that) to the setting (here: ). Then restart VS Code. See also:
There are some cases that are a bit difficult to handle: In my company, people always either use the raw path to access files, or map a drive to and then access files using the mapped drive name. However the real path is , which is on a server that most developers have never directly interacted with or even heard of (and there are a number of these file servers depending on the exact path). The TS server and likely many other extensions use this real path in their code, and when it does not have access the server crashes. The only way developers would be able to know the host names causing problems and add them to the allowed host list is by examining the error message of extension host which is extremely user-unfriendly. What is tricky about this is that a user may never know the real hostname until a runtime error occurred. And depending on the extensions a user installs, this may or may not be a problem at all.
Is there a way to get an older version of vscode ? The current version is unusable as long as this bug persists.
This worked for me Note: omit the leading and the at the end.
/fixedWith
Steps for verification: create a that points to a localhost UNC folder which has a Typescript project open the mapped network drive verify TypeScript smartness works and shows no errors in the TS server output logs
For some reason I wish to go back to 1.78 until there is a release which includes the fix. However I cannot find the Windows zip (needed to make VSC ) on the . Any idea where to find it?
The fix for this is in releases.


Question: } async function main(arch = process.arch): Promise<void> { <del> const version = product.electronRepository ? '22.5.3' : util.getElectronVersion(); </del> <ins> const version = product.electronRepository ? '22.5.4' : util.getElectronVersion(); </ins> const electronPath = path.join(root, '.build', 'electron'); const versionFile = path.join(electronPath, 'version'); const isUpToDate = fs.existsSync(versionFile) && fs.readFileSync(versionFile, 'utf8') === `${version}`;

I am still getting this error while using the extension !
can you give more details, did you configure the setting accordingly?
!
Are we certain this is related to UNC paths? Whats the extension repository, maybe reach out to them as well?
I am on this issue thread from , that points me to then to this one. Repo is See that someone pointed a cucumber issue here: It's a bit confusing honestly.
I see no UNC mentioned in any of these issues, so I consider it unrelated.
, you have a example from this configuration ??


Question: private _pidPromiseComplete: (value: number) => any; private readonly _onData: Emitter<string> = new Emitter<string>(); <del> public get onData(): Event<string> { </del> <ins> public get onDidWriteData(): Event<string> { </ins> // Tell the main side to start sending data if it's not already this._proxy.$registerOnDataListener(this._id); return this._onData && this._onData.event;

re see
same for
Same is true for Wanted to reuse the issue but didn't read all comments. Ignore mine. already mentioned it.
I'll change them to ,


Question: return; } <del> const overrideToUse = typeof id === 'string' && allEditorOverrides.find(([_, entry]) => entry.id === id); </del> <ins> let overrideToUse; if (typeof id === 'string') { overrideToUse = allEditorOverrides.find(([_, entry]) => entry.id === id); } else if (allEditorOverrides.length === 1) { overrideToUse = allEditorOverrides[0]; } </ins> if (overrideToUse) { return overrideToUse[0].open(input, overrideOptions, group, OpenEditorContext.NEW_EDITOR)?.override; }

<!-- 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.47.0 OS Version: macOS Catalina 10.15.5 Steps to Reproduce: Every time when I click File -New File, vscode always asks to select an Editor, but in the list, there is only one Built-in Text editor. it's just a very annoying unnecessary click. I don't know since when this has been , I believe it's a recent change. Tried to remove all the User settings and start without extensions, didn't help. See the screenshot. <img width="1086" alt="Screen Shot 2020-07-12 at 9 35 03 pm" src="https://user-"<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes/No Yes
Hi, I would like to work on this issue if no one else is.
Sorry I did't claim before starting, I have fixed it, please correct me if the solution is not ok.
I removed all the User settings and extensions, useless
No worries. Go ahead


Question: "git": { "name": "electron", "repositoryUrl": "https://github.com/electron/electron", <del> "commitHash": "0b17a201195ae6445e11cee50e436a3511717600" </del> <ins> "commitHash": "fcbd88f8aa27b1b603d267e5ebe0b7d748375c43" </ins> } }, "isOnlyProductionDependency": true, "license": "MIT", <del> "version": "22.3.5" </del> <ins> "version": "22.3.6" </ins> }, { "component": {

This works on web e.g. but does not work in desktop, either with a desktop git clone or with RemoteHub. The last time this happened it was due to a regression in the list of enabled codecs for our Electron builds.
Sorry for the breakage, the changes from has not been to Electron = 22 versions yet. It will be addressed in new builds this week.
Addressed in
Reopening because of


Question: // handle the case where the mouse is over the view zone const viewZoneData = target.detail; if (controller.shouldShowHoverAtViewZone(viewZoneData.viewZoneId)) { <del> return new HoverForeignElementAnchor(1000, this, Range.fromPositions(this._editor.getModel()!.validatePosition(viewZoneData.positionBefore || viewZoneData.position)), mouseEvent.event.posx, mouseEvent.event.posy); </del> <ins> return new HoverForeignElementAnchor(1000, this, Range.fromPositions(this._editor.getModel()!.validatePosition(viewZoneData.positionBefore || viewZoneData.position)), mouseEvent.event.posx, mouseEvent.event.posy, false); </ins> } } if (target.type === MouseTargetType.CONTENT_EMPTY) { // handle the case where the mouse is over the empty portion of a line following ghost text if (controller.shouldShowHoverAt(target.range)) { <del> return new HoverForeignElementAnchor(1000, this, target.range, mouseEvent.event.posx, mouseEvent.event.posy); </del> <ins> return new HoverForeignElementAnchor(1000, this, target.range, mouseEvent.event.posx, mouseEvent.event.posy, false); </ins> } } if (target.type === MouseTargetType.CONTENT_TEXT) { // handle the case where the mouse is directly over ghost text const mightBeForeignElement = target.detail.mightBeForeignElement; if (mightBeForeignElement && controller.shouldShowHoverAt(target.range)) { <del> return new HoverForeignElementAnchor(1000, this, target.range, mouseEvent.event.posx, mouseEvent.event.posy); </del> <ins> return new HoverForeignElementAnchor(1000, this, target.range, mouseEvent.event.posx, mouseEvent.event.posy, false); </ins> } } return null;

Hovering inlay hints should show problems "underneath": !
Came here to report the same thing https://user-
This happens because inlay hint have their own hover which are anchored on a . The diagnostics hover explicitly checks for that and . Would be OK to pretend to be a "normal" range hover anchor so that I can get all the hovers together? Or should the diagnostics hover not check for the hover type?
The is used both by inlay hints (via ) and ghost text (directly instantiates it). I think in the case of inlay hints you would want that markers are rendered in the hover, but perhaps ghost text wouldn't want that they appear in the hover, it might want to show only these actions: <img width="598" alt="image" src="https://user-"My suggestion would be to add something to to be able to distinguish the two cases.
Can still repro this
Please update this issue with a real code snippet that allows to reproduce this, please update this issue with what you have tried. Thanks
I just found a reduce function in VS Code sources such as and replace the returned value with the void keyword such as
Something like this only gives a squiggle for the return value, not the arguments or anything with inline hints. To clarify, this will only work for squiggles that spawn across inline hints <img width="699" alt="Screenshot 2023-01-26 at 14 49 07" src="https://user-"
Hmm, maybe it's because it's in a function so the return value becomes incorrect? This in <img width="917" alt="image" src="https://user-"
Thanks for updating
Looks good to me. Version: 1.75.0-insider Commit: !


Question: this.message = localize('profileNameRequired', "Profile name is required."); return; } <del> if (this.name !== this.getInitialName() && this.userDataProfilesService.profiles.some(p => p.name === this.name)) { </del> <ins> if (this.shouldValidateName() && this.name !== this.getInitialName() && this.userDataProfilesService.profiles.some(p => p.name === this.name)) { </ins> this.message = localize('profileExists', "Profile with name {0} already exists.", this.name); return; }

<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --when you import a profile file, vscode will create a new profile but not overwrite current one or merge it to current one Actually I don't need so many profiles, the default profile is enough for me. sometimes I just want to import a keybinding settings from some one, and keep my other settings after I import it, WHAT HAPPEND!!!, all my other settings and extension are gone!!! This is unreasonable! what vscode should do is merging(or overwriting) new keybinding to my old one!! <!-- Describe the feature you'd like. --
Can I have a try on this? I'm new to contributing to this repo but want to try out stuff and get along with starting out at the same time..
Edit: Ignore this, I misread this with other issue
Just wondering is not this same as Can you please distinguish your ask from the other?
partially like But I request more flexibility: Suppose current profile is profile X (X can be default or user profile) when I import A profile, that will be: A.keybinding, A.UI, A.extensions ..... and I choose A.keybindings only to import what I expect: there are 2 options for user when importing: option 1 - merge to current profile, (so X profile's keybindings overwritten but other part of settings kept) option 2 - or create a new profile partially basing on what imported (this is what VSCode currently does )
<!-- -96bd-47a8-a0e8- --This feature request is now a candidate for our backlog. The community has 60 days to the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our . Happy Coding!
<!-- -c9e0-7adb-d31b- --:slightlysmilingface: This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our . Happy Coding!
?


Question: this.message = localize('profileNameRequired', "Profile name is required."); return; } <del> if (this.name !== this.getInitialName() && this.userDataProfilesService.profiles.some(p => p.name === this.name)) { </del> <ins> if (this.shouldValidateName() && this.name !== this.getInitialName() && this.userDataProfilesService.profiles.some(p => p.name === this.name)) { </ins> this.message = localize('profileExists', "Profile with name {0} already exists.", this.name); return; }

I would think this is not a good one to start at and recommend to look for issues labelled with or
I really want to try out.. just to experience and I think I would be able to do it. Even if it's not a good first issue I have contributed to other open source repos. Can I?
Sure, here is the starting point
Thanks a lot for this I was checking your PR with the user-profile feature implementation.. For now I'm just figuring out stuff that is already present. Just a single doubt that I had was about the merging of profiles.. would the editor be like a merge editor that opens whenever we get a merge conflict on git..? Or something else with checkboxes on which settings to get imported from each of the sides(current and imported one)? I'll try my best
For the sake of simplicity, during conflicts, I would simply override with the new one.
Also
Note to self: see for manual workaround.
You can now import and replace any existing profile (including Default profile) from new Profiles Editor UI
To verify: Create a profile A and configure with some settings and extensions Export the profile A to the disk Change some settings and extensions in the profile Import the profile A You should be able to import the profile with name A replacing the existing profile
When I export the profile, install some new extensions, then import the profile with the same name, I would expect the installed extensions to disappear from my extensions list, but that doesn't seem to be the case
It is working for me, ie., I only see the extension from the imported profile. After importing, extensions are getting replaced. Can you please share the exact steps to repro?
Using vscode 1.92.2, I can't figure out how to get to that UI. Where do I find it?
search settings for "profiles experimental"
Thank you!


Question: bar.style.width = `${progress}%`; <del> (element.parentElement as HTMLElement).classList[stats.stepsComplete === 0 ? 'add' : 'remove']('no-progress'); </del> <ins> (element.parentElement as HTMLElement).classList.toggle('no-progress', stats.stepsComplete === 0); </ins> if (stats.stepsTotal === stats.stepsComplete) { bar.title = localize('gettingStarted.allStepsComplete', "All {0} steps complete!", stats.stepsComplete); } else { <del> bar.title = localize('gettingStarted.someStepsComplete', "{0} of {1} steps complete", stats.stepsTotal, stats.stepsComplete); </del> <ins> bar.title = localize('gettingStarted.someStepsComplete', "{0} of {1} steps complete", stats.stepsComplete, stats.stepsTotal); </ins> } }); }

VS Code Version: 1.60.2 OS Version: Windows 10 Home 20H2 64bit Steps to Reproduce: the VS Code to 1.60.2. the cursor to the training process area, and watch the information. Actually I have completed 2 steps and there are 4 steps, but the information shows that there are 2 steps and I have completed 4 steps. !


Question: name: cachedViewContainer.name, order: cachedViewContainer.order, pinned: cachedViewContainer.pinned, <del> visible: cachedViewContainer.visible, </del> <ins> visible: cachedViewContainer.visible && !!this.getViewContainer(cachedViewContainer.id), </ins> }); }

Checkout the screen capture below which shows totally broken views. Notice the view title in the bottom panel and the missing icon the secondary sidebar (in my setup the secondary sidebar is left, the primary is right). I suspect this is due to setting/view sync because I have connected a windows VM <img width="1494" alt="Screenshot 2024-01-23 at 12 10 56" src=""
Have you tried clicking on those broken views and found out what those views are?
Analysed the data provided by and this is what happened Windows machine has some obsolete custom view containers state (in pane composite bar) which we are not cleaning up . When sync started, this machine has pushed this state, for eg:Mac machine has accepted this state and started rendering this obsolete view container even though this does not exist. This seems to be a bug in pane composite bar that render view containers - it is rendering obsolete view containers placeholders even though they do not exists in the model.
verified by code review


Question: import { IAccessibilityService } from 'vs/platform/accessibility/common/accessibility'; import { BrowserAccessibilityService } from 'vs/platform/accessibility/common/accessibilityService'; import { ILayoutService } from 'vs/platform/layout/browser/layoutService'; <ins> import { ICodeLensCache, CodeLensCache } from 'vs/editor/contrib/codelens/codeLensCache'; </ins> export interface IEditorOverrideServices { [index: string]: any;

<!-- 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: master Ran into this issue while preparing Monaco release in vscode repo open monaco-editor test page switch monaco-editor-core source to not found error in Dev Console is registered through which is only read by workbench We can add the singleton services to standalone but a simple standalone service can also fix the problem <img width="576" alt="image" src="https://user-" let me know if you have time for a quick fix, if not I can push my change to branch first to unblock publishing.
FYI is also made to ensure work at this moment. Unluckily our intermediate typescript files for tree shaking don't apply to yet. The commit will be cherry-picked to master later.
There is no need for , the default implementation is good enough and just needs to be brought into the editor land.
please review
can you clarify the steps for this? I'm not sure where the monaco-editor test page is
I can take this one


Question: import { ILanguageService } from '../../../../editor/common/languages/language.js'; import { tokenizeToString } from '../../../../editor/common/languages/textToHtmlTokenizer.js'; import { IExtensionService } from '../../../services/extensions/common/extensions.js'; <ins> import { markedGfmHeadingIdPlugin } from './markedGfmHeadingIdPlugin.js'; </ins> export const DEFAULT_MARKDOWN_STYLES = ` body {

<!-- 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. --<!-- 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: Version: 1.93.0-insider (user setup) Commit: Date: 2024-09-04T13:13:15.344Z Electron: 30.4.0 ElectronBuildId: Chromium: 124.0.6367.243 20.15.1 V8: 12.4.254.20-electron.0 OS: Windows_NT x64 10.0. OS Version: Windows 11 Insiders Steps to Reproduce: in the first paragraph doesn't appear to be a link, which I was surprised about: ! I hover over it, I see it's supposed to be a link, but clicking on it does nothing: ! The other docs links at the bottom of the playground appear correctly as links and do open when I click on them: !
This seems related to the bookmark issue we had in the release notes. The other bookmark links in the interactive playground don't work either.
Fixed the toc links. Need another fix for the documentation link too (which use command uris)
The Editor Playground is not showing at all anymore in the latest insiders. When selecting the Editor Playground menu item, a black editor comes up.
hm working from oss builds. Insiders, it seems like the error is:
Actually unrelated. Seems like a duplicate of and fixed by


Question: import { VIEW_PANE_ID, ISCMService, ISCMRepository, ISCMViewService } from 'vs/workbench/contrib/scm/common/scm'; import { IActivityService, NumberBadge } from 'vs/workbench/services/activity/common/activity'; import { IWorkbenchContribution } from 'vs/workbench/common/contributions'; <del> import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; </del> <ins> import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; </ins> import { IStatusbarService, StatusbarAlignment as MainThreadStatusBarAlignment } from 'vs/workbench/services/statusbar/browser/statusbar'; import { IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { EditorResourceAccessor } from 'vs/workbench/common/editor'; import { IUriIdentityService } from 'vs/platform/uriIdentity/common/uriIdentity'; import { stripIcons } from 'vs/base/common/iconLabels'; <ins> import { Schemas } from 'vs/base/common/network'; </ins> function getCount(repository: ISCMRepository): number { if (typeof repository.provider.count === 'number') {

<!-- Do you have a question? Please ask it on --VSCode Version: 1.12.1 OS Version: OS X EI Capitan 10.11.3 Steps to Reproduce: some project from GitHub. a file A.cs which has no fresh changes at all. on the editor of A.cs, and notice the button of on the top right corner above the editor doesn't display as disbled! Clicking it has no effect of course, but it should display as disable in this case just like what in the old versions.
Can't fix without , closing for now.
since it connot be fixed without , should this be kept open and linked to then?
Sure.
To keep the number of issues in our inbox on a manageable level, we're closing issues that have been on the backlog for a long time but haven't gained traction: We look at the number of votes the issue has received and the number of duplicates issues filed. Thanks for your understanding. Happy coding!
Hoping to re-open this because I got this as a feedback item from a few CS educators. They notice their students clicking it accidentally and being confused when there is no apparent action.
I think this has regressed, I now miss this button when a file is staged.
Fixed regression with
There is another regression (), so I will be reverting this fix for this, and will refactor it.


Question: 'out-build/vs/code/electron-browser/sharedProcess/sharedProcess.js', 'out-build/vs/code/electron-sandbox/issue/issueReporter.js', 'out-build/vs/code/electron-sandbox/processExplorer/processExplorer.js', <del> 'out-build/vs/platform/auth/common/auth.css', </del> <ins> 'out-build/vs/code/electron-sandbox/proxy/auth.js', </ins> '!**/test/**' ];

<!-- 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: --Same issue as , just on a different version. <!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.48 OS Version: Windows 10 <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes Edit Possible reason: In , is missing. imports this script but it is not there. This might explain why the submit action does nothing. Edit 2 Thanks, for the workaround:  it in
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.803 --- <!-- score: 0.503 --- <!-- score: 0.499 --- <!-- score: 0.459 --- <!-- score: 0.449 --<!-- potentialduplicatescomment --
FYI, I was able to get it working by downloading and placing the following file.
Confirm, an old bug returned.
Where to place it?
Not exactly an old bug. It's more like the devs team forgot to bundle the 1 single script. See my edit of the OP.
I think the easiest workaround is to install the downgraded VSCode from the following link.
same on MacOS. Makes the whole tool useless as you can't click anything than force quit the application.
looks like this file needs to be explicitly listed somewhere here to be included in the build (I think the does not exist anymore and can be removed):
Sorry about the breakage. Thanks for narrowing down the issue.
Steps to verify: Clone cd basic-auth && open code-insiders Settings Proxy http://127.0.0.1:3129 Open developer tools fetch('') or perform any network request play with the auth dialog verify the auth dialog can be opened again once proxy config is changed


Question: getAnchor: () => this._editorContainer, render: (container) => { return this._render(provider, container); <ins> }, onHide: () => { if (provider.options.type === AccessibleViewType.HelpMenu) { this._accessiblityHelpIsShown.reset(); } </ins> } }; this._contextViewService.showContextView(delegate); <ins> if (provider.options.type === AccessibleViewType.HelpMenu) { this._accessiblityHelpIsShown.set(true); } </ins> } private _render(provider: IAccessibleContentProvider, container: HTMLElement): IDisposable {

It doesn't matter in this case, but note that you collect all the keyListener disposables in the store of the AccessibleView class (even if you dispose them in , but the disposable is still in the disposableStore). This can lead to memory leaks. I can really recommend to compose components according to their life times. I think here the lifetime of the rendered content is owned by the caller of (the caller is supposed to call on the result). So the disposable returned by should be owned by whatever you return in . I suggest to create a DisposableStore in render, push the key listener to it once the text model resolves and return the disposable store at the end of render (also add the to the store). Also, note that the getTextModel promise can resolve after the caller called dispose. Originally posted by in


Question: content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected .codicon { color: ${styles.listActiveSelectionIconForeground}; }`); } <del> if (styles.listFocusAndSelectionOutline) { content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected { outline-color: ${styles.listFocusAndSelectionOutline} !important; }`); } </del> if (styles.listFocusAndSelectionBackground) { content.push(` .monaco-drag-image,

This seems really aggressive and probably not intentional <img width="406" alt="image" src="https://user-"
I think this rule references a css variable that isn't defined <img width="501" alt="image" src="https://user-" it looks like you were in this area recently, it looks like there is a default that we don't fall back to, do you know what's going on?


Question: const selections = getEndPositionsAfterApplying(edits).map(p => Selection.fromPositions(p)); editor.executeEdits('inlineSuggestion.accept', edits.map(edit => EditOperation.replace(edit.range, edit.text))); editor.setSelections(selections, 'inlineCompletionPartialAccept'); <ins> editor.revealPositionInCenterIfOutsideViewport(editor.getPosition()!, ScrollType.Immediate); </ins> } finally { this._isAcceptingPartially = false; }

type at the end of line have ghost text accept it word by word when reaching the end of the viewport accepted words aren't revealed https://user-
fyi that I have pushed as a fix for this
Thank you! Sorry for not fixing this, I thought the fix was more complicated.
Accepting single word seems to move the horizontal scroll, but tabbing to accept the whole line does not scroll. Is that expected?
Marking as verified as word by word works.