jiebi/CodeConvo huggingface dataset:
Change:
description: nls.localize('search.location', "Controls whether the search will be shown as a view in the sidebar or as a panel in the panel area for more horizontal space."), deprecationMessage: nls.localize('search.location.deprecationMessage', "This setting is deprecated. You can drag the search icon to a new location instead.") }, <ins> 'search.maxResults': { type: ['number', 'null'], default: 20000, markdownDescription: nls.localize('search.maxResults', "Controls the maximum number of search results, this can be set to `null` (empty) to return unlimited results.") }, </ins> 'search.collapseResults': { type: 'string', enum: ['auto', 'alwaysCollapse', 'alwaysExpand'],

Discussion:
Investigate removing Max results limitation for Search and replace results Currently we set max limit to . We need to investigate on lifting this.
Assigning this to you. I see that you are working on improving the performance for Search results. Currently we have an hard limitation of 2048. But we never measure what is the threshold. Since you are already exercising Search performance this would be a good one to look at. Thanks
I noticed . An improvement may be to not open all files in which terms were found and replaced. As a software engineer myself I sometimes have to make many changes (just today some 33k machine names in 280 XML files). Version 1.3.1 crashed on me, but even if it had worked, I would have stared at many open files. And there's no shortcut to "save all" and "close all" :( I had to revert to Notepad++, which simply makes the changes in-place on disk, without opening all files. Maybe doing something similar is an option?
This would be nice to fix/improve. I have to open Atom just to do find/replace.
There should at least be a warning telling the user that not all the occurrences have been replaced. It is very misleading when "Replace All" only replaces the first items.
Please increase this number or make it configurable
Same here. I'd like you to make the number configurable. I'd like to set this to "No Limit" also, hopefully.
The current upper bound for search in VSCode is occurrences. Is there a way to change it?
Please make this maximum / upper boundary configurable.
I wonder what is measuring? ! Also, when I set it to 2000, I see 4000 results show up when I search a single letter.
You will also get results in open files beyond the limit
This is a bit of a foot gun... Using some ridicules high value freeses VS Code eventually. Will create a separate issue for that
Change:
@IInstantiationService private readonly instantiationService: IInstantiationService, @IUserDataSyncService private readonly userDataSyncService: IUserDataSyncService, @INotificationService private readonly notificationService: INotificationService, <ins> @IDialogService private readonly dialogService: IDialogService, </ins> @IConfigurationService private readonly configurationService: IConfigurationService, @ITelemetryService private readonly telemetryService: ITelemetryService, @IUserDataAutoSyncService private readonly userDataAutoSyncService: IUserDataAutoSyncService,

Discussion:
! Most likely an oversight, we should create a color token for this so that it's themeable. Found .
Change:
} override dispose() { <ins> // The editor isn't disposed yet, it can be re-used. // However the model can be disposed before the editor & that causes issues. if (this._editor) { this._editor.setModel(null); } </ins> if (this._editor && this._editorViewStateChanged) { this.cell.saveSpirceEditorViewState(this._editor.saveViewState()); }

Discussion:
As reported by open notebook open nb from timeline close diff close notebook then I got Can repro from stable
Change:
public getForDocument(doc: ITextDocument): Promise<TableOfContents> { return this._cache.getForDocument(doc); } <ins> public createForNotebook(notebook: vscode.NotebookDocument): Promise<TableOfContents> { return TableOfContents.createForNotebook(this.parser, notebook); } </ins> }

Discussion:
Repro a notebook with the following markdown cells: still in edit mode, Try clicking on Bug Nothing happens Clicking on works since the header is within the same cell
Change:
"gradient": { "prefix": "gradient", "body": [ <del> "background-image: -moz-linear-gradient(top, ${start-color}, ${end-color});", </del> "background-image: -webkit-gradient(linear, left top, left bottom, from(${start-color}), to(${end-color}));", "background-image: -webkit-linear-gradient(top, ${start-color}, ${end-color});", <del> "background-image: linear-gradient(top, ${start-color}, ${end-color});" </del> <ins> "background-image: -moz-linear-gradient(top, ${start-color}, ${end-color});", "background-image: linear-gradient(to bottom, ${start-color}, ${end-color});" </ins> ], "description": "Set the 'background-image' property to a linear gradient" }

