jiebi/CodeConvo huggingface dataset:
Change:
Issue Type: <bBug</bVS Code version: Code - Insiders 1.32.0-insider (, 2019-02-27T21:19:19.351Z) OS version: Windows_NT x64 10.0.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.572 --- <!-- score: 0.463 --- <!-- score: 0.453 --<!-- potentialduplicatescomment --
To verify make sure that windows and linux enter collapses / expands folders mac cmd + down collapses / expands folders

Discussion:
get onDidChangeSelection(): Event<ITreeEvent<T>> { return Event.map(this.tree.onDidChangeSelection, asTreeEvent); } get onDidOpen(): Event<ITreeEvent<T>> { return Event.map(this.tree.onDidOpen, asTreeEvent); } <ins> get onKeyDown(): Event<KeyboardEvent> { return this.tree.onKeyDown; } </ins> get onMouseClick(): Event<ITreeMouseEvent<T>> { return Event.map(this.tree.onMouseClick, asTreeMouseEvent); } get onMouseDblClick(): Event<ITreeMouseEvent<T>> { return Event.map(this.tree.onMouseDblClick, asTreeMouseEvent); } get onContextMenu(): Event<ITreeContextMenuEvent<T>> { return Event.map(this.tree.onContextMenu, asTreeContextMenuEvent); }

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

const shiftDown = e.browserEvent instanceof KeyboardEvent && e.browserEvent.shiftKey; if (selection.length === 1 && !shiftDown) { // Do not react if user is clicking on explorer items which are input placeholders <del> if (!selection[0].name) { </del> <ins> if (!selection[0].name || selection[0].isDirectory) { </ins> // Do not react if user is clicking on explorer items which are input placeholders <del> return; } if (selection[0].isDirectory) { if (e.browserEvent instanceof KeyboardEvent) { this.tree.toggleCollapsed(selection[0]); } </del> <ins> // Do not react if clicking on directories </ins> return; }

})); this.disposables.push(this.tree.onContextMenu(e => this.onContextMenu(e))); <ins> this.disposables.push(this.tree.onKeyDown(e => { const event = new StandardKeyboardEvent(e); const toggleCollapsed = isMacintosh ? (event.keyCode === KeyCode.DownArrow && event.metaKey) : event.keyCode === KeyCode.Enter; if (toggleCollapsed) { const focus = this.tree.getFocus(); if (focus.length === 1 && focus[0].isDirectory) { this.tree.toggleCollapsed(focus[0]); } } })); </ins> // save view state on shutdown this.storageService.onWillSaveState(() => {
Change:
Version: 1.31.1 Commit: OS: Linux x64 4.15.0-29deepin-generic Does this issue occur when all extensions are disabled?: Yes I can't split my terminal by clicking Split Terminal icon on terminal. When I click nothing happens. Instead I click new terminal icon, choose from drop-down menu and switch the other terminal which is not so handy.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.559 --- <!-- score: 0.531 --- <!-- score: 0.509 --- <!-- score: 0.501 --- <!-- score: 0.477 --<!-- potentialduplicates_comment --
are there any errors in the console (Help Toggle Developer Tools) when you try split? How wide is the terminal you're trying to split?
there's no error in the console while clicking split terminal. It looks like the icon is just an UI element with no further functionalities. All I want is to have an equal terminal.
how wide is the terminal when you're trying to split? Can you show a screenshot of the terminal immediately after it failed to split?
recorded !
There's an older open issue (and many closed ones) that this is a duplicate of: , and mentions a fix: Install or add to options (not sure what that means). Can confirm installing works. Version: v1.31.1 (and v1.31.0) Commit: Electron: 3.1.3 Chrome: 66.0.3359.181 10.2.0 V8: 6.6.346.32 OS: Linux x64 4.20.8-arch1-1-ARCH
Thanks for help, it worked. Not sure I should close the issue, because it was solved by installing third-party dependency
thanks for finding this! We should fallback to when doesn't exist here:

