jiebi/CodeConvo huggingface dataset:
Code change:
I did this on accident, but it took a little effort to figure out how I did it. Drag file from Finder onto Explorer Get scrollbar in Explorer to be visible, like by dragging near the top/bottom of the Explorer The entire explorer becomes highlighted when you hold the file over the scrollbar Drop file onto the scrollbar The entire explorer stays highlighted. It stays highlighted through interacting with the explorer and even switching to another viewlet. Only can be reversed by dragging another file onto the explorer. !
Actually a much easier way to repro is to two-finger scroll while dragging the file to get the scrollbar to appear.
i'm able to reproduce it. will try to fix it
couldn't find where to start. help is appreciated
I gave it a go in this PR:

Related discussion:
text: return candidate; } <del> if (element === document.body) { </del> <ins> if (element === this.scrollableElement.getDomNode() || element === document.body) { </ins> return null; } } while (element = element.parentElement);
Code change:
Have file named in explorer Copy/paste it Window hangs This is from We shouldn't attempt this when the number is = Number.MAXSAFEINTEGER. It loops forever here: This bug will happen whenever incrementFileName fails to modify the file name.
I guess only interesting thing about this what we should do in this case as we need to create some new file name? Add without changing the original number?
that sounds reasonable

Related discussion:
text: import { Schemas } from 'vs/base/common/network'; import { IDialogService, IConfirmationResult, IConfirmation, getConfirmMessage } from 'vs/platform/dialogs/common/dialogs'; import { INotificationService, Severity } from 'vs/platform/notification/common/notification'; <ins> import { Constants } from 'vs/editor/common/core/uint'; </ins> export interface IEditableData { action: IAction;
Code change:
Have file named in explorer Copy/paste it Window hangs This is from We shouldn't attempt this when the number is = Number.MAXSAFEINTEGER. It loops forever here: This bug will happen whenever incrementFileName fails to modify the file name.
I guess only interesting thing about this what we should do in this case as we need to create some new file name? Add without changing the original number?
that sounds reasonable

Related discussion:
text: export function incrementFileName(name: string, isFolder: boolean): string { const separators = '[.-_]'; <ins> const maxNumber = Constants.MAX_SAFE_SMALL_INTEGER; </ins> // file.1.txt=>file.2.txt let suffixFileRegex = RegExp('(.*' + separators + ')(d+)(..*)$'); if (!isFolder && name.match(suffixFileRegex)) { return name.replace(suffixFileRegex, (match, g1?, g2?, g3?) => { <del> return g1 + strings.pad(parseInt(g2) + 1, g2.length) + g3; </del> <ins> let number = parseInt(g2); return number < maxNumber ? g1 + strings.pad(number + 1, g2.length) + g3 : strings.format('{0}{1}.1{2}', g1, g2, g3); </ins> }); }
Code change:
Have file named in explorer Copy/paste it Window hangs This is from We shouldn't attempt this when the number is = Number.MAXSAFEINTEGER. It loops forever here: This bug will happen whenever incrementFileName fails to modify the file name.
I guess only interesting thing about this what we should do in this case as we need to create some new file name? Add without changing the original number?
that sounds reasonable

Related discussion:
text: let prefixFileRegex = RegExp('(d+)(' + separators + '.*)(..*)$'); if (!isFolder && name.match(prefixFileRegex)) { return name.replace(prefixFileRegex, (match, g1?, g2?, g3?) => { <del> return strings.pad(parseInt(g1) + 1, g1.length) + g2 + g3; </del> <ins> let number = parseInt(g1); return number < maxNumber ? strings.pad(number + 1, g1.length) + g2 + g3 : strings.format('{0}{1}.1{2}', g1, g2, g3); </ins> }); }
Code change:
Have file named in explorer Copy/paste it Window hangs This is from We shouldn't attempt this when the number is = Number.MAXSAFEINTEGER. It loops forever here: This bug will happen whenever incrementFileName fails to modify the file name.
I guess only interesting thing about this what we should do in this case as we need to create some new file name? Add without changing the original number?
that sounds reasonable

Related discussion:
text: // folder.1=>folder.2 if (isFolder && name.match(/(d+)$/)) { <del> return name.replace(/(d+)$/, (match: string, ...groups: any[]) => { return strings.pad(parseInt(groups[0]) + 1, groups[0].length); }); </del> <ins> return name.replace(/(d+)$/, (match: string, ...groups: any[]) => { let number = parseInt(groups[0]); return number < maxNumber ? strings.pad(number + 1, groups[0].length) : strings.format('{0}.1', groups[0]); }); </ins> } // 1.folder=>2.folder if (isFolder && name.match(/^(d+)/)) { <del> return name.replace(/^(d+)/, (match: string, ...groups: any[]) => { return strings.pad(parseInt(groups[0]) + 1, groups[0].length); }); </del> <ins> return name.replace(/^(d+)(.*)$/, (match: string, ...groups: any[]) => { let number = parseInt(groups[0]); return number < maxNumber ? strings.pad(number + 1, groups[0].length) + groups[1] : strings.format('{0}{1}.1', groups[0], groups[1]); }); </ins> } // file/folder=>file.1/folder.1
Code change:
Have file named in explorer Copy/paste it Window hangs This is from We shouldn't attempt this when the number is = Number.MAXSAFEINTEGER. It loops forever here: This bug will happen whenever incrementFileName fails to modify the file name.
I guess only interesting thing about this what we should do in this case as we need to create some new file name? Add without changing the original number?
that sounds reasonable

Related discussion:
text: assert.strictEqual(result, 'test_2'); }); <ins> test('Increment file name with suffix version, too big number', function () { const name = 'test.9007199254740992.js'; const result = incrementFileName(name, false); assert.strictEqual(result, 'test.9007199254740992.1.js'); }); test('Increment folder name with suffix version, too big number', function () { const name = 'test.9007199254740992'; const result = incrementFileName(name, true); assert.strictEqual(result, 'test.9007199254740992.1'); }); </ins> test('Increment file name with prefix version', function () { const name = '1.test.js'; const result = incrementFileName(name, false);
Code change:
Have file named in explorer Copy/paste it Window hangs This is from We shouldn't attempt this when the number is = Number.MAXSAFEINTEGER. It loops forever here: This bug will happen whenever incrementFileName fails to modify the file name.
I guess only interesting thing about this what we should do in this case as we need to create some new file name? Add without changing the original number?
that sounds reasonable

Related discussion:
text: assert.strictEqual(result, '2_test.js'); }); <del> test('Increment folder name with suffix version', function () { </del> <ins> test('Increment file name with prefix version, too big number', function () { const name = '9007199254740992.test.js'; const result = incrementFileName(name, false); assert.strictEqual(result, '9007199254740992.test.1.js'); }); test('Increment folder name with prefix version', function () { </ins> const name = '1.test'; const result = incrementFileName(name, true); assert.strictEqual(result, '2.test'); }); <del> test('Increment folder name with suffix version, trailing zeros', function () { </del> <ins> test('Increment folder name with prefix version, too big number', function () { const name = '9007199254740992.test'; const result = incrementFileName(name, true); assert.strictEqual(result, '9007199254740992.test.1'); }); test('Increment folder name with prefix version, trailing zeros', function () { </ins> const name = '001.test'; const result = incrementFileName(name, true); assert.strictEqual(result, '002.test'); }); <del> test('Increment folder name with suffix version  with `-` as separator', function () { </del> <ins> test('Increment folder name with prefix version  with `-` as separator', function () { </ins> const name = '1-test'; const result = incrementFileName(name, true); assert.strictEqual(result, '2-test');
Code change:
Learnings from NVAccess testing: I'm not sure how to get to the "details". Steps: Visual studio code editor. "Ctrl+Shift+X" key navigate to the extension side view bar option. Tab key navigate to the "More" option and select different options( "Show installed Extension, Show outdated extension, Show popular Extension,Etc") an extension and using "Tab" and "Arrow" keys navigate through the extension details window on the RHS
What do you think of a "Read more" button for each item? It will get a little noisy. Any other ideas?
Or just update the aria label on the extension item with "Click to read more" ? Because hitting Enter when the list item has focus, does open the details
definitely prefer making changes on the code side. The label should probably read like “View extension details” so it’s a little more explicit.

Related discussion:
text: 'use strict'; <ins> import { localize } from 'vs/nls'; </ins> import { append, $, addClass, removeClass, toggleClass } from 'vs/base/browser/dom'; import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { Action } from 'vs/base/common/actions';
Code change:
Learnings from NVAccess testing: I'm not sure how to get to the "details". Steps: Visual studio code editor. "Ctrl+Shift+X" key navigate to the extension side view bar option. Tab key navigate to the "More" option and select different options( "Show installed Extension, Show outdated extension, Show popular Extension,Etc") an extension and using "Tab" and "Arrow" keys navigate through the extension details window on the RHS
What do you think of a "Read more" button for each item? It will get a little noisy. Any other ideas?
Or just update the aria label on the extension item with "Click to read more" ? Because hitting Enter when the list item has focus, does open the details
definitely prefer making changes on the code side. The label should probably read like “View extension details” so it’s a little more explicit.

Related discussion:
text: private updateRecommendationStatus(extension: IExtension, data: ITemplateData) { const extRecommendations = this.extensionTipsService.getAllRecommendationsWithReason(); <ins> let ariaLabel = extension.displayName + '. '; </ins> if (!extRecommendations[extension.id.toLowerCase()]) { <del> data.root.setAttribute('aria-label', extension.displayName); data.root.title = ''; </del> removeClass(data.root, 'recommended'); <ins> data.root.title = ''; </ins> } else { <del> data.root.setAttribute('aria-label', extension.displayName + '. ' + extRecommendations[extension.id]); data.root.title = extRecommendations[extension.id.toLowerCase()].reasonText; </del> addClass(data.root, 'recommended'); <ins> ariaLabel += extRecommendations[extension.id.toLowerCase()].reasonText + ' '; data.root.title = extRecommendations[extension.id.toLowerCase()].reasonText; </ins> } <ins> ariaLabel += localize('viewExtensionDetailsAria', "Press enter for extension details."); data.root.setAttribute('aria-label', ariaLabel); </ins> } disposeTemplate(data: ITemplateData): void {
Code change:
Issue Type: <bBug</bThe cursor after pasting, I'd expect it to be at the end of the pasted text: ! VS Code version: Code - Insiders 1.26.0-insider (, 2018-08-02T05:12:16.245Z) OS version: Darwin x64 17.7.0 <details<summarySystem Info</summary </details<details<summaryExtensions (4)</summaryExtensionVersion ------ 999-pack10.12.6 ssh0.0.4 github-issues-prs0.9.0 vscode-open-in-github1.7.0 </details<!-- generated by issue reporter --

Related discussion:
text: this.searchBox.setModel(this.modelService.createModel('', null, uri.parse('extensions:searchinput'), true)); this.disposables.push(this.searchBox.onDidPaste(() => { <del> this.searchBox.setValue(this.searchBox.getValue().replace(/s+/g, ' ')); </del> <ins> let trimmed = this.searchBox.getValue().replace(/s+/g, ' '); this.searchBox.setValue(trimmed); </ins> this.searchBox.setScrollTop(0); <ins> this.searchBox.setPosition(new Position(1, trimmed.length + 1)); </ins> })); this.disposables.push(this.searchBox.onDidFocusEditorText(() => addClass(this.monacoStyleContainer, 'synthetic-focus'))); this.disposables.push(this.searchBox.onDidBlurEditorText(() => removeClass(this.monacoStyleContainer, 'synthetic-focus')));
Code change:
I would like to make a pull request that changes the markdown snippet for links to use HTTPS instead of HTTP. Microsoft seems to encourage HTTPS by default in the latest .NET Core & browsers are also encouraging it. To me HTTPS sites seem to be the default for most websites these days.
Sure, please open a pr. I didn't even know we had a snippet for links :)
Fixed by

Related discussion:
text: }, "Insert link": { "prefix": "link", <del> "body": "[${1:text}](http://${2:link})$0", </del> <ins> "body": "[${1:text}](https://${2:link})$0", </ins> "description": "Insert link" }, "Insert image": { "prefix": "image", <del> "body": "![${1:alt}](http://${2:link})$0", </del> <ins> "body": "![${1:alt}](https://${2:link})$0", </ins> "description": "Insert image" } }
Code change:
Issue Type: <bBug</bI use oh-my-zsh and set integrated terminal /bin/zsh cmd+, to show settings tab terminal(ctrl+shift+`) settings terminal integrated: Font size option. say we have default value 12. . now value is 1 and terminal gets so small 1 so now value is 11. and terminal is gone. expected to see current terminal cursor. i type lots of enters or ctrl+c, then I can see my terminal again. i saw my terminal again, it looks like change font size 11 -1 -12 doesn't make terminal to disappear. VS Code version: Code 1.27.1 (, 2018-09-06T09:14:32.385Z) OS version: Darwin x64 17.7.0 <details<summarySystem Info</summary </details<details<summaryExtensions (7)</summaryExtensionVersion ------ gitlens8.5.6 code-runner0.9.4 beautify1.4.2 Go0.6.89 vetur0.12.6 vscode-docker0.2.0 java0.30.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.481 --- <!-- score: 0.459 --<!-- potentialduplicatescomment --
also vertical scroll of terminal get somewhat screwed even after I see my terminal again by typing enter or ctrl+c
this seems to be related to the usage of from xterm: a similar problem with an explanation of a solution can be found here: In short, after the fontSize changes, the terminal renders before the xterm field is updated, so the render uses previous values (corresponding to the previous font size values) Related: ,
can some settings only commit the change on blur?
If is an invalid font size for that setting, can the terminal ignore it or set a minimum in the setting schema?
after thinking about this some more I think this is totally on my end as something weird happens when changing the setting frequently. There is already a minimum value which is why VS Code doesn't crash

Related discussion:
text: this.addDisposable(this._configurationService.onDidChangeConfiguration(e => { if (e.affectsConfiguration('terminal.integrated')) { this.updateConfig(); <ins> // HACK: Trigger another async layout to ensure xterm's CharMeasure is ready to use, // this hack can be removed when https://github.com/xtermjs/xterm.js/issues/702 is // supported. this.setVisible(this._isVisible); </ins> } if (e.affectsConfiguration('editor.accessibilitySupport')) { this.updateAccessibilitySupport();
Code change:
Repro: Add keybinding: Find a quick fix, and hit alt+enter quickly. The first action is triggered. I was seeing this here (notice Promise not TPromise): !

Related discussion:
text: VERTICAL_REVERSE, } <ins> export interface ActionTrigger { keys: KeyCode[]; keyDown: boolean; } </ins> export interface IActionItemProvider { (action: IAction): IActionItem; }
Code change:
Repro: Add keybinding: Find a quick fix, and hit alt+enter quickly. The first action is triggered. I was seeing this here (notice Promise not TPromise): !

Related discussion:
text: actionRunner?: IActionRunner; ariaLabel?: string; animated?: boolean; <ins> triggerKeys?: ActionTrigger; </ins> } let defaultOptions: IActionBarOptions = { orientation: ActionsOrientation.HORIZONTAL, <del> context: null </del> <ins> context: null, triggerKeys: { keys: [KeyCode.Enter, KeyCode.Space], keyDown: false } </ins> }; export interface IActionOptions extends IActionItemOptions {
Code change:
Repro: Add keybinding: Find a quick fix, and hit alt+enter quickly. The first action is triggered. I was seeing this here (notice Promise not TPromise): !

Related discussion:
text: this.focusNext(); } else if (event.equals(KeyCode.Escape)) { this.cancel(); <del> } else if (event.equals(KeyCode.Enter) || event.equals(KeyCode.Space)) { // Nothing, just staying out of the else branch </del> <ins> } else if (this.isTriggerKeyEvent(event)) { // Staying out of the else branch even if not triggered if (this.options.triggerKeys && this.options.triggerKeys.keyDown) { this.doTrigger(event); } </ins> } else { eventHandled = false; }
Code change:
Repro: Add keybinding: Find a quick fix, and hit alt+enter quickly. The first action is triggered. I was seeing this here (notice Promise not TPromise): !

Related discussion:
text: let event = new StandardKeyboardEvent(e as KeyboardEvent); // Run action on Enter/Space <del> if (event.equals(KeyCode.Enter) || event.equals(KeyCode.Space)) { this.doTrigger(event); </del> <ins> if (this.isTriggerKeyEvent(event)) { if (!this.options.triggerKeys.keyDown) { this.doTrigger(event); } </ins> event.preventDefault(); event.stopPropagation(); }
Code change:
Repro: Add keybinding: Find a quick fix, and hit alt+enter quickly. The first action is triggered. I was seeing this here (notice Promise not TPromise): !

Related discussion:
text: } } <ins> private isTriggerKeyEvent(event: StandardKeyboardEvent): boolean { let ret = false; if (this.options.triggerKeys) { this.options.triggerKeys.keys.forEach(keyCode => { ret = ret || event.equals(keyCode); }); } return ret; } </ins> private updateFocusedItem(): void { for (let i = 0; i < this.actionsList.children.length; i++) { let elem = this.actionsList.children[i];
Code change:
Repro: Add keybinding: Find a quick fix, and hit alt+enter quickly. The first action is triggered. I was seeing this here (notice Promise not TPromise): !

Related discussion:
text: actionItemProvider: action => this.doGetActionItem(action, options, parentData), context: options.context, actionRunner: options.actionRunner, <del> ariaLabel: options.ariaLabel </del> <ins> ariaLabel: options.ariaLabel, triggerKeys: { keys: [KeyCode.Enter], keyDown: true } </ins> }); this.actionsList.setAttribute('role', 'menu');
Code change:
Env: In Insider version, the API doesn't respect the option. The same code works in the normal vscode 1.28.2.
The code here converts the filters from the extension API into the electron API, but the function is supplied with the electron API format so this is not necessary and is causing the break.
I think this is something that we should ship with 1.29
We believe this is a regression, adding candidate label

Related discussion:
text: if (defaultUri && defaultUri.scheme !== Schemas.file) { return Promise.reject(new Error('Not supported - Open-dialogs can only be opened on `file`-uris.')); } <del> const filters = []; if (options.filters) { for (let name in options.filters) { filters.push({ name, extensions: options.filters[name] }); } } </del> const newOptions: OpenDialogOptions = { title: options.title, defaultPath: defaultUri && defaultUri.fsPath, buttonLabel: options.openLabel, <del> filters, </del> <ins> filters: options.filters, </ins> properties: [] }; newOptions.properties.push('createDirectory');
Code 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.28.2 OS Version: Microsoft Windows 10 Pro, 10.0. Build Steps to Reproduce (2 problems): a source code file over an IPv6 URL and notice the faulty incomplete underline: ! Click the link: the default browser opens without accessing the URL <!-- Launch with to check. --Does this issue occur when all extensions are disabled? Yes
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.463 --<!-- potentialduplicatescomment --

Related discussion:
text: resetStateMachine = true; } } else if (state === State.End) { <del> const chClass = classifier.get(chCode); </del> <ins> let chClass: CharacterClass; if (chCode === CharCode.OpenSquareBracket) { // Allow for the authority part to contain ipv6 addresses which contain [ and ] hasOpenSquareBracket = true; chClass = CharacterClass.None; } else { chClass = classifier.get(chCode); } </ins> // Check if character terminates link if (chClass === CharacterClass.ForceTermination) {
Code 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.28.2 OS Version: Microsoft Windows 10 Pro, 10.0. Build Steps to Reproduce (2 problems): a source code file over an IPv6 URL and notice the faulty incomplete underline: ! Click the link: the default browser opens without accessing the URL <!-- Launch with to check. --Does this issue occur when all extensions are disabled? Yes
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.463 --<!-- potentialduplicatescomment --

Related discussion:
text: '                                                                                                                                                 https://msdn.microsoft.com/en-us/library/windows/desktop/ms687414(v=vs.85).aspx                                  ' ); }); <ins> test('issue #62278: "Ctrl + click to follow link" for IPv6 URLs', () => { assertLink( 'let x = "http://[::1]:5000/connect/token"', '         http://[::1]:5000/connect/token  ' ); }); </ins> });
Code change:
macOS run in fullscreen mode open the process explorer the prices explorer window also opens in fullscreen mode...
Hi Gonna take a look at this. It seems to be happening for 'Report issue' also.
Hi Can I help you somehow to get this merged?
Yep! Sorry for the delay, your change looks good. I'll merge it now. Thanks!

Related discussion:
text: const position = this.getWindowPosition(this._issueParentWindow, 700, 800); this._issueWindow = new BrowserWindow({ <ins> fullscreen: false, </ins> width: position.width, height: position.height, minWidth: 300,
Code change:
macOS run in fullscreen mode open the process explorer the prices explorer window also opens in fullscreen mode...
Hi Gonna take a look at this. It seems to be happening for 'Report issue' also.
Hi Can I help you somehow to get this merged?
Yep! Sorry for the delay, your change looks good. I'll merge it now. Thanks!

Related discussion:
text: this._processExplorerWindow = new BrowserWindow({ skipTaskbar: true, resizable: true, <ins> fullscreen: false, </ins> width: position.width, height: position.height, minWidth: 300,