Discussion:
A gradient snippet was recently to the CSS snippets. This has an incorrect syntax for the unprefixed version. When it was standardised the angles were changed so that the old "top" keyword (as used in the snippet) maps to "to bottom" in the standard syntax. "left" becomes to right, and so on. The current code will create a gradient that is flipped for browsers that use the unprefixed version.
duplicate of
Change:
if (toSide && fullSize.width > 700) { if (this.groupsService.count === 1) { <del> this.groupsService.addGroup(this.groupsService.groups[0], GroupDirection.LEFT, { activate: true }); </del> <ins> this.groupsService.addGroup(this.groupsService.groups[0], GroupDirection.RIGHT, { activate: true }); </ins> const gettingStartedSize = Math.floor(fullSize.width / 2);

Discussion:
Could you please open another issue for that? Thanks. Originally posted by in
Remember to assign bugs and feature requests to the milestone they got addressed in.
Change:
this._filtersAction = new Action('notebookFindFilterAction', tooltip, 'notebook-filters ' + ThemeIcon.asClassName(filterIcon)); this._filtersAction.checked = false; this._filterButtonContainer = dom.$('.find-filter-button'); <ins> this._filterButtonContainer.classList.add('monaco-custom-toggle'); </ins> this.createFilters(this._filterButtonContainer); this._register(this.filters.onDidChange(() => {

Discussion:
! When I enable the other toggles like match word, it has a small border, but the filter doesn't have that.
Change:
} } <ins> export class CachedNavTreeResponse { response?: Promise<Proto.NavTreeResponse>; version: number = -1; document: string = ''; matches(document: TextDocument): boolean { return this.version === document.version && this.document === document.uri.toString(); } update(document: TextDocument, response: Promise<Proto.NavTreeResponse>) { this.response = response; this.version = document.version; this.document = document.uri.toString(); } } </ins> export abstract class TypeScriptBaseCodeLensProvider implements CodeLensProvider { private enabled: boolean = true; private onDidChangeCodeLensesEmitter = new EventEmitter<void>(); public constructor( <del> protected client: ITypeScriptServiceClient </del> <ins> protected client: ITypeScriptServiceClient, private cachedResponse: CachedNavTreeResponse </ins> ) { } public get onDidChangeCodeLenses(): Event<void> {

Discussion:
<!-- Do you have a question? Please ask it on --- VSCode Version: Version 1.12.1 (1.12.1) OS Version: Windows 64 bits This issue is not a bug but just a suggestion/idea to improve CodeLens performance for TypeScript when and are activated. In this case tsserver command which can take times and response can be big is called twice: one call of navtree for providing references CodeLens. one call of navtree for providing implementation CodeLens. I tell me if CodeLens provider could manage a shared context to store some data that other code lens provider could use it. For instance in this case, we could have just one call of navtree: one call of navtree for providing references CodeLens and store the result in a shared context. the implementation CodeLens provider search navtree from the shared context.
Change:
.monaco-workbench > .activitybar > .content .monaco-action-bar .action-label.extensions { -webkit-mask: url('extensions-dark.svg') no-repeat 50% 50%; <del> -webkit-mask-size: 22px; </del> <ins> -webkit-mask-size: 21px; </ins> }  No newline at end of file

Discussion:
The icon is svg, but not pixel perfext, just like bitmap. I am using macOS 10.13. !
Change:
const environment = await this.remoteAgentService.getEnvironment(); if (environment) { await this.createIfNotExists(environment.settingsPath, emptyEditableSettingsContent); <del> return this.editorService.openEditor({ resource: environment.settingsPath, options: { pinned: true, revealIfOpened: true } }); </del> <ins> return this.editorService.openEditor({ resource: environment.settingsPath, options: { pinned: true, revealIfOpened: true, override: EditorOverride.DISABLED } }); </ins> } return undefined; }

Discussion:
Steps to Reproduce: workbench editor associations to open *.json with a custom editor (e.g. HEX) to change this setting later = you cannot because in order to edit the values, you need to go to the JSON but it will open the custom editor always: ! Imho we should have a way to prevent the override from happening fro built in files such as settings. Only workaround is to entirely reset the setting. //cc
I've made a PR to fix this issue. I'm not sure why it is showing so many changes, it might be due to it being based off of the openWith PR that we had open before it got merged.
Change:
import { localize } from '../../../../../../nls.js'; import { DropdownWithPrimaryActionViewItem } from '../../../../../../platform/actions/browser/dropdownWithPrimaryActionViewItem.js'; import { createAndFillInActionBarActions } from '../../../../../../platform/actions/browser/menuEntryActionViewItem.js'; <del> import { IMenu, IMenuService, MenuItemAction } from '../../../../../../platform/actions/common/actions.js'; </del> <ins> import { IMenu, IMenuService, MenuId, MenuItemAction } from '../../../../../../platform/actions/common/actions.js'; </ins> import { IContextKeyService, IScopedContextKeyService } from '../../../../../../platform/contextkey/common/contextkey.js'; import { InputFocusedContext } from '../../../../../../platform/contextkey/common/contextkeys.js'; import { IContextMenuService } from '../../../../../../platform/contextview/browser/contextView.js';

Discussion:
<!-- 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 (only the jupyter and python extensions enabled) <!-- 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.94.0-insider (user setup) Commit: Date: 2024-09-16T05:03:40.122Z 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. Steps to Reproduce: I restarted VSCode to install the latest update (above), and now python interactive sessions do not print output of cells in the interactive window. After running a cell in a interactive session: Using the jupyter extension, one can see that the variables are created in memory, but there is no output in the interactive window. Tested with a jupyter notebook, output is correctly printed below the cells: ! Output of "window" after running a single cell in an interactive session: <details<summaryShow output (large)</summary</details
As clarification: nothing is shown in the interactive window, not just output "input" cells are not shown either Only the "Connected to kernel", "restarting kernel" or "kernel restarted" messages
likely a regression from
Same thing happened to me. Though the jupyter panel shows the variables created by running the code, the interactive window shows nothing. (see image below) !
actually caused by , but only because we are creating a menu with an undefined ID by overriding a type restriction here:
Change:
[TerminalSettingId.FontSize]: { description: localize('terminal.integrated.fontSize', "Controls the font size in pixels of the terminal."), type: 'number', <del> default: isMacintosh ? 12 : 14, </del> <ins> default: defaultTerminalFontSize, </ins> minimum: 6, maximum: 100 },

Discussion:
<!-- 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. --The new January 2024 (version 1.86) updates allows you to change the terminal font size with the mouse wheel. This is mouse users. Why were us keyboard users left out?? Can we please get commands to increase, decrease and reset the terminal font to be used for custom hotkeys. Cheers
Our zoom in / out keybindings do this for me... and
that's for the whole workbench, not just the terminal. This is also lacking in the editor afaict. I'm going to close this as out of scope as it's very easy for an extension to implement this type of behavior. Correct me if I'm wrong about the editor missing the behavior though as we want to align there.
We try to keep VS Code lean and we think the functionality you're asking for is great for a VS Code extension. Maybe you can already find one that suits you in the . Just in case, in a few simple steps you can get started . See also our . Happy Coding!
it does exist for the editor ! !
Thanks, I was searching for "zoom"
sweeeeet! Thank you. Looking forward to this.
Change:
this._rootDomNode.style.width = `${layoutInfo.width - layoutInfo.minimap.minimapCanvasOuterWidth - layoutInfo.verticalScrollbarWidth}px`; } <ins> private _clearStickyWidget() { dom.clearNode(this._lineNumbersDomNode); dom.clearNode(this._linesDomNode); this._rootDomNode.style.display = 'none'; } </ins> private _renderRootNode(): void { if (!this._editor._getViewModel()) {

Discussion:
Repro: a perf profile a ~100mb TypeScript file (duplicate the contents of a large TS file to make this) perf profile ! It doesn't end up working properly anyway: !
After delete and undo: !
Change:
bottom: 0; border-top-width: 0; border-bottom-width: 0; <ins> } .monaco-editor.modified-in-monaco-diff-editor .margin-view-overlays > div > .dirty-diff-glyph { display: none; </ins> }  No newline at end of file

Discussion:
Issue Type: <bBug</bWhe connected to a version control repo, differences are visible as a green/yellow/red colored indicator next to the line number. Clicking the colored indicator opens the inline diff viewer that still shows the indicator as you could recursively open diff viewers. Screenshot: ! VS Code version: Code - Insiders 1.28.0-insider (, 2018-09-07T05:20:29.346Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (2)</summaryExtensionVersion ------ Ionide-fsharp3.25.4 svn-scm1.34.0 </details<!-- generated by issue reporter --
Change:
}, [TerminalSettingId.ShellArgsMacOs]: { restricted: true, <del> markdownDescription: localize('terminal.integrated.shellArgs.osx', "The command line arguments to use when on the macOS terminal. [Read more about configuring the shell](https://code.visualstudio.com/docs/editor/integrated-terminal#_configuration)."), </del> <ins> markdownDescription: localize('terminal.integrated.shellArgs.osx', "The command line arguments to use when on the macOS terminal. [Read more about configuring the shell](https://code.visualstudio.com/docs/editor/integrated-terminal#_terminal-profiles)."), </ins> type: 'array', items: { type: 'string'

Discussion:
The settings point at Should be
can i work in this issue
sure
Thanks, I started looking at the vs code a few days ago. can you help me a little bit? how to open vscode user guide link from settings. Like I opened the settings from the file-preferences-settings-terminal but I didn't find any way to open that link in vs code.
These settings are a little special as they're deprecated so they won't show up in the UI. If you switch to the JSON file you can add the setting manually like this and then hover it: ! !
The link is pointing to terminal-profiles instead of configuring-profiles but I think that is fine, considering the configuring-profiles section is right underneath, and that pointing to terminal-profiles allows users to learn more about profiles.
Change:
import { TextDocument, JSONDocument, JSONSchema, getLanguageService, DocumentLanguageSettings, SchemaConfiguration, ClientCapabilities, Range, Position, SortOptions } from 'vscode-json-languageservice'; import { getLanguageModelCache } from './languageModelCache'; import { Utils, URI } from 'vscode-uri'; <ins> import * as l10n from '@vscode/l10n'; </ins> type ISchemaAssociations = Record<string, string[]>;

Discussion:
Testing Should be exposed using a code action (specifically a source action) instead of as a setting? Some advantages: We can reuse the existing setting instead of adding a new one Sorting will play nicer with other source actions since users can configure the order in which the actions run Users can trigger source actions through the context menu or with keybindings
Hey that's a good idea! I'll discuss it with the team. What do you think ?
Yes, makes sense!
Change:
condition: and(succeeded(), ne(variables['NPM_REGISTRY'], 'none')) displayName: Setup NPM Registry <ins> # In Alpine, we always want to setup and authenticate against the NPM_REGISTRY # because of the Prebuild step, since it always runs `yarn` from inside an alpine # container - script: | set -e npm config set registry "$NPM_REGISTRY" --location=project npm config set always-auth=true --location=project yarn config set registry "$NPM_REGISTRY" condition: and(succeeded(), ne(variables['NPM_REGISTRY'], 'none')) displayName: Setup NPM & Yarn - task: npmAuthenticate@0 inputs: workingFile: .npmrc condition: and(succeeded(), ne(variables['NPM_REGISTRY'], 'none')) displayName: Setup NPM Authentication </ins> - script: | mkdir -p .build node build/azure-pipelines/common/computeNodeModulesCacheKey.js "alpine" > .build/yarnlockhash

Discussion:
Build from last Friday was ignored: This started happening since It only happens on full Product builds, since only those run the Alpine jobs, and whenever the nodemodules cache is warm. The reason for this is due to the Pipeline step which always runs .
Change:
} }); CommandsRegistry.registerCommand('workbench.action.tasks.showLog', () => { <del> this._showOutput(); </del> <ins> this._showOutput(undefined, true); </ins> }); CommandsRegistry.registerCommand('workbench.action.tasks.build', async () => {

Discussion:
Run "Show task log" command Get a notification, "there are task errors", click "show output" I don't see any log or errors ! Heard something about task logging during standup and noticed this.
Oh actually, the task changes didn't make it into insider's today. So not convinced this is a bug or related to the changes. Will investigate
Anything interesting with your task config/ had you made changes to it?
No, I see this in every window currently. for example, in a single-folder window with the vscode repo
My task changes went in 10 hrs ago and the latest build was 18 hrs ago.
I can reproduce in an old stable
Change:
const showActionButton = config.get<{ sync: boolean }>('showActionButton', { sync: true }); const branchIsAheadOrBehind = (this.state.HEAD?.behind ?? 0) > 0 || (this.state.HEAD?.ahead ?? 0) > 0; <del> // Branch does not have an upstream, branch is not ahead/behind the remote branch, commit/merge is in progress, or the button is disabled if (!this.state.HEAD?.upstream || !branchIsAheadOrBehind || this.state.isCommitInProgress || this.state.isMergeInProgress || !showActionButton.sync) { return undefined; } </del> <ins> // Branch does not have an upstream, branch is not ahead/behind the remote branch, commit/merge/rebase is in progress, or the button is disabled if (!this.state.HEAD?.upstream || !branchIsAheadOrBehind || this.state.isCommitInProgress || this.state.isMergeInProgress || this.state.isRebaseInProgress || !showActionButton.sync) { return undefined; } </ins> const ahead = this.state.HEAD.ahead ? ` ${this.state.HEAD.ahead}$(arrow-up)` : ''; const behind = this.state.HEAD.behind ? ` ${this.state.HEAD.behind}$(arrow-down)` : '';

Discussion:
Testing [ ] Update label accordingly (deferred) [x] Remove secondary actions
Pushing this out to the next milestone as there are some things I need to investigate first related to the rebase flow.
Decided to keep the "Commit" label for the button to keep things simple. Will change it if needed, based on customer feedback.
Change:
constructor( protected readonly _editor: ICodeEditor, <del> initialSize: dom.IDimension = new dom.Dimension(10, 10) </del> <ins> minimumSize: dom.IDimension = new dom.Dimension(10, 10) </ins> ) { super(); this._resizableNode.domNode.style.position = 'absolute'; <del> this._resizableNode.minSize = new dom.Dimension(10, 10); </del> <ins> this._resizableNode.minSize = dom.Dimension.lift(minimumSize); this._resizableNode.layout(minimumSize.height, minimumSize.width); </ins> this._resizableNode.enableSashes(true, true, true, true); <del> this._resizableNode.layout(initialSize.height, initialSize.width); </del> this._register(this._resizableNode.onDidResize(e => { this._resize(new dom.Dimension(e.dimension.width, e.dimension.height)); if (e.done) {

Discussion:
Testing !
I think the minimum size should me much bigger: !
Currently the minimum height is the line height plus 8 pixels, and the minimum width is 4/3 times the minimum height. Do you think the minimum width should be larger or perhaps dynamic and depending on the current width?
I think a min width of 150px could work
To verify: a hover and make sure that the hover can be sized down to a minimum width of 150px provided that the hover width is naturally above 150px a small hover with a natural width smaller than 150px, verify it can not be sized down to a smaller width than its initial width
Change:
documentSelector: null, interFileDependencies: false, workspaceDiagnostics: false <del> } </del> <ins> }, codeActionProvider: true </ins> }; return { capabilities };

Discussion:
Testing Should be exposed using a code action (specifically a source action) instead of as a setting? Some advantages: We can reuse the existing setting instead of adding a new one Sorting will play nicer with other source actions since users can configure the order in which the actions run Users can trigger source actions through the context menu or with keybindings
Hey that's a good idea! I'll discuss it with the team. What do you think ?
Yes, makes sense!
Change:
return machineId; } <del> async function getMacMachineId(): Promise<string | undefined> { </del> <ins> async function getMacMachineId(errorLogger: (error: any) => void): Promise<string | undefined> { </ins> try { const crypto = await import('crypto'); const macAddress = getMac(); return crypto.createHash('sha256').update(macAddress, 'utf8').digest('hex'); } catch (err) { <del> errors.onUnexpectedError(err); </del> <ins> errorLogger(err); </ins> return undefined; } }

Discussion:
When fails to get a mac address it still returns a generated mac id, but uses to log the error. That's a bit risky as it rely on VS Code to already have installed a . The default handler throws an exception in a timeout that can crash the process. (see issue ) IMO the better way would be to pass a logger to , e.g. the -move to -add to
if you support the idea I can provide a PR
that all sounds fine to me, thanks for looking into this. I didn't know this could cause a crash since it had been in desktop for so long.