Discussion:
import * as path from 'vs/base/common/path'; import * as platform from 'vs/base/common/platform'; import * as pty from 'node-pty'; <ins> import * as fs from 'fs'; </ins> import { Event, Emitter } from 'vs/base/common/event'; import { ITerminalChildProcess } from 'vs/workbench/contrib/terminal/node/terminal'; import { IDisposable } from 'vs/base/common/lifecycle';

} public getCwd(): Promise<string> { <del> if (platform.isWindows) { </del> <ins> if (platform.isMacintosh) { </ins> return new Promise<string>(resolve => { <del> resolve(this._initialCwd); </del> <ins> exec('lsof -p ' + this._ptyProcess.pid + ' | grep cwd', (error, stdout, stderr) => { if (stdout !== '') { resolve(stdout.substring(stdout.indexOf('/'), stdout.length - 1)); } }); </ins> }); } <del> return new Promise<string>(resolve => { exec('lsof -p ' + this._ptyProcess.pid + ' | grep cwd', (error, stdout, stderr) => { if (stdout !== '') { resolve(stdout.substring(stdout.indexOf('/'), stdout.length - 1)); } </del> <ins> if (platform.isLinux) { return new Promise<string>(resolve => { fs.readlink('/proc/' + this._ptyProcess.pid + '/cwd', (err, linkedstr) => { if (err) { resolve(this._initialCwd); } resolve(linkedstr); }); </ins> }); <ins> } return new Promise<string>(resolve => { resolve(this._initialCwd); </ins> }); } }
Change:
Use this code in an extension, run the command In 1.31, it returns no results because takes a single glob pattern In 1.32, it returns results because the include and exclude patterns for are split on the comma
This is a candidate because it would be an API change. If we want to support multiple glob patterns we should use an array like we discussed in Parsing a comma-delimited string in this API feels wrong.

Discussion:
}); test('findFiles', () => { <del> return vscode.workspace.findFiles('*.png').then((res) => { </del> <ins> return vscode.workspace.findFiles('**/*.png').then((res) => { assert.equal(res.length, 2); assert.equal(basename(vscode.workspace.asRelativePath(res[0])), 'image.png'); }); }); test('findFiles, exclude', () => { return vscode.workspace.findFiles('**/*.png', '**/sub/**').then((res) => { </ins> assert.equal(res.length, 1); assert.equal(basename(vscode.workspace.asRelativePath(res[0])), 'image.png'); });

disregardSearchExcludeSettings: true, disregardIgnoreFiles: true, includePattern, <ins> excludePattern: typeof excludePatternOrDisregardExcludes === 'string' ? excludePatternOrDisregardExcludes : undefined, </ins> _reason: 'startFileSearch' });

const query = queryBuilder.file(folders, { _reason: 'checkExists', includePattern: includes.join(', '), <ins> expandPatterns: true, </ins> exists: true });

if (options.includePattern) { includeSearchPathsInfo = options.expandPatterns ? this.parseSearchPaths(options.includePattern) : <del> { pattern: patternListToIExpression(...splitGlobPattern(options.includePattern)) }; </del> <ins> { pattern: patternListToIExpression(options.includePattern) }; </ins> } let excludeSearchPathsInfo: ISearchPathsInfo = {}; if (options.excludePattern) { excludeSearchPathsInfo = options.expandPatterns ? this.parseSearchPaths(options.excludePattern) : <del> { pattern: patternListToIExpression(...splitGlobPattern(options.excludePattern)) }; </del> <ins> { pattern: patternListToIExpression(options.excludePattern) }; </ins> } // Build folderQueries from searchPaths, if given, otherwise folderResources

}); }); <del> test('splits glob pattern even with expandPatterns disabled', () => { </del> <ins> test('does not split glob pattern when expandPatterns disabled', () => { </ins> assertEqualQueries( queryBuilder.file([ROOT_1_URI], { includePattern: '**/foo, **/bar' }), {

}], type: QueryType.File, includePattern: { <del> '**/foo': true, '**/bar': true </del> <ins> '**/foo, **/bar': true </ins> } }); });
Change:
returns the same results as . The first should have applied, the second should have no exclude settings applied. The parameter in the findFiles API treats differently from . Strict null checking extHostWorkspace broke that:

