jiebi/CodeConvo huggingface dataset:
Change:
Testing install eamodio.remotehub restart code and open from console with in the explorer, note that the title shows install the . It contains only a contribution, which is a dynamic contribution point Note that you are asked to reload: There should not be such a prompt. Interestingly the explorer label has already changed to , that means the contribution has received a delta

Discussion:
} stopExtensionHost(): void { } <ins> canAddExtension(): boolean { return false; } canRemoveExtension(): boolean { return false; } </ins> } suite('CommandService', function () {

getExtension(id: string): Promise<IExtensionDescription | undefined>; /** <ins> * Returns `true` if the given extension can be added. Otherwise `false`. * @param extension An extension */ canAddExtension(extension: IExtensionDescription): boolean; /** * Returns `true` if the given extension can be removed. Otherwise `false`. * @param extension An extension */ canRemoveExtension(extension: IExtensionDescription): boolean; /** </ins> * Read all contributions to an extension point. */ readExtensionPointContributions<T>(extPoint: IExtensionPoint<T>): Promise<ExtensionPointContribution<T>[]>;

return true; } <ins> public canAddExtension(extension: IExtensionDescription): boolean { if (this._windowService.getConfiguration().remoteAuthority) { return false; } if (extension.extensionLocation.scheme !== Schemas.file) { return false; } const extensionDescription = this._registry.getExtensionDescription(extension.identifier); if (extensionDescription) { // ignore adding an extension which is already running and cannot be removed if (!this._canRemoveExtension(extensionDescription)) { return false; } } return this._usesOnlyDynamicExtensionPoints(extension); } public canRemoveExtension(extension: IExtensionDescription): boolean { if (this._windowService.getConfiguration().remoteAuthority) { return false; } if (extension.extensionLocation.scheme !== Schemas.file) { return false; } const extensionDescription = this._registry.getExtensionDescription(extension.identifier); if (!extensionDescription) { // ignore removing an extension which is not running return false; } return this._canRemoveExtension(extensionDescription); } </ins> private _canRemoveExtension(extension: IExtensionDescription): boolean { if (this._extensionHostActiveExtensions.has(ExtensionIdentifier.toKey(extension.identifier))) { // Extension is running, cannot remove it safely

restartExtensionHost(): void { } startExtensionHost(): void { } stopExtensionHost(): void { } <ins> canAddExtension(): boolean { return false; } canRemoveExtension(): boolean { return false; } </ins> } export class TestMenuService implements IMenuService {
Change:
When I was debugging SVN extension () I saw this message in console: ! Then I've discovered that this promise is unhandled in another extension, after I've edited file and inserted breakpoint. Please provide some stacktrace or message of rejected Promise it's hard to find the root of the problem.
This issue is caused by an extension, please file it with the repository (or contact) the extension has linked in its overview in VS Code or the for VS Code. See also our guidelines. Happy Coding!
I think the ask here is that we improve our handler to display the call stack of the unhandled error...
Yeah, I got that. I have for that (thanks to

Discussion:
setTimeout(() => { const idx = unhandledPromises.indexOf(promise); if (idx >= 0) { <del> unhandledPromises.splice(idx, 1); console.warn('rejected promise not handled within 1 second'); onUnexpectedError(reason); </del> <ins> promise.catch(e => { unhandledPromises.splice(idx, 1); console.warn(`rejected promise not handled within 1 second: ${e}`); if (e.stack) { console.warn(`stack trace: ${e.stack}`); } onUnexpectedError(reason); }); </ins> } }, 1000); });
Change:
Testing Currently and throw a non-obvious exception when a key is not defined: As discussed with these calls should better return an empty string.

Discussion:
args.push(value); } <del> const result = await this.exec(args, options); return result.stdout.trim(); </del> <ins> try { const result = await this.exec(args, options); return result.stdout.trim(); } catch (err) { this.logger.warn(`git config failed: ${err.message}`); return ''; } </ins> } async getConfigs(scope: string): Promise<{ key: string; value: string }[]> {

// Git config try { const mergeBase = await this.getConfig(branchMergeBaseConfigKey); <del> if (mergeBase) { return await this.getBranch(mergeBase); </del> <ins> if (mergeBase !== '') { const mergeBaseBranch = await this.getBranch(mergeBase); return mergeBaseBranch; </ins> } } catch (err) { }
Change:
Issue Type: <bBug</bWhen you open vscode-insder and you have two folders in the workspace on different branches it is automatically positioned on the first folder git branch also if the active file tab is of another folder. You need to deselect and select the file tab again to see the correct branch/git. This seems to happen only at vscode startup. VS Code version: Code - Insiders 1.31.0-insider (, 2019-01-31T06:15:21.895Z) OS version: Linux x64 4.18.0-13-generic <!-- 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.506 --- <!-- score: 0.452 --<!-- potentialduplicatescomment --
Hi, is this taken?
I'm interested in working in this issue but I'm having trouble understanding the bug. Could you give me step by step instructions on how to reproduce it?
I don't know exactly the full perimeter of the bug. But you can reproduce in this way: Create a workspace with two folder (one on a git branch and the second one with a worktree folder on another branch) Open a file from the first folder (in order as you see in the workspace view) Open a file from the second folder (in order as you see in the workspace view) Close vscode Open the application and you are positioned on the file on the second folder but the git branch in the bottom left panel is the one of the first folder. If you change the focus between the two opened file tabs and back the git branch in the panel it is refreshed correctly.
Can I take this?
sure go ahead
same issue on macOS
Are you still working on this issue? Else I would like to give it a try. I could reproduce the bug.
Yeah, I'm close to a fix.
Saw it had been a while since there was progress on this so had a stab in . Haven't found any issues with this fix so far.

Discussion:
this.disposables.push(disposable); if (!this.focusedRepository) { <del> this.onDidFocusRepository(repository); </del> <ins> if (this.editorService.activeEditor) { this.onDidActiveEditorChange(); } else { this.onDidFocusRepository(repository); } </ins> } }
Change:
Issue Type: <bBug</bKeybindings GUI (Sometimes optional) Scroll down/up over empty when columns shows when contexts from some other rows VS Code version: Code - Insiders 1.31.0-insider (, 2019-02-01T18:34:04.940Z) OS version: Windows_NT x64 10.0.

