jiebi/CodeConvo huggingface dataset:
Change:
Today we show the workspace name it seems.
! What does "title" mean? 1 or 2?
2
It should be FOLDERS in multi root mode, and foldername_ otherwise, right?
Right
It behaves exactly in this way currently. I suppose this issue should be closed.
We should first ask if he can still repro this issue since is not seeing it, are tehre special repro steps
There are no special steps to repro this, so please confirm
!
I still cannot reproduce this. Also, your layout differs from mine - control buttons on the EXPLORER bar. Could you please explain, how I can switch VSCode into such a view?
I have "open editors" section disabled.

Discussion:
'use strict'; import 'vs/css!./media/explorerviewlet'; <ins> import nls = require('vs/nls'); </ins> import { IActionRunner } from 'vs/base/common/actions'; import { TPromise } from 'vs/base/common/winjs.base'; import * as DOM from 'vs/base/browser/dom';

this.registerViews(); this.onConfigurationUpdated(); this._register(this.configurationService.onDidUpdateConfiguration(e => this.onConfigurationUpdated())); <ins> this._register(this.contextService.onDidChangeWorkspaceRoots(e => this.onWorkspaceRootsChanged())); </ins> } public create(parent: Builder): TPromise<void> {

private createExplorerViewDescriptor(): IViewDescriptor { return { id: ExplorerView.ID, <del> name: this.contextService.getWorkspace2().name, </del> <ins> name: this.getExplorerCaption(), </ins> location: ViewLocation.Explorer, ctor: ExplorerView, order: 1

this.openEditorsVisibleContextKey.set(!this.contextService.hasWorkspace() || (<IFilesConfiguration>this.configurationService.getConfiguration()).explorer.openEditors.visible !== 0); } <ins> private onWorkspaceRootsChanged(): void { if (this.views.length > 0) { const name = this.getExplorerCaption(); this.views.filter(v => v.id === ExplorerView.ID).forEach(v => v.name = name); this.updateTitleArea(); } } private getExplorerCaption(): string { const workspace = this.contextService.getWorkspace2(); return workspace.roots.length === 1 ? workspace.name : nls.localize('folders', "Folders"); } </ins> protected createView(viewDescriptor: IViewDescriptor, options: IViewletViewOptions): IView { if (viewDescriptor.id === ExplorerView.ID) { // Create a delegating editor service for the explorer to be able to delay the refresh in the opened

const titleDiv = $('div.title').appendTo(container); const titleSpan = $('span').appendTo(titleDiv); const setHeader = () => { <del> const roots = this.contextService.getWorkspace2().roots; const title = roots.map(root => labels.getPathLabel(root.fsPath, void 0, this.environmentService)).join(); titleSpan.text(roots.length === 1 ? this.name : nls.localize('folders', "Folders")).title(title); </del> <ins> const workspace = this.contextService.getWorkspace2(); const title = workspace.roots.map(root => labels.getPathLabel(root.fsPath, void 0, this.environmentService)).join(); titleSpan.text(workspace.roots.length === 1 ? workspace.name : nls.localize('folders', "Folders")).title(title); </ins> }; this.toDispose.push(this.contextService.onDidChangeWorkspaceRoots(() => setHeader())); setHeader();
Change:
Due to how colors are blending together. Notice the color of the input and the selection of quick open and how the black background blends into the viewlet, so the input looks misaligned. <img width="1035" alt="screen shot 2017-06-27 at 15 23 22" src="https://user-"
Hello, I'd like to help with this! UPDATE: I believe I've fixed the issue by changing the "" property in the monokai theme from "" to "". Before the change: ! After the change: ! Shall I submit a pull request? Thank you!
Yes, a PR would be great!

Discussion:
"tab.inactiveBackground": "#414339", "tab.border": "#1e1f1c", "tab.inactiveForeground": "#ccccc7", // needs to be bright so it's readable when another editor group is focused <del> "widget.shadow": "#1e1f1c", </del> <ins> "widget.shadow": "#000000", </ins> "progressBar.background": "#75715E", "badge.background": "#75715E", "badge.foreground": "#f8f8f2",

} } ] <del> } </del>  No newline at end of file <ins> } </ins>
Change:
<!-- Do you have a question? Please ask it on --<!-- Use Help Report Issues to prefill these. --- VSCode Version: Insider OS Version: Windows 10 64 bit Steps to Reproduce: and drop a tab from the editor onto the integrated terminal What happens? A unix-like path is copied, like: . This path is invalid and cannot be used into the terminal without replacing the slashes with backslashes and removing the first slash. What should happen? This should copy a Windows path:
The path should also be compatible with other shells, such as bash under WSL or Git Bash. This would require another setting though, unless it is assumed the executable names are never changed by people.
Question is, how do you know which environment you're running on? I'm not sure this can be properly guessed. The could be used but nothing stops the user from running bash even though integrated shell is set to on Windows for example.
Good point. I'm not sure either. The only way may be to analyze prompt strings / prefixes, unless there is a way to get the most nested process running in the shell.
In the meantime maybe it could be fixed so that it works in at least one environment (I would suggest ), because right now, the path's that's returned () isn't valid in any environment (cmd/bash).
It turns out there is a way to query child processes of the shell, and I created a PR () that does this. The querying does add some latency though, so keeping the path always Windows-formatted could be a better way to go.
Nice work I'd vote for simply formatting paths as Windows by default, and have an option to use your method.
it looks like you've stumbled onto something I've been wanting for a while in . I made a note in :beers:
It's supposed to be fixed according to the VSCode 1.15 release notes but it still returns an invalid path on Windows 10 with (Creators Update)
I just fixed this today (before I saw this issue). it was happening because we were getting the URI path, not the file path. change to get different shells formatting the path differently is blocked on which is actively being worked on.
I'll keep it open until other shell paths are handled correctly