Discussion:
// --- search --- <del> $startFileSearch(includePattern: string, _includeFolder: UriComponents | undefined, excludePatternOrDisregardExcludes: string | false, maxResults: number, token: CancellationToken): Promise<URI[] | undefined> { </del> <ins> $startFileSearch(includePattern: string, _includeFolder: UriComponents | undefined, excludePatternOrDisregardExcludes: string | false | undefined, maxResults: number, token: CancellationToken): Promise<URI[] | undefined> { </ins> const includeFolder = URI.revive(_includeFolder); const workspace = this._contextService.getWorkspace(); if (!workspace.folders.length) {

} export interface MainThreadWorkspaceShape extends IDisposable { <del> $startFileSearch(includePattern: string | undefined, includeFolder: URI | undefined, excludePatternOrDisregardExcludes: string | false, maxResults: number, token: CancellationToken): Promise<UriComponents[] | undefined>; </del> <ins> $startFileSearch(includePattern: string | undefined, includeFolder: URI | undefined, excludePatternOrDisregardExcludes: string | false | undefined, maxResults: number, token: CancellationToken): Promise<UriComponents[] | undefined>; </ins> $startTextSearch(query: IPatternInfo, options: ITextQueryBuilderOptions, requestId: number, token: CancellationToken): Promise<vscode.TextSearchComplete>; $checkExists(includes: string[], token: CancellationToken): Promise<boolean>; $saveAll(includeUntitled?: boolean): Promise<boolean>;

} } <del> let excludePatternOrDisregardExcludes: string | false = false; </del> <ins> let excludePatternOrDisregardExcludes: string | false | undefined = undefined; </ins> if (exclude === null) { excludePatternOrDisregardExcludes = false; } else if (exclude) {
Change:
Several developers in our team have encountered problem because of accidentally undoing last merge commit. I think it would be nice to prompt if the last commit is a merge commit.
Works great, but it might be good to make it a modal dialog since action is required.
I like that

Discussion:
const commit = await repository.getCommit('HEAD'); <ins> if (commit.parents.length > 1) { const yes = localize('undo commit', "Undo merge commit"); const result = await window.showWarningMessage(localize('merge commit', "The last commit was a merge commit. Are you sure you want to undo it?"), yes); if (result !== yes) { return; } } </ins> if (commit.parents.length > 0) { await repository.reset('HEAD~'); } else {
Change:
For newcomers it would be nice if had a comment at the top stating something like "This is a generated file, don't change it manually"
Opened a PR for this as I ran into this making my first contribution today

Discussion:
declare namespace monaco { <ins> // THIS IS A GENERATED FILE. DO NOT EDIT DIRECTLY. </ins> export type Thenable<T> = PromiseLike<T>; export interface IDisposable {
Change:
Issue Type: <bBug</bThe outline view showing markdown chapters and subchapters does not show anything if the document yaml frontmatter ends in "...". This works: title: My title # My chapter But this doesn't (the outline does not show anything): title: My title ... # My chapter VS Code version: Code 1.32.2 (, 2019-03-13T02:00:46.035Z) OS version: WindowsNT x64 6.1.7601 <details<summarySystem Info</summary </details<details<summaryExtensions (13)</summaryExtensionVersion ------ markdown-checkbox0.1.1 vscode-markdownlint0.25.0 vscode-pandoc0.0.8 gitlens9.5.1 language-haskell2.5.0 rainbow-csv1.0.0 Go0.9.2 vscode-docker0.6.0 material-icon-theme3.6.3 qub-xml1.2.1 markdown-preview-enhanced0.3.12 vscode-table-formatter1.2.1 vscode-mermaid-preview0.11.1 </details<!-- generated by issue reporter --
I just want to add that the preview is not generated too. I opened a bug report against an , but seems it uses the vscode services. Version: 1.32.3 (user setup) Commit: Date: 2019-03-14T23:43:35.476Z Electron: 3.1.6 Chrome: 66.0.3359.181 10.2.0 V8: 6.6.346.32 OS: Windows_NT x64 10.0.
To help with this, please look into fixing this upstream:
For fixing this issue, I need to implement this in . And update dependency in , correct?
And updating example on
Yes, that is correct
Ummm it seems isn't maintained anymore... () When like this situation, how can we do?
Let's give it a few more days and see if they respond. Otherwise, we can fork the repo and take your PR into the fork

Discussion:
"dependencies": { "highlight.js": "9.15.10", "markdown-it": "^10.0.0", <del> "markdown-it-front-matter": "^0.1.2", </del> <ins> "markdown-it-front-matter": "^0.2.1", </ins> "vscode-extension-telemetry": "0.1.1", "vscode-nls": "^4.0.0" },

dependencies: object-visit "^1.0.0" <del> markdown-it-front-matter@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/markdown-it-front-matter/-/markdown-it-front-matter-0.1.2.tgz#e50bf56e77e6a4f5ac4ffa894d4d45ccd9896b20" integrity sha1-5Qv1bnfmpPWsT/qJTU1FzNmJayA= </del> <ins> markdown-it-front-matter@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/markdown-it-front-matter/-/markdown-it-front-matter-0.2.1.tgz#dca49a827bb3cebb0528452c1d87dff276eb28dc" integrity sha512-ydUIqlKfDscRpRUTRcA3maeeUKn3Cl5EaKZSA+I/f0KOGCBurW7e+bbz59sxqkC3FA9Q2S2+t4mpkH9T0BCM6A== </ins> markdown-it@^10.0.0: version "10.0.0"
Change:
To address the original issue in more directly, it would be great if this worked: Create a new branch Run the "Publish branch" command See the "Pick a remote..." prompt Select a "Add New Remote" option The remote is and the branch is pushed to that remote Is that what you originally had in mind
I would like to take this.
yep that was it.

Discussion:
get alwaysShow(): boolean { return true; } } <ins> class AddRemoteItem implements QuickPickItem { constructor(private cc: CommandCenter) { } get label(): string { return localize('add remote', '$(plus) Add a new remote...'); } get description(): string { return ''; } get alwaysShow(): boolean { return true; } async run(repository: Repository): Promise<void> { await this.cc.addRemote(repository); } } </ins> interface CommandOptions { repository?: boolean; diff?: boolean;

} @command('git.addRemote', { repository: true }) <del> async addRemote(repository: Repository): Promise<void> { </del> <ins> async addRemote(repository: Repository): Promise<string | undefined> { </ins> const remotes = repository.remotes; const sanitize = (name: string) => {

} await repository.addRemote(name, url); <ins> return name; </ins> } @command('git.removeRemote', { repository: true })

return; } <ins> const addRemote = new AddRemoteItem(this); </ins> const branchName = repository.HEAD && repository.HEAD.name || ''; <del> const selectRemote = async () => { const picks = repository.remotes.map(r => r.name); const placeHolder = localize('pick remote', "Pick a remote to publish the branch '{0}' to:", branchName); return await window.showQuickPick(picks, { placeHolder }); }; const choice = remotes.length === 1 ? remotes[0].name : await selectRemote(); </del> <ins> const picks = [...repository.remotes.map(r => ({ label: r.name, description: '' })), addRemote]; const placeHolder = localize('pick remote', "Pick a remote to publish the branch '{0}' to:", branchName); const choice = await window.showQuickPick(picks, { placeHolder }); </ins> if (!choice) { return; } <del> await repository.pushTo(choice, branchName, true); </del> <ins> let remote = choice.label; if (choice === addRemote) { const newRemote = await this.addRemote(repository); if (newRemote) { remote = newRemote; } else { return; } } await repository.pushTo(remote, branchName, true); </ins> } @command('git.ignore')
Change:
Testing Mac, Insiders here's the code from my extension to get a modal dialog: Native: ! Custom: ! I actually like the fact that the button is always rightmost in the custom dialog, not sure why it is like it is in the native one.
I believe the layout is platform dependent. I don't think we need to adopt this behavior. thoughts?
I think we should try to stay close to platform expectations so that people on their OS feel familiar.

Discussion:
import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar'; import { Action } from 'vs/base/common/actions'; import { mnemonicButtonLabel } from 'vs/base/common/labels'; <ins> import { isMacintosh } from 'vs/base/common/platform'; </ins> export interface IDialogOptions { cancelId?: number;

dialogBorder?: Color; } <ins> interface ButtonMapEntry { label: string; index: number; } </ins> export class Dialog extends Disposable { private element: HTMLElement | undefined; private modal: HTMLElement | undefined;

let focusedButton = 0; this.buttonGroup = new ButtonGroup(this.buttonsContainer, this.buttons.length, { title: true }); <ins> const buttonMap = this.rearrangeButtons(this.buttons, this.options.cancelId); </ins> this.buttonGroup.buttons.forEach((button, index) => { <del> button.label = mnemonicButtonLabel(this.buttons[index], true); </del> <ins> button.label = mnemonicButtonLabel(buttonMap[index].label, true); </ins> this._register(button.onDidClick(e => { EventHelper.stop(e); <del> resolve(index); </del> <ins> resolve(buttonMap[index].index); </ins> })); });

this.focusToReturn = undefined; } } <ins> private rearrangeButtons(buttons: Array<string>, cancelId: number | undefined): ButtonMapEntry[] { const buttonMap: ButtonMapEntry[] = []; // Maps each button to its current label and old index so that when we move them around it's not a problem buttons.forEach((button, index) => { buttonMap.push({ label: button, index: index }); }); if (isMacintosh) { if (cancelId !== undefined) { const cancelButton = buttonMap.splice(cancelId, 1)[0]; buttonMap.reverse(); buttonMap.splice(buttonMap.length - 1, 0, cancelButton); } } return buttonMap; } </ins> }  No newline at end of file
Change:
When hovering over large branch names, the branch name should be shown in the tooltip instead of static text <kbdcheck out ...</kbd. ! !
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.653 --- <!-- score: 0.622 --- <!-- score: 0.611 --- <!-- score: 0.607 --- <!-- score: 0.606 --<!-- potentialduplicatescomment --
Hi, I would like to try fixing this bug. Could anyone point out to me where I should start looking ?
Hi! If this issue is not being worked on, I would like to try tackle it. May I do so?
have either of you progressed on this issue? if not I would be interested as well
I have looked into this issue and found the relevant area of the code base, . I have taken a swing at solving this and will submit a pull request soon.
I did not realize someone had created a PR for the issue, I thought I was free to work on it, I apologize for any confusion. I've looked at both and they are functionally the same fix.

Discussion:
return { command: 'git.checkout', <del> tooltip: localize('checkout', 'Checkout...'), </del> <ins> tooltip: `${this.repository.headLabel}`, </ins> title, arguments: [this.repository.sourceControl] };
Change:
Have multiple formatters. Choose one as default. "Format with..." command -notice that the default formmater has it specified in parenthesis. However I would also expect that it is preselected by quick pick !
I am always confused when quick pick opens and when the first item isn't the selected one. So, would likely reorder formatters, e.g sort the top pick atop but I am not sure about that...
Changing the order might make sense as that is how quick pick usually behaves. fyi for opinions
The theme selector keeps the order and selects the current theme. I'd go with consistency. !

Discussion:
const overrides = { resource: model.uri, overrideIdentifier: model.getModeId() }; const defaultFormatter = configService.getValue<string>(DefaultFormatter.configName, overrides); <ins> let autoFocusPick; </ins> const picks = formatters.map((provider, index) => { <del> return <IIndexedPick>{ </del> <ins> const isDefault = ExtensionIdentifier.equals(provider.extensionId, defaultFormatter); const pick = <IIndexedPick>{ </ins> index, label: provider.displayName || '', <del> description: ExtensionIdentifier.equals(provider.extensionId, defaultFormatter) ? nls.localize('def', "(default)") : undefined, </del> <ins> description: isDefault ? nls.localize('def', "(default)") : undefined, </ins> }; <ins> if (isDefault) { // autofocus default pick autoFocusPick = pick; } return pick; </ins> }); const configurePick: IQuickPickItem = { label: nls.localize('config', "Configure Default Formatter...") }; <del> const pick = await quickPickService.pick([...picks, { type: 'separator' }, configurePick], { placeHolder: nls.localize('format.placeHolder', "Select a formatter") }); </del> <ins> const pick = await quickPickService.pick([...picks, { type: 'separator' }, configurePick], { placeHolder: nls.localize('format.placeHolder', "Select a formatter"), activeItem: autoFocusPick }); </ins> if (!pick) { // dismissed return undefined;
Change:
Issue Type: <bBug</bCreate a Markdown file that contains a link with the URI scheme: Expected link location to be , and displayed as . Actual link location , and displayed as . Add to array in . VS Code version: Code 1.32.3 (, 2019-03-14T22:46:48.547Z) OS version: Darwin x64 18.0.0 <details<summarySystem Info</summary </details<details<summaryExtensions (34)</summaryExtensionVersion ------ rtf2.0.1 solargraph0.19.3 vscode-modelines2.0.2 npm-intellisense1.3.0 vscode-npm-script0.3.5 vscode-diff1.4.0 vscode-git-history2.0.5 beautify1.4.11 vscode-duplicate1.2.1 python2019.3.6139 cpptools0.22.1 csharp1.18.0 mono-debug0.15.8 incrementor0.1.0 printcode3.0.0 openhab0.4.1 vscode-docker0.6.1 platformio-ide1.6.0 diff0.0.1 ruby0.22.3 java0.41.0 LiveServer5.5.1 partial-diff1.4.0 code-settings-sync3.2.7 code-spell-checker1.6.10 unity-debug2.7.2 vscodeintellicode1.1.5 vscode-arduino0.2.25 vscode-java-debug0.17.0 vscode-java-dependency0.4.0 vscode-java-pack0.6.0 vscode-java-test0.15.1 vscode-maven0.15.2 markdown-all-in-one2.2.0 (1 theme extensions excluded) </details<!-- generated by issue reporter --

Discussion:
import * as vscode from 'vscode'; <del> const knownSchemes = ['http:', 'https:', 'file:', 'mailto:', 'data:', 'vscode-resource:']; </del> <ins> const knownSchemes = ['http:', 'https:', 'file:', 'mailto:', 'data:', 'vscode:', 'vscode-insiders:', 'vscode-resource:']; </ins> export function getUriForLinkWithKnownExternalScheme( link: string,

} return undefined; <del> } </del>  No newline at end of file <ins> } </ins>
Change:
Issue Type: <bBug</bSteps window Bug Empty release notes tab still around after start VS Code version: Code - Insiders 1.33.0-insider (, 2019-04-03T08:11:05.447Z) OS version: Darwin x64 18.2.0 <details<summarySystem Info</summary </details<!-- generated by issue reporter --
Fixed by in master
Another way to verify: Open a description view for a pull request from GH PR extension Reload the window
Fixed in 1.33 branch with

Discussion:
// Revived webviews may not have an actively registered reviver but we still want to presist them // since a reviver should exist when it is actually needed. <del> return !(webview instanceof RevivedWebviewEditorInput); </del> <ins> return webview instanceof RevivedWebviewEditorInput; </ins> } private async tryRevive(