Discussion:
whenLabel.element.title = keybindingItemEntry.keybindingItem.when; } else { this.whenColumn.textContent = '—'; <ins> this.whenColumn.title = ''; </ins> } }
Change:
!
<img width="552" alt="capture" src="https://user-"

Discussion:
localize('proxySupportOverride', "Enable proxy support for extensions, override request options."), ], default: 'override', <del> description: localize('proxySupport', "Experimental setting: Use the proxy support for extensions.") </del> <ins> description: localize('proxySupport', "Use the proxy support for extensions.") </ins> } } });
Change:
Fixed in master, needs to be pulled into release branch
Verification: Open a terminal Resize the sidebar to be 50% of the screen size Type out a long line in the terminal that wraps several times and press enter (this needs to be able to unwrap when you close the sidebar) Resize the terminal larger, keep moving the cursor and hit cmd/ctrl+b to hide sidebar before you let go. The resize call is debounced every 50ms and you're trying to resize both dimensions larger in a single call. You know you've done the right thing if the text doesn't move/reflow until after you have resized both.

Discussion:
"vscode-ripgrep": "^1.2.5", "vscode-sqlite3": "4.0.7", "vscode-textmate": "^4.0.1", <del> "vscode-xterm": "3.11.0-beta2", </del> <ins> "vscode-xterm": "3.11.0-beta4", </ins> "winreg": "^1.2.4", "yauzl": "^2.9.1", "yazl": "^2.4.3"

"windows-mutex": "0.2.1", "windows-process-tree": "0.2.3" } <del> } </del>  No newline at end of file <ins> } </ins>

resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-1.0.6.tgz#6b8f141b0bbc44ad7b07e94f82f168ac7608ad4d" integrity sha512-sLI2L0uGov3wKVb9EB+vIQBl9tVP90nqRvxSoJ35vI3NjxE8jfsE5DSOhWgSunHSZmKS4OCi2jrtfxK7uyp2ww== <del> vscode-xterm@3.11.0-beta2: version "3.11.0-beta2" resolved "https://registry.yarnpkg.com/vscode-xterm/-/vscode-xterm-3.11.0-beta2.tgz#fe5295c835fcff00fee55cbb1d5a4bf537d105a2" integrity sha512-QG9ALgfH4+YUblN1G/AAdf40MJPOeb0p2u2k9MwcIvaJGQmk5Pp2KZUiQbO+ycfeuisTTVtqjceG7MutIEVZSQ== </del> <ins> vscode-xterm@3.11.0-beta4: version "3.11.0-beta4" resolved "https://registry.yarnpkg.com/vscode-xterm/-/vscode-xterm-3.11.0-beta4.tgz#8e7c7be9a273f6dce5e87a665aa32a7a54d47347" integrity sha512-6XhRuicfkTVXM2Ni6Fgh9epY6soZrUZEikajoTbheNs3q6U1Ye7nZqW5QUPzbGbkKzLvsns8Zve90D0WbobODQ== </ins> vso-node-api@6.1.2-preview: version "6.1.2-preview"
Change:
<!-- Use Help Report Issue to prefill these. --- VSCode Version: Confirmed in 1.31 and the latest insider. Version: 1.32.0-insider Commit: Version: 1.31.0 (system setup) Commit: OS Version:Windows_NT x64 10.0. Steps to Reproduce: an arbitrary folder in vscode (call it vscode 1) a new vscode window (call it vscode 2) and open another arbitrary folder. a file in vscode 1. +C or select copy from the right-click menu of the file in vscode 1. to paste the file in vscode 2 with Ctrl+V doesn't work. The "paste" menu item in the right-click menu is also grayed out. This used to work in 1.30.2. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
Even dragging the files instead of and it will only move files, not folders. Open all the directories (which is a nice new feature). Drag over to the 2nd windows workspace, and all you'll get is files, not folders. OS Version: 4.20.5-arch1-1-ARCH
PR:

Discussion:
KeybindingsRegistry.registerCommandAndKeybindingRule({ id: PASTE_FILE_ID, weight: KeybindingWeight.WorkbenchContrib + explorerCommandsWeightBonus, <del> when: ContextKeyExpr.and(FilesExplorerFocusCondition, ExplorerResourceNotReadonlyContext, FileCopiedContext), </del> <ins> when: ContextKeyExpr.and(FilesExplorerFocusCondition, ExplorerResourceNotReadonlyContext), </ins> primary: KeyMod.CtrlCmd | KeyCode.KEY_V, handler: pasteFileHandler });

import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { IAsyncDataTreeViewState } from 'vs/base/browser/ui/tree/asyncDataTree'; import { FuzzyScore } from 'vs/base/common/filters'; <ins> import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService'; </ins> export class ExplorerView extends ViewletPanel { static readonly ID: string = 'workbench.explorer.fileView';

