jiebi/CodeConvo huggingface dataset:
Change:
throw new Error('Missing gallery'); } <del> const [gallery] = await this.galleryService.getExtensions([{ id: extension.gallery.identifier.id, version }], CancellationToken.None); </del> <ins> const targetPlatform = extension.server ? await extension.server.extensionManagementService.getTargetPlatform() : undefined; const [gallery] = await this.galleryService.getExtensions([{ id: extension.gallery.identifier.id, version }], { targetPlatform }, CancellationToken.None); </ins> if (!gallery) { throw new Error(nls.localize('not found', "Unable to install extension '{0}' because the requested version '{1}' is not found.", extension.gallery!.identifier.id, version)); }

Discussion:
Version: 1.65.0-insider (user setup) Commit: Date: 2022-02-11T05:19:13.554Z Electron: 16.0.8 Chromium: 96.0.4664.110 16.9.1 V8: 9.6.180.21-electron.0 OS: Windows_NT x64 10.0. Steps to Reproduce: an extension (such as the C/C++ extension) that uses platform-specific VSIX's in the marketplace. a Remote WSL workspace. Install that extension into the remote. the extension UI for the instance installed remotely, try to select "Install Another Version..." or "Install Another Prerelease Version..." This results in an error: ! (There is a similar error in latest non-insider version, 1.64.2)
Can you please enable the log level to trace and provide following logs while performing this action? Log (Shared) Log (Window) Log (Remote)
When this repro's, I see the following in (with and is set to . I do not see any such setting as ) : is similar: was not logged to for this repro.
You can use following command to set log level to trace
Log (Shared): Log (Windows): Log (Remote Server): Log (Remote Extension Host): Please re-open. Please don't block waiting for me to provide information. This bug is extremely easy to reproduce.
Please re-open.
To verify: Open a remote window (make sure local and remote are on different Operating Systems) Install C++ extension Install another version of C++ extension (right click on the extension and you will see this action) Make sure another version is installed.
Change:
"configuration.tsserver.watchOptions.synchronousWatchDirectory": "Disable deferred watching on directories. Deferred watching is useful when lots of file changes might occur at once (e.g. a change in node_modules from running npm install), but you might want to disable it with this flag for some less-common setups.", "typescript.preferences.renameShorthandProperties.deprecationMessage": "The setting 'typescript.preferences.renameShorthandProperties' has been deprecated in favor of 'typescript.preferences.useAliasesForRenames'", "typescript.preferences.useAliasesForRenames": "Enable/disable introducing aliases for object shorthand properties during renames.", <ins> "typescript.preferences.renameMatchingJsxTags": "When on a JSX tag, try to rename the matching tag instead of renaming the symbol. Requires using TypeScript 5.1+ in the workspace.", </ins> "typescript.workspaceSymbols.scope": "Controls which files are searched by [Go to Symbol in Workspace](https://code.visualstudio.com/docs/editor/editingevolved#_open-symbol-by-name).", "typescript.workspaceSymbols.scope.allOpenProjects": "Search all open JavaScript or TypeScript projects for symbols.", "typescript.workspaceSymbols.scope.currentProject": "Only search for symbols in the current JavaScript or TypeScript project.",

Discussion:
!
<!-- -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!
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!
Why has this been marked out of scope? This is a feature that was .
facing the same
Same problem here. This IS crucial for big projects.
To verify: renames should rename matching tags now. Test on both html tag names () and custom components () you change , then renaming custom components should instead renaming all references to that component
Change:
import { HoverWidget } from 'vs/workbench/services/hover/browser/hoverWidget'; import { IContextViewProvider, IDelegate } from 'vs/base/browser/ui/contextview/contextview'; import { DisposableStore, IDisposable, toDisposable } from 'vs/base/common/lifecycle'; <del> import { addDisposableListener, EventType, getActiveElement } from 'vs/base/browser/dom'; </del> <ins> import { addDisposableListener, EventType, getActiveElement, isAncestor } from 'vs/base/browser/dom'; </ins> import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { ResultKind } from 'vs/platform/keybinding/common/keybindingResolver';