Discussion:
let path: string; const resources = e.dataTransfer.getData(DataTransfers.RESOURCES); if (resources) { <del> path = URI.parse(JSON.parse(resources)[0]).path; </del> <ins> path = URI.parse(JSON.parse(resources)[0]).fsPath; </ins> } else if (e.dataTransfer.files.length > 0) { // Check if the file was dragged from the filesystem path = URI.file(e.dataTransfer.files[0].path).fsPath;
Change:
Building VSCode with TS 2.4, we're seeing about 10 errors in async functions around : Steps to reproduce VScode insiders. vscode code base vscode codebase in vscode effected file that TS 2.4.1 is active in your workspace by looking in the lower right status bar for the TS version number
or Can someone on the TS team please take a quick look at these errors? I've investigated but the error don't make much sense to me. I don't know where TS is getting the type from in for example This only started showing up in TS 2.4. My current thought is that we need to stop using for methods
Hi, it looks like you can get rid of the error by changing 's definition to be compatible with 's, as in: That said, the error was complaining about and not , so it took me a while to figure this out! I'll report a bug on TypeScript. The reason you are just getting this error now in TS2.4 is due to Microsoft/TypeScript, since we are now checking the types inside of callbacks covariantly (previously it worked since is a supertype of ).
In 2.4.1 we are stricter about the types for callbacks. It looks like the issue is the definition of in Changing the following definition seems to address the error: In general, we've made a number of improvements in the overall type definitions for the ES6 type that have apparently not made their way into the winjs declarations. While not necessary to fix the above error, in the future I would recommend the following changes: Replace (in ) with a type alias to (for backwards compatibility) Replace all references to to in the vscode code base (the compiler has optimizations in async function code paths for type references to the built in type). Replace , , and in with the following declaration that leverages type parameter defaults: I can submit a PR against VSCode for this if you would like.
Thanks. The suggested change does seem to fix things. I'll take it into vscode. (Not sure of correct owners here. Please add anyone else that may have input) Can you please take a look at a Ron's other suggested changes to see if these are something we want to investigate
This sounds good to me, but I'm sure would like to give his $0.02 about that in the API.

Discussion:
* The value callback to complete a promise */ export interface TValueCallback<T> { <del> (value: T): void; </del> <ins> (value: T | Thenable<T>): void; </ins> }
Change:
Although "zh-cn" works, but there is a prompt: "value is not accepted". !

Discussion:
private update(): void { this.localizationService.getLanguageIds() <del> .then(languageIds => registerLocaleDefinitionSchema(languageIds)); </del> <ins> .then(languageIds => { let lowercaseLanguageIds: string[] = []; languageIds.forEach((languageId) => { let lowercaseLanguageId = languageId.toLowerCase(); if (lowercaseLanguageId !== languageId) { lowercaseLanguageIds.push(lowercaseLanguageId); } }); registerLocaleDefinitionSchema([...languageIds, ...lowercaseLanguageIds]); }); </ins> } }
Change:
Our tests and also often the dev console are full of these errors: I see no value in showing this error other than making it hard to read the test results to find an actual problem. This one seems to be ignored for many releases now so I suggest to remove it. E.g.: ! via https://travis-
This is the merge decorator, add to
It's incredibly hard to read travis logs right now.
There is a check if the editor is in , but that doesn't seem to help. What is the correct way to check if the editor is not disposed?
Using shows that is still false when passing through . This seems to be a timing issue between extension host and main process.
extHostTextEditor already logs a warning in runOnProxy() when the editor is disposed at the time setDecorations() is called. If the editor in the extension host is not disposed, but the one in the renderer process is (and the error is logged), the disposal and the setting of decorations were triggered at a similar time in different processes and it seems best to recover from this silently. I suggest to remove the error. If an error is still desired, I'd suggest to change the warning in extHostTextEditor's runOnProxy() to an error.
could you please look into this since all other participants are on vacation? Or assign it to august if it is not critical for our relase
I don't see it as critical for the release. It is log entries for operations that should not run and also are not run. This is without further side-effects. labelled it as important with regard to the noise in the test runs. I'll postpone it to August if there are no objections.
Nice fix, not. The problem is explained here:
This seems to be a race condition on the API's side. See .
That might well be but the "fix" of this picking this one call is a little lame, isn't it? If we understand this problem why don't we tackle it for all other calls like etc. Why don't we handle this properly in the with a well known error code? This just looks like a shortcut to me
We wanted to make progress on this "important" issue in your absence without devising a general solution without your input.
I understand that, but I would have just removed the "important" label because this is really just debt