@IMenuService private readonly menuService: IMenuService, @ITelemetryService private readonly telemetryService: ITelemetryService, @IExplorerService private readonly explorerService: IExplorerService, <del> @IStorageService private readonly storageService: IStorageService </del> <ins> @IStorageService private readonly storageService: IStorageService, @IClipboardService private clipboardService: IClipboardService </ins> ) { super({ ...(options as IViewletPanelOptions), id: ExplorerView.ID, ariaHeaderLabel: nls.localize('explorerSection', "Files Explorer Section") }, keybindingService, contextMenuService, configurationService);

private onContextMenu(e: ITreeContextMenuEvent<ExplorerItem>): void { const stat = e.element; <ins> // update dynamic contexts this.fileCopiedContextKey.set(this.clipboardService.hasResources()); </ins> const selection = this.tree.getSelection(); this.contextMenuService.showContextMenu({ getAnchor: () => e.anchor,
Change:
Issue Type: <bBug</bLatest insider build, no extensions installed. Same issue on january 2019 update. No issue on december 2018 update. Once I have run a build task once, and closed the "build terminal" any subsequent builds will fail with the error "Failed to create terminal for task clean". If I do not close the build terminal I can run the build again. I get no output anywhere explaining what went wrong. The issue is on a dotnet core Azure functions app. tasks relevant if I comment out the I can build (without cleaning first), then remove the comment and build again, the clean task runs fine (because the terminal is now already spawned) output from developer tools console: VS Code version: Code - Insiders 1.32.0-insider (, 2019-02-06T21:10:41.427Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </detailsExtensions: none <!-- generated by issue reporter --
Fix:
I found this problem too. (But for C++, though) Really hope a new release can come out soon. Thanks you guys.
I just updated the latest release and it contains this bug. Do you have stable tree or something that ensures that this kind of fresh bugs does not pop?
I just updated the latest release and it contains this bug. Do you have stable tree or something that ensures that this kind of fresh bugs does not pop?
what version do you have? This should be fixed starting with 1.31.1.
1.32.1
can you create a new issue with your repro steps? Since this issue was caused by a value not getting checked for existence it can't be the same root cause.

Discussion:
// (or, if the task has no group, a terminal used by a task without group). for (const taskId of this.idleTaskTerminals.keys()) { const idleTerminalId = this.idleTaskTerminals.get(taskId)!; <del> if (this.terminals[idleTerminalId].group === group) { </del> <ins> if (idleTerminalId && this.terminals[idleTerminalId].group === group) { </ins> terminalId = this.idleTaskTerminals.remove(taskId); break; }

if (task.command.presentation && task.command.presentation.clear) { terminalToReuse.terminal.clear(); } <ins> this.terminals[terminalToReuse.terminal.id.toString()].lastTask = taskKey; </ins> return [terminalToReuse.terminal, commandExecutable, undefined]; }
Change:
What is the purpose of in vs/platform? should only be used for shared services across processes. Please move it elsewhere, e.g. .

Discussion:
"./vs/platform/contextview/browser/contextMenuService.ts", "./vs/platform/contextview/browser/contextView.ts", "./vs/platform/contextview/browser/contextViewService.ts", <del> "./vs/platform/credentials/test/node/keytar.test.ts", </del> "./vs/platform/diagnostics/electron-main/diagnosticsService.ts", "./vs/platform/dialogs/common/dialogs.ts", "./vs/platform/dialogs/node/dialogIpc.ts",

<ins> /*--------------------------------------------------------------------------------------------- *  Copyright (c) Microsoft Corporation. All rights reserved. *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import * as assert from 'assert'; import * as platform from 'vs/base/common/platform'; suite('Keytar', () => { test('loads and is functional', function (done) { if (platform.isLinux) { // Skip test due to set up issue with Travis. this.skip(); return; } (async () => { const keytar = await import('keytar'); const name = `VSCode Test ${Math.floor(Math.random() * 1e9)}`; try { await keytar.setPassword(name, 'foo', 'bar'); assert.equal(await keytar.getPassword(name, 'foo'), 'bar'); await keytar.deletePassword(name, 'foo'); assert.equal(await keytar.getPassword(name, 'foo'), undefined); } catch (err) { // try to clean up try { await keytar.deletePassword(name, 'foo'); } finally { // tslint:disable-next-line: no-unsafe-finally throw err; } } })().then(done, done); }); }); </ins>  No newline at end of file

<del> /*--------------------------------------------------------------------------------------------- *  Copyright (c) Microsoft Corporation. All rights reserved. *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import * as assert from 'assert'; import * as platform from 'vs/base/common/platform'; suite('Keytar', () => { test('loads and is functional', function (done) { if (platform.isLinux) { // Skip test due to set up issue with Travis. this.skip(); return; } (async () => { const keytar = await import('keytar'); const name = `VSCode Test ${Math.floor(Math.random() * 1e9)}`; try { await keytar.setPassword(name, 'foo', 'bar'); assert.equal(await keytar.getPassword(name, 'foo'), 'bar'); await keytar.deletePassword(name, 'foo'); assert.equal(await keytar.getPassword(name, 'foo'), undefined); } catch (err) { // try to clean up try { await keytar.deletePassword(name, 'foo'); } finally { // tslint:disable-next-line: no-unsafe-finally throw err; } } })().then(done, done); }); }); </del>  No newline at end of file
Change:
<!-- 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.31.0 OS Version: Windows 10 Steps to Reproduce: a system with user home containing a space some gulp task configured you will have: <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes/No I think it was introduced by this commit: it is now using a global gulp which is installed in user home instead of local one. The command has never escaped space in path though
Thank you for catching this! The fix will be available in the next Insiders build.
Why are you looking in now, was that on purpose?
Ah that was already fixed

Discussion:
if (platform === 'win32' && await exists(path.join(rootPath!, 'node_modules', '.bin', 'gulp.cmd'))) { const globalGulp = path.join(process.env.APPDATA ? process.env.APPDATA : '', 'npm', 'gulp.cmd'); if (await exists(globalGulp)) { <del> gulpCommand = globalGulp; </del> <ins> gulpCommand = '"' + globalGulp + '"'; </ins> } else { gulpCommand = path.join('.', 'node_modules', '.bin', 'gulp.cmd'); }
Change:
Forked from Disable smartStep in a node launch config Debug async/await code See that non-sourcemapped frames are still grayed out and labeled as "skipped by smartStep"
Verification steps: Clone Disable smartStep in the launch config Debug and verify that frames are not grayed out as "skipped via smartStep"
I see the changelog of 1.31.1 says is fixed. But this is what I'm seeing. The debugger is doing the exact opposite of desired behavior. It skips my code , while not skipping all library code (e.g. , which is in ). Version: 1.31.1 (system setup) !
I haven't released this for the chrome extension yet, I'll do that now.

Discussion:
}, { "name": "ms-vscode.node-debug2", <del> "version": "1.31.5", </del> <ins> "version": "1.31.6", </ins> "repo": "https://github.com/Microsoft/vscode-node-debug2", "metadata": { "id": "36d19e17-7569-4841-a001-947eb18602b2",
Change:
<!-- Use Help Report Issue to prefill these. --- VSCode Version: Version 1.31.1 OS Version: Majove 10.14.3 Steps to Reproduce: the following files: /test/.gitkeep the following rules to .gitignore In the explorer file is grayed out even though git recognises it. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes/No Yes
Just wanted to report this issue. The changes in the file will be reported in the git tab but it will be greyed out as well. On the explorer tab, there would be a letter indicating the change but still greyed out.
This issue is related: . According to it is caused by a bug in .
fixed via

Discussion:
} // https://git-scm.com/docs/git-check-ignore#git-check-ignore--z <del> const child = this.repository.stream(['check-ignore', '-z', '--stdin'], { stdio: [null, null, null] }); </del> <ins> const child = this.repository.stream(['check-ignore', '-v', '-z', '--stdin'], { stdio: [null, null, null] }); </ins> child.stdin.end(filePaths.join('0'), 'utf8'); const onExit = (exitCode: number) => {

// nothing ignored resolve(new Set<string>()); } else if (exitCode === 0) { <del> // paths are separated by the null-character resolve(new Set<string>(data.split('0'))); </del> <ins> resolve(new Set<string>(this.parseIgnoreCheck(data))); </ins> } else { if (/ is in submodule /.test(stderr)) { reject(new GitError({ stdout: data, stderr, exitCode, gitErrorCode: GitErrorCodes.IsInSubmodule }));

}); } <ins> // Parses output of `git check-ignore -v -z` and returns only those paths // that are actually ignored by git. // Matches to a negative pattern (starting with '!') are filtered out. // See also https://git-scm.com/docs/git-check-ignore#_output. private parseIgnoreCheck(raw: string): string[] { const ignored = []; const elements = raw.split('0'); for (let i = 0; i < elements.length; i += 4) { const pattern = elements[i + 2]; const path = elements[i + 3]; if (pattern && !pattern.startsWith('!')) { ignored.push(path); } } return ignored; } </ins> private async run<T>(operation: Operation, runOperation: () => Promise<T> = () => Promise.resolve<any>(null)): Promise<T> { if (this.state !== RepositoryState.Idle) { throw new Error('Repository not initialized');
Change:
Issue Type: <bBug</bor create a project that uses Git source control. or change some files and stage those changes. a file without saving it. to make a commit. This will bring up a dialog asking how to make the commit, which includes options to cancel, commit, or save all and commit. The nature of the dialog suggests that the file will be included in the commit when you save, which is true if you have no staged files. But when you have staged files, the newly-saved files should be staged as well in order to be included in the commit. Expected behavior: Files saved with this dialog should be staged for inclusion in the commit. Actual behavior: The commit is made without staging changes in the file. VS Code version: Code 1.31.1 (, 2019-02-12T02:20:54.427Z) OS version: WindowsNT x64 10.0. <details<summarySystem Info</summary </details<details<summaryExtensions (3)</summaryExtensionVersion ------ EditorConfig0.13.0 tslint1.0.43 prettier-vscode1.8.1 </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.641 --- <!-- score: 0.605 --- <!-- score: 0.591 --- <!-- score: 0.526 --- <!-- score: 0.498 --<!-- potentialduplicatescomment --

Discussion:
if (pick === saveAndCommit) { await Promise.all(unsavedTextDocuments.map(d => d.save())); <ins> await Promise.all(unsavedTextDocuments.map(d => repository.stage(d.uri, d.getText()))); </ins> await repository.status(); } else if (pick !== commit) { return false; // do not commit on cancel