Discussion:
Testing !
That's right. Its because we are using hover infrastructure in the bg.
Change:
this.focusedMenu = { index: 0 }; this.focusState = MenubarState.FOCUSED; } else if (!this.isOpen) { <del> this.focusState = this.currentMenubarVisibility === 'toggle' ? MenubarState.HIDDEN : MenubarState.VISIBLE; </del> <ins> this.setUnfocusedState(); </ins> } }

Discussion:
Issue Type: <bBug</bWhen using the custom title bar and the toggled menu bar setting, the menu bar becomes stuck in the toggled on state. This primarily occurs when the active VS Code window becomes inactive while the menu bar is toggled on. When using multiple VS Code windows this makes it difficult to identify the correct window because the title bar's filename information is hidden. Steps to reproduce: the setting to , and setting to VS Code is the active window, hold down the key to show the menu bar the key while still holding the key to switch to another application. The active VS Code window becomes inactive and the menu bar is visible. Alternatively you can click outside of the active VS Code window while the menu bar is being displayed. VS Code version: Code 1.25.0 (, 2018-07-05T13:11:58.697Z) OS version: Windows_NT x64 10.0. <details<summaryExtensions (4)</summaryExtensionVersion ------ classic-asp0.0.4 vscode-icon-theme1.6.2 csharp1.15.2 PowerShell1.8.0 </details<!-- generated by issue reporter --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.538 --- <!-- score: 0.491 --- <!-- score: 0.483 --- <!-- score: 0.482 --- <!-- score: 0.48 --<!-- potentialduplicatescomment --
Change:
export function getSecondaryEdits(textModel: ITextModel, positions: readonly Position[], primaryEdit: SingleTextEdit): SingleTextEdit[] { const primaryPosition = positions[0]; const secondaryPositions = positions.slice(1); <ins> const primaryEditStartPosition = primaryEdit.range.getStartPosition(); </ins> const primaryEditEndPosition = primaryEdit.range.getEndPosition(); const replacedTextAfterPrimaryCursor = textModel.getValueInRange( Range.fromPositions(primaryPosition, primaryEditEndPosition) ); <del> const positionWithinTextEdit = subtractPositions(primaryPosition, primaryEdit.range.getStartPosition()); </del> <ins> const positionWithinTextEdit = subtractPositions(primaryPosition, primaryEditStartPosition); </ins> const secondaryEditText = substringPos(primaryEdit.text, positionWithinTextEdit); return secondaryPositions.map(pos => { <ins> const posEnd = addPositions(subtractPositions(pos, primaryEditStartPosition), primaryEditEndPosition); </ins> const textAfterSecondaryCursor = textModel.getValueInRange( <del> Range.fromPositions(pos, primaryEditEndPosition) </del> <ins> Range.fromPositions(pos, posEnd) </ins> ); const l = commonPrefixLength(replacedTextAfterPrimaryCursor, textAfterSecondaryCursor); const range = Range.fromPositions(pos, pos.delta(0, l));

Discussion:
Testing When I try completions with multiple-cursors, I keep seeing that one of them is correct and the other has an extra brace or breaks balanced quotes or something else. Should they be exactly the same? Some examples... ! ! Cursor one ! Cursor two !
Hi thank you for posting this issue. This looks indeed like a bug, I will investigate.
Change:
if (!this._visibleData) { return; } <del> const stoleFocus = this._visibleData.stoleFocus; </del> <ins> const stoleFocus = this._visibleData.stoleFocus || this._hoverFocusedKey.get(); </ins> this._setHoverData(undefined); this._resizableNode.maxSize = new dom.Dimension(Infinity, Infinity); this._resizableNode.clearSashHoverState();

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 <!-- 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 Insiders Version: VS Code Version: OS Version: Ubuntu 22.04.2 LTS Steps to Reproduce: This issue is identical to which was supposedly fixed by . I do not have a windows machine atm, so I cannot test if this is exclusively an issue with the snap-installed version of vscode, but I highly doubt it is. does give focus back to editor, but that's just a workaround.
Hi thanks for filing the issue. It appears this is a regression from the previous work done on making the hover resizable. A fix will be made.
Change:
export function activateEmmetExtension(context: vscode.ExtensionContext) { registerCompletionProviders(context); <ins> updateEmmetExtensionsPath(); </ins> context.subscriptions.push(vscode.commands.registerCommand('editor.emmet.action.wrapWithAbbreviation', (args) => { wrapWithAbbreviation(args);

Discussion:
Testing an html file, try triggering emmet Bug According to , I should see an error notification. However I don't see any error or notifications
I also don't see error for an invalid (if it isn't valid json for example)
Also get no errors in Linux.
+1 WSL
The reason seems like to be on the which has not be loaded when the extension first activate.
And the should be an error object instead of a string.
closedWith
I'll reopen the issue because I think the error handling changed afterwards, and I'd like to look into the implementation again during a later iteration.
Change:
styleSheets.push(`.notebookOverlay .monaco-list .monaco-list-row .cell-shadow-container-bottom { top: ${cellBottomMargin}px; }`); styleSheets.push(` <ins> .notebookOverlay .monaco-list .monaco-list-row:has(+ .monaco-list-row.selected) .cell-focus-indicator-bottom { height: ${bottomToolbarGap + cellBottomMargin}px; } `); styleSheets.push(` </ins> .monaco-workbench .notebookOverlay > .cell-list-container > .monaco-list > .monaco-scrollable-element > .monaco-list-rows > .monaco-list-row .input-collapse-container .cell-collapse-preview { line-height: ${collapsedIndicatorHeight}px; }

Discussion:
<img width="945" alt="image" src=""There is a gap between selected cells when we have multi cells selection.
Friendly ping! Looks like this issue requires some further steps to be verified. Please provide us with the steps necessary to verify this issue.
I'm unsure if what I'm seeing is expected: ! ! ! For the last scenario, I selected a top cell first, and then shift-clicked a bottom cell.
Change:
if (matchedWords.length !== words.length) { return null; } <del> if (completeMatch && (!this.isCompleteMatch(firstPart, firstPartMatch) || !this.isCompleteMatch(chordPart, chordPartMatch))) { return null; </del> <ins> if (completeMatch) { if (!this.isCompleteMatch(firstPart, firstPartMatch)) { return null; } if (!isEmptyObject(chordPartMatch) && !this.isCompleteMatch(chordPart, chordPartMatch)) { return null; } </ins> } return this.hasAnyMatch(firstPartMatch) || this.hasAnyMatch(chordPartMatch) ? { firstPart: firstPartMatch, chordPart: chordPartMatch } : null; }

Discussion:
Currently, to find conflicts caused by a chord, you need to search for the first sequence, without any quotes. This works, but since the search is global across all four columns of information for each keyboard rule, it brings up a variety of commands that you're not interested in. Additionally, it's probably not an obvious way to find conflicts for most VSCode users. I wonder if "Show Same Keybindings" should not only show the exact same keybindings, but also any keybindings where the first sequence of a chord matches. Alternatively, there could be a second option to the context menu that does this.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.466 --<!-- potentialduplicatescomment --
I like the idea of having separate entry/mechanism to look for keybindings containing keys.
Similarly, when editing a keybinding through the keybinding edit widget, when it warns you with "x existing commands have this keybinding", it should probably also warn you if that keybinding is not a chord, but it appears in an existing chord sequence, which again, has the potential for conflicts. With the two options being that those chord conflicts are either to the existing warning count, or an additional warning is with its own count.
Definitely. Some sort of mode (or at least an obvious switch) to search for first strokes in a chord would be amazing.
great
To verify: Enable Record Keys option in the Keyboard Shortcuts editor available in the search box Type Make sure all commands with cmd+k chord are shown. If you have a command with exact cmd+k keybinding, that shall also be shown.
Change:
protected readonly showDeletionMarkers = observableFromEvent<boolean>( this.configurationService.onDidChangeConfiguration, <del> () => /** @description showDeletionMarkers */ this.configurationService.getValue('mergeEditor.showDeletionMarkers') </del> <ins> () => /** @description showDeletionMarkers */ this.configurationService.getValue('mergeEditor.showDeletionMarkers') ?? true ); protected readonly useSimplifiedDecorations = observableFromEvent<boolean>( this.configurationService.onDidChangeConfiguration, () => /** @description useSimplifiedDecorations */ this.configurationService.getValue('mergeEditor.useSimplifiedDecorations') ?? false </ins> ); public readonly editor = this.instantiationService.createInstance(

Discussion:
Note all three lines highlighted with background color <img width="262" alt="CleanShot 2022-09-08 at 16 01 57 src="https://user-"We only highlight the changed line and specific word. <img width="184" alt="CleanShot 2022-09-08 at 16 02 04 src="https://user-"If we followed the inline style and still rendered a word diff, wouldn't we be able to get away without using the borders to indicate the region? cc
The inline style does this because it has no clue about the actual conflict, it just sees the conflict markers. We do this to show the actual change in that side.
I a hidden setting (default false) so we can play with idea. Personally, I think it hides many important decorations, but I'm open to exploring it. Enabled: ! Disabled: ! The background color disappears when the conflict is handled.
Change:
}), new Promise<string>(c => { const buffers: Buffer[] = []; <del> on(child.stderr, 'data', (b: Buffer) => buffers.push(b)); </del> <ins> on(child.stderr, 'data', (b: Buffer) => { buffers.push(b); const s = b.toString(); // Check for git clone progress reporting cloneProgressOutput.forEach(cloneOutput => { if (s.startsWith(cloneOutput)) { const idx = s.indexOf('%'); const inc = parseInt(s.slice(idx - 3, idx)); if (progress) { progress.report({ message: localize(cloneOutput.toLowerCase(), cloneOutput) + ': ' + inc + '%', increment: inc - prevInc }); prevInc = inc; } } }); }); </ins> once(child.stderr, 'close', () => c(Buffer.concat(buffers).toString('utf8'))); }) ]) as Promise<[number, Buffer, string]>;

Discussion:
<!-- Please search existing issues to avoid creating duplicates. --When downloading a GIT repository should indicate the percentage of download. <!-- Describe the feature you'd like. --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.484 --<!-- potentialduplicatescomment --
I would like to take this.
Change:
suggestOnTriggerCharacters: boolean; acceptSuggestionOnEnter: boolean; snippetSuggestions: 'top' | 'bottom' | 'inline' | 'none'; <ins> emptySelectionClipboard: boolean; </ins> tabCompletion: boolean; wordBasedSuggestions: boolean; suggestFontSize: number;

Discussion:
Like the title says, when nothing is selected, copying shouldn't copy a blank character.
As of now, cmd+c without any selection, copies the entire line. Sublime also does the same. Are we suggesting to change this behavior as part of this issue? I really like the current functionality. Or are we suggesting one more option/flag which user can enable to have the new functionality?
Yes, it would be behind an option
Can we have the option for this behavior or disable it? I don't like the auto copy of a blank line and would like to disable that feature. I agree it can be annoying especially in the type of coding I do (debugging).
Was a setting for this?
it is
disables the line copying entirely. Is there a way to have line copying enabled, while simultaneously ignoring the empty lines?
This doesn't disable the copying within my VS Code at all and I can still copy whitespace - anyone else had any luck? fingers crossed
Change:
return false; } <ins> // with the command center enabled, we should always show if (this.configurationService.getValue<boolean>('window.commandCenter')) { return true; } </ins> // macOS desktop does not need a title bar when full screen if (isMacintosh && isNative) { return !this.state.runtime.fullscreen;

Discussion:
Issue Type: <bBug</bAs as result, command center and layout control (when enabled) don't appear on fullscreen windows. This prevents me from using these features, as I always fullscreen all windows so I can easily navigate them with my keyboard using macOS Mission Control. VS Code versions: 1.68.1 (, 2022-06-14T12:52:13.188Z) 1.69.0-insider (, 2022-06-24T06:32:01.748Z) OS version: Darwin x64 21.5.0 Restricted Mode: No <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --Steps to Reproduce: stable or insiders on macOS these settings: VSCode if needed the window over the title bar at the top edge of the screen Everything working on a normal window: <img width="1680" alt="image" src="https://user-"Missing features on a fullscreen window: <img width="1680" alt="image" src="https://user-"
I think we need to revisit when the title bar is shown. in fullscreen we never need to show on macos, but should we always show if the command center is enabled on macos? or is this just yet another setting?
Note that while the command bar isn't enabled by default, layout controls are (but I wanted to list each setting explicitly). On my Mac, most Electron apps with custom title bars will remove the native title bar's title when fullscreen, but still show the UI outside of the title bar (so you don't have to mouse over the top of the screen to see it). I think VSCode should do this whenever the is set to .
Another thought, it would probably be a good idea to always support showing window controls outside of the title bar, since Linux doesn't have it enabled by default. So best to add UI, rather than have it exclusively in the title bar.
i would like to add that when , the layout control wont show up at all, even in normal view, i found out by pure luck
Change:
} private async getTerminalText(): Promise<string[]> { <del> const linesText: string[] = await this.spectron.webclient.selectorExecute<string[]>(Terminal.TERMINAL_ROWS_SELECTOR, div => (Array.isArray(div) ? div : [div]) .map(element => { function getTextFromAll(spanElements: NodeList): string { let text = ''; for (let i = 0; i < spanElements.length; i++) { text += getText(spanElements.item(i) as HTMLElement); } return text; } function getText(spanElement: HTMLElement): string { if (spanElement.hasChildNodes()) { return getTextFromAll(spanElement.childNodes); } return spanElement.textContent || ''; } return getTextFromAll(element.querySelectorAll('span')); })); let lastLineIndex = 0; for (let index = 0; index < linesText.length; index++) { if (linesText[index].trim()) { lastLineIndex = index; </del> <ins> return await this.spectron.webclient.selectorExecute(XTERM_SELECTOR, div => { const xterm = (<any>(Array.isArray(div) ? div[0] : div)).xterm; const buffer = xterm.buffer; const lines: string[] = []; for (let i = 0; i < buffer.lines.length; i++) { lines.push(buffer.translateBufferLineToString(i, true)); } return lines; </ins> } <del> } return linesText.slice(0, lastLineIndex + 1); </del> <ins> ); </ins> } }  No newline at end of file

Discussion:
FYI I commented out the test. Please fix it and enable it.
The test is failing because the DOM is no longer filled with nodes so these tests can't work the way they did previously. Is it possible with Spectron to pull a DOM node object, including any custom properties it has? If so I could attach a reference to the object to the terminal element which would allow querying the terminal for this sort of information really easily.
Yes, you can access the DOM in Spectron and we do it in multiple places. For example refer to . This will allow you to execute java script code on the renderer process that has access to DOM and let you return the model you want. But please be aware that, Since it runs in a different process than the test process, console log does not work.
PR with fix is out , will merge in after release is branched off.
Change:
protected _isDisposed: boolean; protected _myContextId: number; <del> protected _onDidChangeContext = new MicrotaskEmitter<IContextKeyChangeEvent>({ merge: input => new CompositeContextKeyChangeEvent(input), _profName: 'onDidChangeContextKey' }); // protected _onDidChangeContext = new PauseableEmitter<IContextKeyChangeEvent>({ merge: input => new CompositeContextKeyChangeEvent(input), _profName: 'onDidChangeContextKey' }); </del> <ins> protected _onDidChangeContext = new MicrotaskEmitter<IContextKeyChangeEvent>({ merge: input => new CompositeContextKeyChangeEvent(input) }); </ins> readonly onDidChangeContext = this._onDidChangeContext.event; constructor(myContextId: number) {

Discussion:
<img width="923" alt="image" src="https://user-"
ops
Change:
@IOpenerService protected openerService: IOpenerService, @ITelemetryService protected telemetryService: ITelemetryService, @IContextKeyService private contextKeyService: IContextKeyService, <ins> @ILifecycleService lifecycleService: ILifecycleService </ins> ) { <del> this.delegate.onDidChangeViewWelcomeState(this.onDidChangeViewWelcomeState, this, this.disposables); this.onDidChangeViewWelcomeState(); </del> <ins> this.disposables.add(Event.runAndSubscribe(this.delegate.onDidChangeViewWelcomeState, () => this.onDidChangeViewWelcomeState())); this.disposables.add(lifecycleService.onWillShutdown(() => this.dispose())); // Fixes https://github.com/microsoft/vscode/issues/208878 </ins> } layout(height: number, width: number) {

Discussion:
Reloading a window seems to reset the view state, I think thats not really needed, but not sure how this is triggered? !
This is from here: Arguably that listener should not run when we dispose the workbench, but maybe we cannot address this, will see.