Discussion:
$trySetDecorations(id: string, key: string, ranges: IDecorationOptions[]): TPromise<any> { if (!this._documentsAndEditors.getEditor(id)) { <del> return TPromise.wrapError(new Error('TextEditor disposed')); </del> <ins> return TPromise.as(null); </ins> } this._documentsAndEditors.getEditor(id).setDecorations(key, ranges); return TPromise.as(null);
Change:
VSCode Version: Code 1.14.0 (, 2017-07-10T18:24:22.120Z) OS Version: Darwin x64 16.6.0 When working on a new branch and trying to when no upstream branch has been set, an error pops up stating: It would be nice if it could ask for the user to input a branch name to set as an upstream branch for the local one.
We should instead ask the user if he wants to the branch instead. Want to attempt a PR?
I'm in the beginning, but I would like to contribute. Can you give me some initial help? To define the problem... I could check if the upstream is set and If I did not set, call up the "push to ..." function?
You don't need to check if the upstream is set. You can actually try to figure out which error comes from git (). If you detect that the error is related to the fact that there is no upstream branch configured, you can ask the user whether he wants to publish the current branch in a message. If so, just run the command.
[ the link is broken. I try to debug the git extension but the breakpoint, It does not work because source map not present... how to ? system osx sierra 10.12.5 (16F73) vscode 1.14.1 (1.14.1)]
Fixed the link. Debugging is currently not set up. Sorry.
right link ok. So i add the if condition, in try catch block related to ?
It seems to me this message: git remote -v pipop /Users/userpippo/Desktop/progetti/remote/ (fetch) pipop /Users/userpippo/Desktop/progetti/remote/ (push) git push fatal: No configured push destination. .... or this ? git push pipop fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream pipop master

Discussion:
return; } <del> await repository.push(); </del> <ins> if (!repository.HEAD || !repository.HEAD.name) { window.showWarningMessage(localize('nobranch', "Please check out a branch to push to a remote.")); return; } try { await repository.push(); } catch (err) { if (err.gitErrorCode !== GitErrorCodes.NoUpstreamBranch) { throw err; } const branchName = repository.HEAD.name; const message = localize('confirm publish branch', "The branch '{0}' has no upstream branch. Would you like to publish this branch?", branchName); const yes = localize('ok', "OK"); const pick = await window.showWarningMessage(message, { modal: true }, yes); if (pick === yes) { await this.publish(repository); } } </ins> } @command('git.pushWithTags', { repository: true })

BranchAlreadyExists: 'BranchAlreadyExists', NoLocalChanges: 'NoLocalChanges', NoStashFound: 'NoStashFound', <del> LocalChangesOverwritten: 'LocalChangesOverwritten' </del> <ins> LocalChangesOverwritten: 'LocalChangesOverwritten', NoUpstreamBranch: 'NoUpstreamBranch' </ins> }; function getGitErrorCode(stderr: string): string | undefined {

err.gitErrorCode = GitErrorCodes.PushRejected; } else if (/Could not read from remote repository/.test(err.stderr || '')) { err.gitErrorCode = GitErrorCodes.RemoteConnectionError; <ins> } else if (/^fatal: The current branch .* has no upstream branch/.test(err.stderr || '')) { err.gitErrorCode = GitErrorCodes.NoUpstreamBranch; </ins> } throw err;
Change:
Title.
Opens on cmd+click. The external link to documentation in the first line works. !

Discussion:
thanks.removeClass('task-panel-hidden'); } <del> yesButton.item(0).on('click', e => { </del> <ins> yesButton.on('click', e => { </ins> if (!this.storageService.get(this.taskExperimentPart5)) { this.telemetryService.publicLog('taskPanel.yes'); this.storageService.store(this.taskExperimentPart5, true, StorageScope.GLOBAL);

thanks.removeClass('task-panel-hidden'); }); <del> noButton.item(0).on('click', e => { </del> <ins> noButton.on('click', e => { </ins> if (!this.storageService.get(this.taskExperimentPart5)) { this.telemetryService.publicLog('taskPanel.no'); this.storageService.store(this.taskExperimentPart5, true, StorageScope.GLOBAL);

thanks.removeClass('task-panel-hidden'); }); <del> githubLink.item(0).on('click', e => { </del> <ins> githubLink.on('click', e => { </ins> const node = event.target as HTMLAnchorElement; if (node.href) { this.openerService.open(URI.parse(node.href));
Change:
<!-- Do you have a question? Please ask it on --<!-- Use Help Report Issues to prefill these. --- VSCode Version: 1.14.1 OS Version: Windows 10 Steps to Reproduce: some text on terminal and click ctrl+f and then ctrl+v Search input is focused but after clicking ctrl+v the text is pasted in terminal itself. <!-- Launch with to check. --Reproduces without extensions: Yes
Also on macOS when I focus in the search input and click command+a the text in terminal is selected, not the input content. Pasting works fine though. The problem seems to be that keyboard shortcuts don't always work in the context of the search input when it's focused...
The cmd+a thing is fixed in I believe.
This happens because is assigned the Ctrl+V shortcut and it hijacks the input from the . do you think changing the to Ctrl+Shift+V would be ok? In this case, pressing Ctrl+V in the find widget works as expected.
It's ctrl+v as I've tried to stay in line with OS standards and that's what uses. This should be able to get fixed by resolving the conflict. /cc
It also happens when you right click the search box, at least on Windows - see details .

Discussion:
} public notifyFindWidgetFocusChanged(isFocused: boolean): void { <del> // In order to support escape to close the find widget when the terminal // is focused terminalFocus needs to be true when either the terminal or // the find widget are focused. this._terminalFocusContextKey.set(isFocused || document.activeElement === this._xterm.textarea); </del> <ins> const terminalFocused = !isFocused && (document.activeElement === this._xterm.textarea || document.activeElement === this._xterm.element); this._terminalFocusContextKey.set(terminalFocused); </ins> } public dispose(): void {
Change:
While testing . VSCode Version: Code - Insiders 1.15.0-insider (, 2017-08-01T05:07:59.267Z) OS Version: Darwin x64 16.7.0 Steps to Reproduce: 3 terminals from the command palette <kbdArrowDown</kbdto the last terminal in the switcher <kbdTab</kbdto rename the terminal -keyboard focus disappears from the input box (and seems to be nowhere). I need a second <kbdTab</kbdto move the keyboard focus to the rename action in the selected row. A single <kbdTab</kbdshould suffice.
This is also an issue with task configuration

Discussion:
alwaysFocused: true, verticalScrollMode: ScrollbarVisibility.Visible, ariaLabel: nls.localize('treeAriaLabel', "Quick Picker"), <del> keyboardSupport: this.options.keyboardSupport </del> <ins> keyboardSupport: this.options.keyboardSupport, preventRootFocus: true </ins> }); this.treeElement = this.tree.getHTMLElement();

this.applyStyles(); <ins> // Allows focus to switch to next/previous entry after tab into an actionbar item DOM.addDisposableListener(this.treeContainer.getHTMLElement(), DOM.EventType.KEY_DOWN, (e: KeyboardEvent) => { const keyboardEvent: StandardKeyboardEvent = new StandardKeyboardEvent(e); if (keyboardEvent.keyCode === KeyCode.DownArrow || keyboardEvent.keyCode === KeyCode.UpArrow || keyboardEvent.keyCode === KeyCode.PageDown || keyboardEvent.keyCode === KeyCode.PageUp) { DOM.EventHelper.stop(e, true); this.navigateInTree(keyboardEvent.keyCode, keyboardEvent.shiftKey); this.inputBox.inputElement.focus(); } }); </ins> return this.builder.getHTMLElement(); }

paddingOnRow?: boolean; ariaLabel?: string; keyboardSupport?: boolean; <ins> preventRootFocus?: boolean; </ins> } export interface ITreeStyles {

this.domNode = document.createElement('div'); this.domNode.className = `monaco-tree no-focused-item monaco-tree-instance-${this.instance}`; <del> this.domNode.tabIndex = 0; </del> <ins> if (!context.options.preventRootFocus) { this.domNode.tabIndex = 0; } </ins> this.styleElement = DOM.createStyleSheet(this.domNode);
Change:
While testing . VSCode Version: Code - Insiders 1.15.0-insider (, 2017-08-01T05:07:59.267Z) OS Version: Darwin x64 16.7.0 Steps to Reproduce: 3 terminals from the command palette <kbdArrowDown</kbdto the last terminal in the switcher <kbdTab</kbdto rename the terminal -keyboard focus disappears from the input box (and seems to be nowhere). I need a second <kbdTab</kbdto move the keyboard focus to the rename action in the selected row. A single <kbdTab</kbdshould suffice.
This is also an issue with task configuration

Discussion:
alwaysFocused: true, verticalScrollMode: ScrollbarVisibility.Visible, ariaLabel: nls.localize('treeAriaLabel', "Quick Picker"), <del> keyboardSupport: this.options.keyboardSupport </del> <ins> keyboardSupport: this.options.keyboardSupport, preventRootFocus: true </ins> }); this.treeElement = this.tree.getHTMLElement();

this.applyStyles(); <ins> // Allows focus to switch to next/previous entry after tab into an actionbar item DOM.addDisposableListener(this.treeContainer.getHTMLElement(), DOM.EventType.KEY_DOWN, (e: KeyboardEvent) => { const keyboardEvent: StandardKeyboardEvent = new StandardKeyboardEvent(e); if (keyboardEvent.keyCode === KeyCode.DownArrow || keyboardEvent.keyCode === KeyCode.UpArrow || keyboardEvent.keyCode === KeyCode.PageDown || keyboardEvent.keyCode === KeyCode.PageUp) { DOM.EventHelper.stop(e, true); this.navigateInTree(keyboardEvent.keyCode, keyboardEvent.shiftKey); this.inputBox.inputElement.focus(); } }); </ins> return this.builder.getHTMLElement(); }

paddingOnRow?: boolean; ariaLabel?: string; keyboardSupport?: boolean; <ins> preventRootFocus?: boolean; </ins> } export interface ITreeStyles {

this.domNode = document.createElement('div'); this.domNode.className = `monaco-tree no-focused-item monaco-tree-instance-${this.instance}`; <del> this.domNode.tabIndex = 0; </del> <ins> // to allow direct tabbing into the tree instead of first focusing the tree this.domNode.tabIndex = context.options.preventRootFocus ? -1 : 0; </ins> this.styleElement = DOM.createStyleSheet(this.domNode);
Change:
While testing . VSCode Version: Code - Insiders 1.15.0-insider (, 2017-08-01T05:07:59.267Z) OS Version: Darwin x64 16.7.0 Steps to Reproduce: a terminal from the command palette <kbdArrowDown</kbdto the terminal in the switcher keyboard focus to rename action using 2 <kbdTab</kbds. See . <kbdEnter</kbdto enter rename mode -text box is empty. This is fine if I want to assign a completely new name, but an issue if I only want to correct a typo for example. The input box should contain the old name and the name should be selected so that I can start typing to replace or use Arrow keys to get to the right place to correct the typo.

Discussion:
return TPromise.as(void 0); } return this.quickOpenService.input({ <ins> value: terminalInstance.title, </ins> prompt: nls.localize('workbench.action.terminal.rename.prompt', "Enter terminal name"), }).then(name => { if (name) {
Change:
Code 1.14.2 Since it does not make sense and Code prevents comparing a file with itself, it would make sense to exclude the current file from the file picklist for comparing files.
Fixed with PR

Discussion:
resource = (input as IResourceInput).resource; } <ins> // Cannot compare file with self - exclude active file if (!!resource && resource.toString() === globalResourceToCompare.toString()) { return void 0; } </ins> if (!resource) { return void 0; // only support to compare with files and untitled }